Bmob后端云初体验

首先直接到官网注册注册之后我这里已经注册了不再啰嗦!下面是我创建的应用

这里写图片描述

因为我讲的是as集成方案

首先下载sdk点击下载

[初体验入门]

( http://docs.bmob.cn/data/Android/a_faststart/doc/index.html)
SDK导入
AndroidStudio配置
鉴于目前Google官方推荐使用 Android Studio 进行Android项目开发,自 V3.4.2 开始,Bmob Android SDK 可以使用Gradle来进行包依赖管理,如果你使用Android Studio来进行基于BmobSDK的项目开发,有两种方式:

自动导入(推荐)

请按照如下两个步骤进行:

在 Project 的 build.gradle 文件中添加 Bmob的maven仓库地址,示例如下:(注意文字说明部分):

buildscript {

 repositories {
     jcenter()
 }
 dependencies {
     classpath 'com.android.tools.build:gradle:1.2.3'
 }
}

allprojects {

 repositories {
     jcenter()
     //Bmob的maven仓库地址--必填
     maven { url "https://raw.github.com/bmob/bmob-android-sdk/master" }
 }
}

在app的build.gradle文件中添加compile依赖文件,示例如下:(注意文字说明部分):

apply plugin: 'com.android.application'

android {

compileSdkVersion 22
buildToolsVersion '22.0.1'

兼容Android6.0系统所需,如果这句话报错,可在dependencies标签下使用compile ‘cn.bmob.android:http-legacy:1.0’

useLibrary 'org.apache.http.legacy'

...
}
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])

    //以下SDK开发者请根据需要自行选择
    //bmob-sdk:Bmob的android sdk包,包含了Bmob的数据存储、文件等服务,以下是最新的bmob-sdk:
    //3.5.0:请务必查看下面注释[1]
    compile 'cn.bmob.android:bmob-sdk:3.5.0'

    //bmob-push:Bmob的推送包
    compile 'cn.bmob.android:bmob-push:0.8'

    //bmob-im:Bmob的即时通讯包,注意每个版本的im依赖特定版本的bmob-sdk,具体的依赖关系可查看下面注释[2]
    compile 'cn.bmob.android:bmob-im:2.0.5@aar'
    compile 'cn.bmob.android:bmob-sdk:3.4.7-aar'

    //bmob-sms :Bmob单独为短信服务提供的包
    compile 'cn.bmob.android:bmob-sms:1.0.1'

    //如果你想应用能够兼容Android6.0,请添加此依赖(org.apache.http.legacy.jar)
    compile 'cn.bmob.android:http-legacy:1.0'
}

注:

[1]、为了降低开发者的使用成本,自v3.4.7开始,同步提供aar格式的文件,此aar包含libbmob.so、依赖jar包(okhttp、okio、rx、gson等)及自动更新组件所需要的资源文件。开发者再也不需要配置libbmob.so,不需要添加依赖jar,也不需要复制自动更新组件的资源文件啦,只需要添加以下依赖即可。

compile ‘cn.bmob.android:bmob-sdk:3.5.0’
注:由于PermissionManager权限管理类需要依赖support-v4:23.2.1的jar包,导致开发者认为SDK依赖文件较多,故分离出SDK。开发者如果需要兼容Android6.0系统,可以在下载的SDK的官方Demo的com.example.bmobexample.permission包下面查看该类源码。

[2]、每个版本的im依赖特定版本的bmob-sdk:

bmob-im:1.1.8--->bmob-sdk:3.3.5
bmob-im:1.1.9--->bmob-sdk:3.4.3
bmob-im:2.0.1--->bmob-sdk:3.4.6-0304
bmob-im:2.0.2--->bmob-sdk:3.4.6-0304
bmob-im:2.0.3--->bmob-sdk:3.4.6
bmob-im:2.0.4--->bmob-sdk:3.4.6
bmob-im:2.0.5--->bmob-sdk:3.4.7-aar

其中

bmob-sdk:3.4.6-0304是Bmob Android SDK的过渡版本,主要用于NewIM_v2.0.1及v2.0.2
bmob-sdk:3.4.6的相关依赖包可见注释[3]
[3]、bmob-sdk:3.4.6依赖以下包:

compile ‘cn.bmob.android:bmob-sdk:3.4.6’
compile ‘com.squareup.okhttp:okhttp:2.4.0’//CDN文件服务使用okhttp相关包进行文件的上传和下载(必填)
compile ‘com.squareup.okio:okio:1.4.0’
如果需要兼容Android6.0系统,请添加以下两项:

compile ‘com.android.support:support-v4:23.2.1’
compile ‘cn.bmob.android:http-legacy:1.0’
[4]、bmob-sms适用于只需要使用Bmob短信功能的开发者,而bmob-sdk内部包含了bmob-sms的短信功能,请不要重复添加。

[5]、BmobSDK的官方仓库:bmob-android-sdk,开发者可到此仓库查看最新发布的各版本SDK,我们会尽量与官网发布的SDK保持同步更新。

手动导入

需要注意

1、若配置不成功,则需要额外增加以下步骤:

右键工程根目录,选择Properties -> Java Build Path -> Libraries,然后点击Add External JARs… 选择指向该libs文件夹下的jar的路径,点击OK即可

