有两个和服务器进行数据请求的接口,一个是登录接口(登录采用手机号和密码),一个是获取用户名接口(因为服务器会随机给每一个注册的用户分配一个用户名);
登录接口成功处理:
Message msg = LoginActivity.loginHandler.obtainMessage();
msg.what = LoginActivity.LOGIN_MESSAGE_PROCESS;
msg.obj = str;
LoginActivity.loginHandler.sendMessage(msg);
获取用户名接口成功处理:
Message msg = LoginActivity.userNameHandler.obtainMessage();
msg.what = LoginActivity.USER_NAME;
msg.obj = str;
LoginActivity.userNameHandler.sendMessage(msg);
对应有两个处理的handler,从上代码可以看出,一个为loginHandler,一个为userNameHandler,
loginHandler成功的处理为:
case LOGIN_SUCCESS: {
// 存储登陆信息
Editor editor = sharedPreferences.edit();
editor.putBoolean("isLogin", true);
editor.commit();
//将用户信息存入数据库
DaoConfig daoConfig = CreatDB.getDaoConfig();
DbManager db = x.getDb(daoConfig);
try {
db.delete(UserInfo.class);
try {
initData();
UserInfo userInfo = new UserInfo();
userInfo.setId(1);
userInfo.setUserPhone(userAccount.getText().toString());
userInfo.setUserPassword(userPassword.getText().toString());
db.save(userInfo);
} catch (DbException e1) {
e1.printStackTrace();
}
finish();
userNameHandler成功的处理为:
case USER_NAME:
try {
userName = msg.obj.toString();
Log.e("userName",userName);
sharedPreferences = getSharedPreferences("UserName", MODE_PRIVATE);
// 存储登陆信息
Editor editor = sharedPreferences.edit();
editor.putString("userName", userName);
editor.commit();
} catch (Exception e) {
e.printStackTrace();
}
break;
现在有一个问题,获取成功的用户名无法像用户手机号和密码一样保存到sqlite中?求问有没有什么好的方法?