文章目录
一、登录注册功能的实现
1. 实现注册功能
对输入的信息进行验证,其中包括各项信息不能为空、密码和确认密码是否相同。然后通过litepal提交保存到数据库中。
//点击注册按钮时进行信息验证
public void register2(View v) {
//获取输入框中的注册信息
String name = et_name.getText().toString().trim();
String pwd = et_pwd.getText().toString();
String pwd2 = et_pwd2.getText().toString();
String phone = et_phone.getText().toString();
String date = et_date.getText().toString();
String sex = null;
if (rb_man.isChecked() == true) {
sex = "男";
} else if (rb_woman.isChecked()==true){
sex = "女";
}
//判断注册信息是否为空
if (name != null && pwd != null && phone != null && date != null && sex != null) {
//判断密码和确认密码是否相同
if (!pwd.equals(pwd2)){
showMsg("两次输入密码不相同");
}else {
//使用litepal将注册信息存储进数据库
User user=new User(name,pwd,phone,date,sex);
Log.i(TAG, "register2: "+user.toString());
if (user.save()) {
showMsg("注册成功");
Log.i(TAG, "register2: "+user.toString());
startActivity(new Intent(this, LoginActivity.class));
}else {
showMsg("注册失败");
}
}
}else{
showMsg("注册失败,有内容不合法");
}
}
2. 实现登录功能
取出data.xml中用户注册的用户名和密码,与登录界面输入的用户名和密码进行比对,若相同则登录成功。弹出是否保存账号和密码的对话框,选择"保存"则使用SharedPreferences存储登录用户名和密码到"data1.xml"中,方便下次一键登录。若"data1.xml"中已存在该用户名和密码,则不会弹出对话框。
/*点击登录按钮*/
public void login(View v){
inName=et_name.getText().toString();//输入框中的用户名
inPwd=et_pwd.getText().toString();//输入框中的密码
//根据输入的用户名查询数据库中的注册信息
List<User> userList=DataSupport.where("name=?",inName).find(User.class);
for (User user:userList) {
findName = user.getName(); //数据库中的用户名
findPwd = user.getPassword(); //数据库中的密码
userId=user.getId(); //用户id
}
sp1=getSharedPreferences("data1",MODE_PRIVATE);//data1:登录信息
findName1=sp1.getString("name",null);