来源:http://www.bmob.cn/site/a/docs
注册
你的应用程序会做的第一件事可能是要求用户注册。下面的代码是一个典型的注册过程:
BmobUser user = new BmobUser();
user.setUsername("张三");
user.setPassword("12345678");
user.setEmail("email@example.com");
// 其他属性可以像其他BmobObject对象一样使用put方法添加
user.put("phone", "650-253-0000");
user.signUpInBackground(new SignUpCallback() {
public void done(BmobException e) {
if (e == null) {
// 注册成功
} else {
// 注册失败
}
}
});
在注册过程中,服务器会进行注册用户信息的检查,以确保注册的用户名和电子邮件地址是独一无二的。此外,对于用户的密码,你可以在应用程序中进行相应的加密处理后提交。
请注意,我们使用的是singnUpInBackground方法,而不是saveInBackground方法。另外还有各种不同的signUp方法。像往常一样,我们建议在可能的情况下尽量使用异步版本的signUp方法,这样就不会影响到应用程序主UI线程的响应。你可以阅读API中更多的有关这些具体方法的使用。
如果注册不成功,你可以查看返回的错误对象。最有可能的情况是,用户名或电子邮件已经被另一个用户注册。这种情况您可以提示用户,要求他们尝试使用不同的用户名进行注册。
你也可以要求用户使用Email做为用户名注册,这样做的好处是,你在提交信息的时候可以将输入的“用户名“默认设置为用户的Email地址,以后在用户忘记密码的情况下可以使用Bmob提供重置密码功能。
登录
当用户注册成功后,您需要让他们以后能够登录到他们的账户后使用应用。要做到这样一点,你可以使用BmobUser类的loginInBackground方法。
BmobUser.logInInBackground("用户名", "密码", new LogInCallback() {
public void done(BmobUser user, BmobException e) {
if (user != null) {
// 登录成功
} else {
// 登录失败
}
}
});
当前用户
如果用户在每次打开你的应用程序时都要登录,这将会直接影响到你应用的用户体验。为了避免这种情况,你可以使用缓存的CurrentUser对象。
每当你注册成功或是第一次登录成功,都会在本地磁盘中又一个缓存的用户对象,你可以这样来获取这个缓存的用户对象来进行登录:
BmobUser currentUser = BmobUser.getCurrentUser();
if (currentUser != null) {
// 允许用户使用应用
} else {
//缓存用户对象为空时, 可打开用户注册界面…
}
当然,你也可以使用如下方法清除缓存用户对象:
BmobUser.logOut(); //清除缓存用户对象
BmobUser currentUser = BmobUser.getCurrentUser(); // 现在的currentUser是null了