Bmob的使用

作者: wxyass 分类: Android 发布时间: 2018-09-12 16:53

Bmob的使用

1 注册Bmob账号 https://www.bmob.cn/
2 在Bmob中新创建应用 https://www.bmob.cn/app/list
3 在Android studio中新建工程,集成Bmob的SDK 接入文档
4 添加应用所需要的权限,并在MainActivity中完成初始化
5 新建javabean,需要继承BmobObject类
6 实例化bean对象,调用save()方法上传到Bmob后台
7 查询所有记录,new BmobQuery().findObjects(this,listen);
8 根据条件,查询记录. query.addWhereEqualTo(“name”,str);
9 消息推送的初始化,并启动 (2句话)
10 配置权限,注册service
11 处理推送信息
12 NotificationManager

代码下载

添加依赖使用

1 在工程的build.gradle中添加远程仓库地址

maven { url "https://raw.github.com/bmob/bmob-android-sdk/master" }

2 在gradle中添加依赖,将冲突的jar包给exclude掉

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    testCompile 'junit:junit:4.12'
    androidTestCompile('com.android.support.test.espresso:espresso-core:3.0.1', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })

    //Android Support包
    compile "com.android.support:appcompat-v7:$rootProject.v4Version"
    compile "com.android.support:design:$rootProject.v4Version"
    compile "com.android.support:cardview-v7:$rootProject.v4Version"
    compile "com.android.support:recyclerview-v7:$rootProject.v4Version"
    compile "com.android.support:support-v4:$rootProject.v4Version"
    compile "com.android.support:support-v13:$rootProject.v4Version"
    compile 'com.android.support:multidex:1.0.1'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'

    // 数据库  http://ormlite.com
    compile 'com.j256.ormlite:ormlite-android:5.0'
    compile 'com.j256.ormlite:ormlite-core:5.0'

    // Fragmentation  https://github.com/YoKeyword/Fragmentation
    compile 'me.yokeyword:fragmentation:1.3.6'
    compile 'me.yokeyword:fragmentation-swipeback:1.3.6'
    compile 'me.yokeyword:eventbus-activity-scope:1.1.0'
    compile 'org.greenrobot:eventbus:3.0.0'

    // loader依赖
    compile 'com.wang.avi:library:2.1.3'

    // JSON解析依赖 Android版
    compile 'com.alibaba:fastjson:1.1.57.android'

    // 拼音处理
    compile 'com.github.SilenceDut:jpinyin:v1.0'

    // java类补充库(适配6.0)
    implementation files('libs/commons-lang-2.6.jar')
    implementation files('libs/org.apache.http.legacy.jar')
    implementation files('libs/sun.misc.BASE64Decoder.jar')

    // 日志
    compile 'com.orhanobut:logger:2.1.1'

    // Bmob后台云
    compile('cn.bmob.android:bmob-sdk:3.6.3')

    // -----↓ 若不使用Bmob后台云,需要将exclude group及中小括号去掉,并将下面所有//打开 ↓--------------
    //网络请求依赖
    compile('com.squareup.okhttp3:okhttp:3.8.0') { exclude group: 'com.squareup.okio' }
    compile('com.squareup.retrofit2:converter-scalars:2.3.0') {
        exclude group: 'com.squareup.okhttp3'
    }
    compile('com.squareup.retrofit2:retrofit:2.3.0') { exclude group: 'com.squareup.okhttp3' }
    //compile 'com.squareup.okio:okio:1.13.0'

    // 字体图标
    compile('com.joanzapata.iconify:android-iconify-fontawesome:2.2.2') {
        exclude group: 'com.android.support'
    }
    compile('com.joanzapata.iconify:android-iconify-ionicons:2.2.2') {
        exclude group: 'com.android.support'
    }

    //图片处理
    compile 'com.github.bumptech.glide:okhttp3-integration:4.0.0-RC0@aar'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.0.0-RC0'
    compile('com.github.bumptech.glide:glide:4.0.0-RC0') { exclude group: 'com.android.support' }
    // -----↑ 若不使用Bmob后台云,需要将exclude group及中小括号去掉,并将下面所有//打开 ↑--------------
}

3 注册权限

<!--允许联网 -->
<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" />

4 在MainActivity中测试,先初始化再使用

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Toast;

import com.libvideo.domain.Person;

import cn.bmob.v3.Bmob;
import cn.bmob.v3.exception.BmobException;
import cn.bmob.v3.listener.SaveListener;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // 默认初始化
        Bmob.initialize(this, "4c1af865be4b31c8e2bae4e8f1f2b78c");
        addData();
        // getoneData();
        // updata();
        //deleteData();
    }

    // 添加数据
    private void addData() {
        Person p2 = new Person();
        p2.setName("lucky");
        p2.setAddress("北京海淀");
        p2.save(new SaveListener<String>() {
            @Override
            public void done(String objectId,BmobException e) {
                if(e==null){
                    Toast.makeText(MainActivity.this,"添加数据成功,返回objectId为:"+objectId,Toast.LENGTH_SHORT).show();
                }else{
                    Toast.makeText(MainActivity.this,"创建数据失败:" + e.getMessage(),Toast.LENGTH_SHORT).show();
                }
            }
        });
    }
}

遇到的坑
https://blog.csdn.net/z2wenfa/article/details/52794787
https://blog.csdn.net/cx1229/article/details/52779722
https://blog.csdn.net/qq_30983519/article/details/77963686

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注