Bmob的入门 实现增删改查

来源:互联网 发布:软件评测公司 编辑:程序博客网 时间:2024/05/10 19:56

Bmob的入门增删改查

bmob官网:http://www.bmob.cn/   开发文档链接:http://docs.bmob.cn/data/Android/a_faststart/doc/index.html

介绍下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 一定要是你自己的)
Demo1 增删改查 地址:http://download.csdn.net/detail/sinat_29189345/9689342
Demo2 图片文字上传 地址:http://download.csdn.net/detail/sinat_29189345/9689370

0 0