Android studio—SQlite注销账号(删除账号)
Android studio—SQlite注销账号(删除账号)
文章目录
- Android studio—SQlite注销账号(删除账号)
- 继上篇
- 效果预览
- 用户类
- 完善数据库功能
- 注销账号功能
- 定义控件
- 账号密码确定
- 小弹窗警告
- 总结
继上篇
上两篇篇我们完成了利用SQLite完成用户的注册与登录功能以及修改密码,有兴趣的同学可以回顾一下:
Android studio—SQlite数据库注册登录:https://blog.csdn.net/genijmni/article/details/106626300
Android studio—SQlite修改密码:https://blog.csdn.net/genijmni/article/details/106697445
在完成注册登录后,我们这次开发的功能就是:注销账号(删除账号)
多说无益,直接上效果展示:
效果预览
删除后的账号无法再继续登录,并且所有数据删除。
用户类
用户类不多说,自动补全Get、Set方法
public class User {private String name;private int id;private String password;public User(String name,String password){super();this.name = name;this.password = password;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}@Overridepublic String toString() {return "User{id ="+ id + ", name = "+ name +",password ="+password +"}";}
}
完善数据库功能
上两篇的数据库使用到了增加方法(add)和修改方法(updata),这篇我们完善删除方法(delete)
三个方法一同贴上:
public class SQlite extends SQLiteOpenHelper {private SQLiteDatabase db;public SQlite(Context context){super(context,"db_test",null,2);db = getReadableDatabase();}@Overridepublic void onCreate(SQLiteDatabase db) {db.execSQL("CREATE TABLE IF NOT EXISTS user(" +"_id INTEGER PRIMARY KEY AUTOINCREMENT," +"name TEXT," +"password TEXT)");}@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {db.execSQL("DROP TABLE IF EXISTS user");onCreate(db);}public void add(String name,String password ){db.execSQL("INSERT INTO user(name,password)VALUES(?,?)",new Object[]{name,password});}public void delete(String name,String password ){db.execSQL( "DELETE FROM user WHERE name = ? AND password = ?",new Object[]{name,password});}public void updata(String name,String password){db.execSQL("UPDATE user SET password =? ",new Object[]{password});}public ArrayList<User> getAllDATA(){ArrayList<User> list = new ArrayList<User>();Cursor cursor = db.query("user",null,null,null,null,null,"name DESC");while(cursor.moveToNext()){String name = cursor.getString(cursor.getColumnIndex("name"));String password = cursor.getString(cursor.getColumnIndex("password"));list.add(new User(name,password));}return list;}
}
SQLite的功能基本完成,增加、删除、修改,还剩下一个查看。最后一个功能看情况完善。
注销账号功能
注销账号需要:
1.小弹窗警告提醒,删除后果
2.通过账号密码验证是否是本人行为
首先需要新建一个Acitity.
定义控件
private EditText username;
private EditText userpassword;
private SQlite mSQlite;
private Button ready;
private Button back;
对控件进行绑定:
ready =findViewById(R.id.reday);
back = findViewById(R.id.back);
username= findViewById(R.id.userName);
userpassword=findViewById(R.id.userpassword);
账号密码确定
账号密码确定采用相同的认证方法,对输入的内容对比数据库数据。
删除采用数据库的删除方法:
mSQlite.delete(name,password);
当输入数据与数据库原始数据对应,即可完成注销账号操作:
ready.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {String name = username.getText().toString().trim();String password = userpassword.getText().toString().trim();if (TextUtils.isEmpty(name)||TextUtils.isEmpty(password)){Toast.makeText(deleteActivity.this,"选项不能为空",Toast.LENGTH_SHORT).show();return;}ArrayList<User> data = mSQlite.getAllDATA();boolean userdata = false;for (int i = 0; i < data.size(); i++) {User user = data.get(i); //可存储账号数量if (name.equals(user.getName()) && password.equals(user.getPassword())) {userdata = true;break;} else {userdata = false;}}if (userdata){mSQlite.delete(name,password);Toast.makeText(deleteActivity.this,"注销成功",Toast.LENGTH_SHORT).show();Intent intent1 = new Intent(deleteActivity.this,MainActivity.class);startActivity(intent1);finish();}}
});
mSQlite = new SQlite(deleteActivity.this);
用户注销的功能到此就大致完成了,如果你需要继续优化,就往下看。
删除一个东西前,系统对我们进行提醒。这里我就使用最常见的小弹窗警告方法。
小弹窗警告
先预览一下弹窗效果
首先我们需要一个空闲的XML布局文件,方便我们使用。
在这个XML文件中,我们不需要进行布局。
并且在注销账户的按钮上添加一个属性:
android:onClick="delete"
方便我们点击触发事件。
在需要弹出的页面,调用这个XML布局。
final View view1 = getLayoutInflater().inflate(R.layout.activity_delete,null);
主题功能代码写在主类之中,写在onCreate方法之外:
public void delete(View view){AlertDialog.Builder builder = new AlertDialog.Builder(this);builder.setTitle("是否确定注销账号");builder.setMessage("注销账号会使你所有资料清楚,确认是否注销账号");final View view1 = getLayoutInflater().inflate(R.layout.activity_delete,null);builder.setView(view1);builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialogInterface, int which) {Intent intent1 = new Intent(Main2.this,deleteActivity.class);startActivity(intent1);finish();}});builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialogInterface, int which) {}});builder.show();
}
这里需要注意的是:“确定”和“取消”采用的是两个不同的Button属性控件
builder.setPositiveButton("确定", new DialogInterface.OnClickListener()builder.setNegativeButton("取消", new DialogInterface.OnClickListener()
一个采用的是setPositiveButton,另一个是setNegativeButton,自动生成时需要观察清楚。
若都使用同一个属性,在弹窗时会只有一个按钮。
总结
通过对数据库的验证,以及对数据库功能的完善,能够完成对用户的账户注销。
并且通过小弹窗的方式进行提醒注销后果。
我们下篇讲讲完善登录注册功能,增加了一些新技巧功能
Android studio—SQlite注销账号(删除账号)相关推荐
- Android studio—SQlite数据库注册登录
Android studio-SQlite数据库注册登录 文章目录 Android studio-SQlite数据库注册登录 创建用户类 创建数据库 注册写入数据库 登录读取数据库 效果展示 布局文件 ...
- Android Studio SQLite数据库应用(一)
Android Studio SQLite数据库应用(一) 版本:Android Studio 1.5.1 创建数据库 升级数据库 CRUD数据操作 SQLite (英语发音:/ˌɛskjuːɛlˈl ...
- Android Studio SQLite 数据库 增删改查 简单
源码 效果展示 所有操作都在这个界面完成,操作完直接显示 设计 一个class用来创建数据库,建表,一个activity用来执行增删改查操作 代码 DatebaseHlper impo ...
- android studio inspect code,Android Studio使用inspect code删除 unused import
项目经常需要从别的项目复制一些文件过来,但是经常出现大片的导包unused import,但是我用自动导包并没有效果,必须把这些错误的导包手动删除才可以导入正确的包,虽然文件不多,手动删除是可以完成的 ...
- android studio svn清除,Android Studio SVN 无法提交删除
推荐文章 Search很重要 好多时候我们记忆都是凭关键字记忆的,所以搜索也是凭关键字搜索,在实际的搜索中经常需要根据关键字构造正则表达式 Logcat很重要 Android studio动不动一下子 ...
- android studio登录注销,Android Studio开发基础之动态注册与注销BroadcastReceiver
1.New→Other→BroadcastReceiver package com.example.lhb.startservice; import android.content.Broadcast ...
- android studio sqlite操作代码片段
SQLiteDatabase db;Cursor cur; SimpleCursorAdapter adapter; // 打开或创建数据库db = openOrCreateDatabase(DB_N ...
- Android studio—密码规范与密码小眼睛
Android studio-密码规范与密码小眼睛 文章目录 Android studio-密码规范与密码小眼睛 回顾博客 具体功能完善 效果预览 规范密码 密码小眼睛 密码可见和不可见 本文主要对博 ...
- Android Studio 编译时报文件不能删除,编译失败
在使用android studio 进行android 开发学习的时候,报android studio 无法删除app\build\outputs模块下部分文件,导致编译失败. 出现这种情况后,自己进 ...
最新文章
- python小游戏系列井字棋,儿时的回忆
- threshold函数
- 第一次用51的博客,记录一下笔记
- 我的小作品(烂笔头)
- scrum in agile development
- Python开发Day07(学生选课)
- 计算机错误 引用无效名称,有关无效的引用的疑难解答
- C语言:斐波那契数列
- BDTC 2017 | 聚焦AI,十位资深专家分享金融大数据最佳实践
- HDU-4826 Labyrinth(DP)
- win7开机显示计算机无法启动,win7无法开机怎么办?解决开机报错代码C0000034的方法...
- js:nodejs简单的Http服务器搭建
- python通过接口判断公共节假日
- 信息安全体系建设☞数据完整性检查--信息安全开源工具分享
- 第五届中国网络安全大会(NSC2017)
- 【3D视觉原理】2-3D传感器原理
- Mean Average Precision(MAP):平均精度均值
- jdk的环境变量,javac不是内部命令,也不是可运行的程序”的解决
- 如何修改网上下载word简历模板的照片
- linux 跳过overwrite确认