前言

bmob是一个后端云服务平台,通过它,Bmob可以为你提供实时数据与文件存储功能,轻松实现应用“云与端”的数据连通。数据存储除了常规应用文本信息的存储,还可以存储图片、视频、音频、地理位置等信息。除了这些,还可以做消息推送,短信验证,支付(可以自己集成,不需要企业账号),即时通讯等功能。如果我们不会服务器相关技术,我们可以直接使用bmob,再也不用担心后端的问题。地址bmob

通过简单的学习,总结下里面的数据存储功能和消息推送功能吧。

数据服务

1 . 在 Project 的 build.gradle 文件中添加 Bmob的maven仓库地址

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

2 .由于我使用的是AS, 直接添加相关依赖就可以了

compile 'cn.bmob.android:bmob-sdk:3.5.0'

3 .配置AndroidManifest.xml

    <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.READ_PHONE_STATE" />

4 .初始化BmobSDK

//提供以下两种方式进行初始化操作://第一:默认初始化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);

我使用的是第一种

5 .创建JavaBean(对应为Bmob后台的数据表)

public class Person extends BmobObject {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;}
}

6 .添加一行数据

Person p2 = new Person();
p2.setName("lucky");
p2.setAddress("北京海淀");
p2.save(new SaveListener<String>() {@Overridepublic void done(String objectId,BmobException e) {if(e==null){toast("添加数据成功,返回objectId为:"+objectId);}else{toast("创建数据失败:" + e.getMessage());}}
});

查看后台生成的表如图

第一个为系统自带的,第二个为刚才Person bean生成的Person表

7 .获取一行数据

//查找Person表里面id为6b6c11c537的数据
BmobQuery<Person> bmobQuery = new BmobQuery<Person>();
bmobQuery.getObject("6b6c11c537", new >QueryListener<Person>() {@Overridepublic void done(Person object,BmobException e) {if(e==null){toast("查询成功");}else{toast("查询失败:" + e.getMessage());}}
});

8 .修改一行数据

//更新Person表里面id为6b6c11c537的数据,address内容更新为“北京朝阳”
Person p2 = new Person();
p2.setAddress("北京朝阳");
p2.update("6b6c11c537", new UpdateListener() {@Overridepublic void done(BmobException e) {if(e==null){toast("更新成功:"+p2.getUpdatedAt());}else{toast("更新失败:" + e.getMessage());}}});

9 .删除一行数据

Person p2 = new Person();
p2.setObjectId("6b6c11c537");
p2.delete(new UpdateListener() {@Overridepublic void done(BmobException e) {if(e==null){toast("删除成功:"+p2.getUpdatedAt());}else{toast("删除失败:" + e.getMessage());}}});

这是基本使用,详细可以参看文档
快速入门
开发详细文档

推送服务

1 . jar包下载地址

下载之后将jar包添加到AS的lib中

2 .添加推送权限

  <!--推送所需的权限--><uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" /><uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

3 .在应用程序AndroidManifest.xml文件中注册BmobPush SDK运行所需的推送服务和消息接收器

        <service
            android:label="PushService"android:name="cn.bmob.push.lib.service.PushService"android:process=":bmobpush"android:exported="true"><intent-filter><action android:name="cn.bmob.push.lib.service.PushService"/></intent-filter></service><!-- 用于进程保活 --><service
            android:name="cn.bmob.push.lib.service.PushNotifyService"android:process=":bmobpush" ></service><receiver android:name="cn.bmob.push.PushReceiver" ><intent-filter><!-- 系统启动完成后会调用 --><action android:name="android.intent.action.BOOT_COMPLETED" /><!-- 解锁完成后会调用 --><action android:name="android.intent.action.USER_PRESENT" /><!-- 监听网络连通性 --><action android:name="android.net.conn.CONNECTIVITY_CHANGE" /></intent-filter></receiver><!-- 第四部中创建的消息接收器,在这里进行注册 --><receiver android:name=".broadcast.MyPushMessageReceiver"><intent-filter ><action android:name="cn.bmob.push.action.MESSAGE"/></intent-filter></receiver><!-- 接收心跳和唤醒的广播,要和PushService运行在同个进程 --><receiver
            android:name="cn.bmob.push.PushNotifyReceiver"android:process=":bmobpush" ><intent-filter><!-- 接收心跳广播的action --><action android:name="cn.bmob.push.action.HEARTBEAT" /><!-- 接收唤醒广播的action --><action android:name="cn.bmob.push.action.NOTIFY" /></intent-filter></receiver>

MyPushMessageReceiver代码如下

public class MyPushMessageReceiver extends BroadcastReceiver{@Overridepublic void onReceive(Context context, Intent intent) {// TODO Auto-generated method stubif(intent.getAction().equals(PushConstants.ACTION_MESSAGE)){Log.d("bmob", "客户端收到推送内容:"+intent.getStringExtra("msg"));}}}

Push消息通过action=cn.bmob.push.action.MESSAGE的Intent把数据发送给客户端your.package.MyPushMessageReceiver,消息格式由应用自己决定,PushService只负责把服务器下发的消息以字符串格式透传给客户端。

4 .启动推送服务

// 使用推送服务时的初始化操作BmobInstallation.getCurrentInstallation(this).save();// 启动推送服务BmobPush.startWork(this);

5 .在web端进行推送设置

在应用面板–>消息推送–>推送设置界面中填写包名进行保存。

6 .在web端推送消息

完成以上步骤后,你可以运行应用程序,从web推送一条消息给客户端。

7 .客户端接受到的消息

至此,消息推送已经完成

最后

这是bmob的简单使用,详细使用可以下载官方Demo学习使用。

Bmob后端云的集成与使用相关推荐

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