2、BmobSDK_v3.5.0需要依赖rxjava(1.1.6)、rxandroid(1.2.0)、gson(2.6.2)、okhttp3(3.3.1)、okio(1.7.0)及libbmob.so库;

3、BmobSDK_v3.4.7需要依赖okhttp3(3.2.0)、okio(1.7.0)及libbmob.so库;

4、BmobSDK_v3.4.6需要依赖okhttp(2.4.0)、okio(1.4.0),如果需要兼容Android6.0系统,则还需要添加support-v4(23.2.1)及org.apache.http.legacy依赖包。

配置AndroidManifest.xml

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

初始化BmobSDK

 Bmob.initialize(this, "1a40b7dcd65020e0a3b585902aa7519e");
        Log.e(TAG, "onCreate: ");
       setContentView(R.layout.activity_main);

//        //第二:自v3.4.7版本开始,设置BmobConfig,允许设置请求超时时间、文件分片上传时每片的大小、文件的过期时间(单位为秒),
//        BmobConfig config = new BmobConfig.Builder(this)
//                //设置appkey
//                .setApplicationId("1a40b7dcd65020e0a3b585902aa7519e")
//                //请求超时时间(单位为秒):默认15s
//                .setConnectTimeout(30)
//                //文件分片上传时每片的大小(单位字节),默认512*1024
//                .setUploadBlockSize(1024 * 1024)
//                //文件的过期时间(单位为秒):默认1800s
//                .setFileExpiration(2500)
//                .build();
//        Bmob.initialize(config);

添加一行数据

首先创建一个JavaBean然后继承BmobObject类我这里直接用GsonFormat插件生成如图所示点击ok完成javabean创建 ![这里写图片描述](https://img-blog.csdn.net/20170111144058023?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMTU5NTAzMjU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
package zm.jc.com.bmobsys.bean;

import cn.bmob.v3.BmobObject;

/**
 * Created by John on 2017/1/11.
 */

public class Person extends BmobObject {

    /**
     * name : addd
     * address : 湖南永州
     */

    private String name;
    private String address;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }



}

下面添加一行数据

public void addRow(){

 Person person = new Person();
        person.setName("liunnsd");
        person.setAddress("湖南衡阳");
        person.save(new SaveListener<String>() {
            @Override
            public void done(String s, BmobException e) {
                if (e == null) {
                    Toast.makeText(MainActivity.this, "数据添加成功", Toast.LENGTH_LONG).show();
                } else {
                    Toast.makeText(MainActivity.this, "数据添加失败", Toast.LENGTH_LONG).show();

                }

            }
        });
        }

直接看效果图

这里写图片描述

再看后台数据库添加成功

这里写图片描述

下面添修改一行数据

 public void updateRow(){
        Person person2=new Person();
        person2.setName("北京朝阳");
        person2.update("58ce219f39", new UpdateListener() {
            @Override
            public void done(BmobException e) {
                if(e==null){
                    Toast.makeText(MainActivity.this,"数据修改成功",Toast.LENGTH_LONG).show();
                }else{
                    Toast.makeText(MainActivity.this,"数据修改失败",Toast.LENGTH_LONG).show();
                }
            }
        });

效果如下图所示

这里写图片描述
修改成功

这里写图片描述

下面删除一行数据

public void deleteRow(){
        Person person=new Person();
        person.setObjectId("58ce219f39");
        person.delete(new UpdateListener() {
            @Override
            public void done(BmobException e) {
                if(e==null){
                    Toast.makeText(MainActivity.this,"数据删除成功",Toast.LENGTH_LONG).show();
                }else{
                    Toast.makeText(MainActivity.this,"数据删除失败",Toast.LENGTH_LONG).show();
                }
            }
        });
    }

删除数据库成功如下图所示是不是很soeasy呢?
这里写图片描述

没有58ce219f39这条记录证明删除成功

这里写图片描述

下面查询一条记录数据

 public void getRow(){
       BmobQuery<Person> bmobQuery=new BmobQuery<Person>();
        bmobQuery.getObject("088b83b77c", new QueryListener<Person>() {
            @Override
            public void done(Person person, BmobException e) {
                if(e==null){
                   Toast.makeText(MainActivity.this,"查询数据成功"+person.getName(),Toast.LENGTH_LONG).show();
                }else{
                    Toast.makeText(MainActivity.this,"查询数据失败",Toast.LENGTH_LONG).show();
                }

            }
        });
    }

这里写图片描述

查询数据成功如下图

这里写图片描述

到这里增删改查基本完成了!所以 Bmob作为后端云还是挺方便的,就跟平时用的mysql sqlserver一样可以设置主键 是否唯一标识列 增加列删除列 修改等等这里详细自己看文档特别详细!我这里只是一个简单的入门教程!
支持的数据类型补充一下

基本的数据类型和函数

数据类型
目前为止,Bmob支持的数据类型:String、Integer、Float、Short、Byte、Double、Character、Boolean、Object、Array。

这里写图片描述
转载请注明出处!http://blog.csdn.net/qq_15950325/article/details/54287832谢谢合作!另外可以加下我的Android群!疯狂Android进阶之旅大家一起开车哈!疯狂Android进阶之旅

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值