WHCSRL 技术网

Android Bmob的注册与登录案例

步骤一:导包:

  1. dependencies {
  2. ......
  3. //bmob依赖//
  4. implementation 'io.github.bmob:android-sdk:3.8.10'
  5. implementation 'io.reactivex.rxjava2:rxjava:2.2.8'
  6. implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
  7. implementation 'com.squareup.okhttp3:okhttp:4.8.1'
  8. implementation 'com.squareup.okio:okio:2.2.2'
  9. implementation 'com.google.code.gson:gson:2.8.5'
  10. /
  11. }

步骤二:配置manifest:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  3. package="com.example.myapppro">
  4. <!-- 允许联网 -->
  5. <uses-permission android:name="android.permission.INTERNET" /> <!-- 获取GSM(2g)、WCDMA(联通3g)等网络状态的信息 -->
  6. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- 获取wifi网络状态的信息 -->
  7. <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!-- 保持CPU 运转,屏幕和键盘灯有可能是关闭的,用于文件上传和下载 -->
  8. <uses-permission android:name="android.permission.WAKE_LOCK" /> <!-- 获取sd卡写的权限,用于文件上传和下载 -->
  9. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- 允许读取手机状态 用于创建BmobInstallation -->
  10. <uses-permission android:name="android.permission.READ_PHONE_STATE" />
  11. <application
  12. ......
  13. <!-- 导入引用 -->
  14. <provider
  15. android:name="cn.bmob.v3.util.BmobContentProvider"
  16. android:authorities="你的包名.BmobContentProvider" />
  17. </application>
  18. </manifest>

步骤三:在你第一个页面初始化:

  1. @Override
  2. protected void onCreate(Bundle savedInstanceState) {
  3. super.onCreate(savedInstanceState);
  4. setContentView(R.layout.activity_welcome);
  5. //第一:默认初始化
  6. Bmob.initialize(this, "你的appID");
  7. }

这个位置可以查看ID。

步骤四:判断是否登录:

判断之前先创建一个User.class类有于实例化用户对象:如下:

  1. public class User extends BmobUser {
  2. }

判断是否登录如下:

  1. BmobUser bmobUser=BmobUser.getCurrentUser(User.class);
  2. if (bmobUser!=null) {
  3. startActivity(new Intent(WelcomeActivity.this,MainActivity.class));
  4. } else {
  5. startActivity(new Intent(WelcomeActivity.this,LoginAndRegisterActivity.class));
  6. }
  7. finish();

 判断后跳转到对应页面。

 步骤五:注册功能:

  1. /**
  2. * 账号密码注册
  3. */
  4. private void signUp() {
  5. User user = new User();
  6. user.setUsername(你的输入框文字);
  7. user.setPassword(你的输入框文字);
  8. user.signUp(new SaveListener<User>() {
  9. @Override
  10. public void done(User user, BmobException e) {
  11. if (e == null) {
  12. Toast.makeText(RegisterActivity.this, "注册成功", Toast.LENGTH_SHORT).show();
  13. startActivity(new Intent(RegisterActivity.this, MainActivity.class));
  14. finish();
  15. } else {
  16. Toast.makeText(RegisterActivity.this, "注册失败", Toast.LENGTH_SHORT).show();
  17. }
  18. }
  19. });
  20. }

步骤六:登录功能:

  1. /**
  2. * 账号密码登录
  3. */
  4. private void login() {
  5. User user = new User();
  6. //此处替换为你的用户名
  7. user.setUsername(你输入框的内容);
  8. //此处替换为你的密码
  9. user.setPassword(你输入框的内容);
  10. user.login(new SaveListener<User>() {
  11. @Override
  12. public void done(User bmobUser, BmobException e) {
  13. if (e == null) {
  14. Toast.makeText(LoginActivity.this, "登录成功", Toast.LENGTH_SHORT).show();
  15. startActivity(new Intent(LoginActivity.this, MainActivity.class));
  16. finish();
  17. } else {
  18. Toast.makeText(LoginActivity.this, "登录失败", Toast.LENGTH_SHORT).show();
  19. }
  20. }
  21. });
  22. }

 以上为该功能小结,如有疑问可留言。

 

推荐阅读