Bmob的入门 实现增删改查

Bmob的入门增删改查


介绍下Bmob,其实它就是一个快速搭建后台的网站,本人是一个Android开发者,之所以选择它,就是避免繁琐的自己写后台,还要部署到网上,烦死啦啦啦。哈哈 不废话了。(一下基于Android Studio开发)

开发前期工作

什么注册,拿取Application ID就不说啦。

1. 在project的build.gradle文件中的allprojects里面添加Bmob的maven仓库地址

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

**兼容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'
}

3.在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" />

正式主要代码

初始化(虽然官网在Activity中初始化,但是一般建议在继承Application的类里面操作)
//提供以下两种方式进行初始化操作:

        //第一:默认初始化
        Bmob.initialize(this, "Your Application ID");

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

JaveBean继承BmobObject
public class Book extends BmobObject {

    private String id;
    private String name;
    private String desc;        省略getter,setter

添加数据
Book book = new Book("001", "Android开发到精通", "这是一本可以很好帮助开发者入门的书籍");
book.save(new SaveListener<String>() {
    @Override
    public void done(String objectId, BmobException e) {
        if (e == null) {
            tv_show.setText("添加数据成功,返回objectId为:" + objectId);
            temp_objectId = objectId;
        } else {
            tv_show.setText("创建数据失败:" + e.getMessage());
        }
    }
});

查找数据
 BmobQuery bmobQuery = new BmobQuery<>();
    bmobQuery.getObject(temp_objectId, new QueryListener<Book>() {
        @Override
        public void done(Book book, BmobException e) {
            if (e == null) {
                tv_show.setText("查询成功" + book);
            } else {
                tv_show.setText("查询失败:" + e.getMessage());
            }
        }
    });
} else {
    Toast.makeText(MainActivity.this, "请先保存一条数据", Toast.LENGTH_SHORT).show();
}

更新数据
final Book book = new Book();
    book.setName("我是更新只好的名称");
    book.update(temp_objectId, new UpdateListener() {
        @Override
        public void done(BmobException e) {
            if (e == null) {
                tv_show.setText("更新成功 " + book.getUpdatedAt());
            } else {
                tv_show.setText("更新失败 " + e.getMessage());
            }
        }
    });
} else {
    Toast.makeText(MainActivity.this, "请先保存一条数据", Toast.LENGTH_SHORT).show();
}

删除数据
 final Book book = new Book();
    book.setObjectId(temp_objectId);
    book.delete(new UpdateListener() {
        @Override
        public void done(BmobException e) {
            if (e == null) {
                tv_show.setText("数据删除成功 " + book.getUpdatedAt());
            } else {
                tv_show.setText("数据删除失败 " + e.getMessage());
            }
        }
    });
} else {
    Toast.makeText(MainActivity.this, "请先保存一条数据", Toast.LENGTH_SHORT).show();
}

最后就这样实现



哈哈,基本功能就这样实现啦-----------不好勿喷,第一次写博客啦,多多支持,多多指导,谢谢~!

(记住 记住 记住 Application ID 一定要是你自己的)
Demo2 图片文字上传 地址:http://download.csdn.net/detail/sinat_29189345/9689370

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值