    第三方服务之Bmob后端云的集成.用户登陆.用户注册.获取用户.用户注销(一) Bmob简介: 步骤一:Bmob集成 在www.bmob.cn注册一个用户,在网站后台创建一个应用,进去管理页面之后在设 ...

  2. Bmob后端云的集成需要注意的坑(番外)

    因为Bmob集成了okhttp以及rxjava.所以有可能和原有的依赖重复. 解决方法如下: 在module包下的build.gradle里面加上这几句代码就好了 packagingOptions { ...

  3. Android实战——第三方服务之Bmob后端云的推送服务的集成和使用(三)

    第三方服务之Bmob后端云的推送服务的集成和使用(三) 事先说明:这里的一切操作都是在集成了BmobSDK之后实现的,如果对Bmob还不了解的话,请关注我第一篇Bmob文章 步骤一:推送服务的集成 在 ...

  4. Android实战——第三方服务之Bmob后端云的答题系统小项目(四)

    第三方服务之Bmob后端云的答题系统小项目(四) 事先说明:这里的一切操作都是在集成了BmobSDK之后实现的,如果对Bmob还不了解的话,请关注我第一篇Bmob文章 项目意义: 该项目实现简单,比较 ...

  5. android bmob获取数据,Android基于bmob后端云实现数据读取

    最近在上手一个app作为练手,是关于失物招领的,其中要实现的一个功能是从云端读取数据展示在app的listview当中,其实这个功能挺常见的,不过这里还是拿来分享一下,主要介绍我解决的过程以及思路. ...

  6. Bmob关联Android,Android如何使用Bmob后端云实现失物招领功能

    最近在使用后端云Bmob对数据进行存储,目的是在不搭建服务器的前提下,能对Android应用的数据进行操作处理,其实这篇是比较久之前写的了,有些童鞋反馈说现在的源码会有问题,所以我又重新运行了一下,随 ...

  7. Android高效率编码-第三方SDK详解系列(二)——Bmob后端云开发,实现登录注册,更改资料,修改密码,邮箱验证,上传,下载,推送消息,缩略图加载等功能

    Android高效率编码-第三方SDK详解系列(二)--Bmob后端云开发,实现登录注册,更改资料,修改密码,邮箱验证,上传,下载,推送消息,缩略图加载等功能 我的本意是第二篇写Mob的shareSD ...

  8. Bmob后端云——私人云数据库

    Bmob 后端云的配置使用 一.前言     数据库的使用非常广泛,各大语言都存在于数据库的连接交互,以便数据的操作处理.自己配置数据库较麻烦且没必要,个人开发者自己安装数据库较占内存,个人不常用,数 ...

  9. 基于bmob后端云小程序开发——口袋吉他

    人的一生90%的时间都在做着无聊的事情,社会的发展使得我们的闲暇时间越来越多,我们把除了工作的其他时间放在各种娱乐活动上. 程序员有点特殊,他们把敲代码看成娱乐活动的一部分,以此打发时间的不占少数.这 ...

最新文章

  1. android 点击热区,Android-android中有没有提供点击热区的功能
  2. 根据各工序时间画aoe网_曲靖被动防护网RXI150被动网厂家
  3. [ARM异常]-异常进入和异常退出时的arm core的硬件自动的行为
  4. C++中的继承(三)
  5. 如何配置 SAP BTP Integration Suite 测试帐号的环境
  6. __set() And __get() 使用详解.
  7. 挨批评了!Chrome 对用户隐私保护还不如 IE?
  8. 最值钱无人车团队组织架构曝光:Waymo总共不到千人,2/3是工程师
  9. Problem 2128 最长子串
  10. 浙大研究生hadoop工作分享
  11. H13-531 华为HCIE云计算笔试题库整理
  12. 红帽linux开启vnc服务器,红帽Linux上使用VNC
  13. R语言之K-mean聚类分析
  14. 下百度文库要券?来用 Python 自动下!
  15. 王亮:游戏AI探索之旅——从alphago到moba游戏
  16. 深度学习笔试、面试题 二
  17. 状态栏RAT信号图标显示
  18. 下载keep运动软件_Keep下载_Keep苹果官方免费版APP下载[健身运动]-下载之家
  19. 第五届蓝桥杯——java c组 1/a 的分数称为单位分数
  20. [BZOJ1975]HH去散步 图论+矩阵

热门文章

  1. android 4 源码目录,LXR 目录Android 源码
  2. linux内核源码lxr,配置glimpse与LXR读取linux内核源码
  3. 给计算机新用户授权,AD管理之授权用户将计算机加入域的权限
  4. PX4 FMU启动流程 2. 二、 nsh_initscript
  5. c语言循环教案,C语言教学(七-上)for循环
  6. Java基础知识(一) 基本概念
  7. kafka之重新分配分区副本kafka-reassign-partitions命令
  8. 扫码签到突破100000用户
  9. html5 canvas消除锯齿,HTML5 Canvas 如何取消反锯齿绘图
  10. 用python做一个好玩的数字炸弹游戏