Bmob的SDK更新后所有回调函数的onSuccess、onFailure方法统一调整为done(T t,BmobException e)形式;当e的值等于null时相当于传入失败。使得网上查的onSuccess和onFailure的方法需要改进,然后在做后台时,发现自己写的类继承extends BmobUser类时,调用signUp方法时,后台程序一直出错,后来误以为是版本问题,查不到资料,后来改换旧版本的Bmob的SDK,发现问题仍然是未能解决,结果,打算采用一个比较笨的方法,将用户信息的class extends BmobObject 把用户的信息另外存在一张表里,此时这样做已经无法调用的sign方法,所以自己只能重写登录的方法
if(et_userpassword.getText().toString().equals("")||username.getText().toString().equals("")){
Toast.makeText(MainActivity.this, "用户名密码不能为空", Toast.LENGTH_LONG).show();
return;
}
Student student = new Student();
student.setName(username.getText().toString());
BmobQuery<Student> query=new BmobQuery<Student>();
query.addWhereEqualTo("name", username.getText().toString());
query.findObjects(new FindListener<Student>() {
@Override
public void done(List<Student> students, BmobException e) {
// TODO Auto-generated method stub
if(e==null){
for(Student student:students){
if(et_userpassword.getText().toString().equals(student.getPassword())){
Toast.makeText(MainActivity.this, "登录成功", Toast.LENGTH_LONG).show();
Intent intent = new Intent(MainActivity.this,com.residemenu.main.MainActivity.class);
startActivity(intent);
return;
}else{
Toast.makeText(MainActivity.this, "密码输入错误", Toast.LENGTH_LONG).show();
return;
}
}Toast.makeText(MainActivity.this, "用户名未注册", Toast.LENGTH_LONG).show();
}else{
Toast.makeText(MainActivity.this, "登录失败", Toast.LENGTH_LONG).show();
}
}
});
}
这样干虽然方法不是很好,但是程序不会报错,可是,后续有啥问题,再尝试着解决