Android实战——第三方服务之Bmob后端云的集成、用户登陆、用户注册、获取用户、用户注销(一)

第三方服务之Bmob后端云的集成、用户登陆、用户注册、获取用户、用户注销(一)


Bmob简介:



步骤一:Bmob集成

www.bmob.cn注册一个用户,在网站后台创建一个应用,进去管理页面之后在设置中获取Application ID


在你的Android Studio项目中的Project的build.gradle中添加Bmob的maven仓库:

allprojects {
    repositories {
        jcenter()
        //Bmob的maven仓库地址,必须填写
        maven { url "https://raw.github.com/bmob/bmob-android-sdk/master" }
    }
}
接着在app的build.gradle中添加 compile 依赖文件:

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    //**bmob-sdk:3.4.6版本依赖包,用于兼容Android6.0系统**
    useLibrary 'org.apache.http.legacy'
dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.3.0'
    //3.4.6依赖
    compile 'cn.bmob.android:bmob-sdk:3.4.6'
    compile 'com.squareup.okhttp:okhttp:2.4.0'
    //自`V3.4.3版本`开始,使用`okhttp`优化SDK的网络框架
    compile 'com.squareup.okio:okio:1.4.0'
    compile 'com.android.support:support-v4:23.2.1'
在manifests文件中 配置权限

<!--允许联网 --> 
<uses-permission android:name="android.permission.INTERNET" /> 
<!--获取GSM(2g)、WCDMA(联通3g)等网络状态的信息  --> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<!--获取wifi网络状态的信息 --> 
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
<!--保持CPU 运转,屏幕和键盘灯有可能是关闭的,用于文件上传和下载 -->
<uses-permission android:name="android.permission.WAKE_LOCK" /> 
<!--获取sd卡写的权限,用于文件上传和下载-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!--允许读取手机状态 用于创建BmobInstallation--> 
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
在Activity的onCreate方法中 初始化 BmobSDK:

//初始化Bmob
Bmob.initialize(this, "Your Bmob Application ID");

步骤二:用户登录请求

首先得创建javaBean,继承BmobUser:(属于Bmob用户的扩展类)

public class User extends BmobUser {

    private String nickname;

    public String getNickname() {
        return nickname;
    }

    public void setNickname(String nickname) {
        this.nickname = nickname;
    }

}

代码中登陆请求:

    /**
     * 请求登陆
     */
    public static void login(final Activity activity, String username, String password) {
        DialogUtils.showLoadingDialog(activity, "正在登陆中", true);
        User u = new User();
        u.setUsername(username);
        u.setPassword(password);
        u.login(activity, new SaveListener() {
            @Override
            public void onSuccess() {
                //跳转主页面
                Intent intent = new Intent(activity, MainActivity.class);
                activity.startActivity(intent);
                activity.finish();
            }

            @Override
            public void onFailure(int code, String msg) {
                if (code == 9016) {
                    DialogUtils.successLoadingDialog("请连接网络");
                } else {
                    DialogUtils.errorLoadingDialog("用户名或密码错误");
                }
            }
        });
    }

步骤三:用户注册请求(请求成功后会自动在后台创建一个_User表

    /**
     * 注册用户
     */
    public static void register(final Activity activity, String username, String password) {
        DialogUtils.showLoadingDialog(activity, "正在注册", true);
        BmobUser u = new BmobUser();
        u.setUsername(username);
        u.setPassword(password);
        u.signUp(activity, new SaveListener() {
            @Override
            public void onSuccess() {
                //注册成功
                DialogUtils.successLoadingDialog("注册成功");
                Intent intent = new Intent(activity, MainActivity.class);
                activity.startActivity(intent);
                activity.finish();
            }

            @Override
            public void onFailure(int code, String msg) {
                if (code == 9016) {
                    DialogUtils.errorLoadingDialog("请连接网络");
                } else if (code == 202) {
                    DialogUtils.errorLoadingDialog("用户名已存在");
                } else {
                    DialogUtils.errorLoadingDialog("注册失败");
                }
            }
        });
    }


步骤四:获取当前用户信息

    /**
     * 获取当前用户
     */
    public static User getUser(Context context) {
        user = BmobUser.getCurrentUser(context, User.class);
        return user;
    }


步骤五:用户注销请求

    /**
     * 退出当前用户
     */
    public static void loginOut(Context context) {
        BmobUser.logOut(context);
    }








你可能感兴趣的:(android,android,Studio,bmob)