没有合适的资源?快使用搜索试试~ 我知道了~
首页Bmob开发文档之Android篇
资源详情
资源评论
资源推荐
简介简介
Bmob平台为您的移动应用提供了一个完整的后端解决方案,我们提供轻量级的SDK开发包,
让开发者以最小的配置和最简单的方式使用Bm ob平台提供的服务,进而完全消除开发者编写
服务器代码以及维护服务器的操作。
应用程序应用程序
在Bmob平台注册后,每个账户可创建多个应用程序,创建的每个应用程序都有其独自的应用
程序ID,此后所有的应用程序将凭其ID进行Bmob SDK的使用。即使只有一个应用程序,也
可以以不同的版本进行测试和生产。
数据类型数据类型
目前为止,我们支持的数据类型有String、int、Boolean、Array以及BmobObject对象
类型。同时Bmob也支持BmobDate、Bm obGeoPoint、 Bm obFile数据类型。
对象对象
一个对象对应了数据表中的一条数据,也可以理解为应用程序中的JavaBean.
数据对象数据对象
Bmob存储的数据是建立在Bm obObject基础上的,所以任何要保存的数据对象必须继承自
BmobObject类。Bm obObject对象包含objectId、createdAt、updatedAt、ACL四
个默认的属性,objectId为对象的唯一标示,可以理解为数据表中的主键,createdAt为对
象的创建时间,updatedAt为对象的最后修改时间,ACL为这条数据的操作权限控制。例
如,游戏中可能会用到的分数对象Gam eScore,它可能包含score、playerNam e、
cheatMode等属性,那么这个数据对象创建的示例代码如下:
public class GameScore extends BmobObject{
private String playerName;
private Integer score;
private Boolean cheatMode;
private BmobFile pic;
public String getPlayerName() {
关灯
收缩
bmob开发文档-Bmob移动后端云服务平台 14-8-14
http://docs.bmob.cn/android/developdoc/index.html?menukey=develop_doc&key=develop_android 1 / 47
return playerName;
}
public void setPlayerName(String playerName) {
this.playerName = playerName;
}
public Integer getScore() {
return score;
}
public void setScore(Integer score) {
this.score = score;
}
public Boolean getCheatMode() {
return cheatMode;
}
public void setCheatMode(Boolean cheatMode) {
this.cheatMode = cheatMode;
}
public BmobFile getPic() {
return pic;
}
public void setPic(BmobFile pic) {
this.pic = pic;
}
}
类名和表名的关系类名和表名的关系
默认情况下,Bmob提供了类名和表名完全一致的简单方式,实现类名和表名的映射。
如,上面的GameScore类对应Web后台的表名是Gam eScore(区分大小写),如果创
建一个数据对象名称为T_a_b,那么这个类名对应的Web后台的表名也是T _a_b。
但很多时候,你希望在后台创建的表名和类名并不相同,如表名为T _a_b,而类名还是
Gam eScore,那么你可以使用BmobObject提供的setT ableName("表名")的方法,
示例代码如下:
//这时候实际操作的表是T _a_b
public class GameScore extends BmobObject{
private String playerName;
private Integer score;
private Boolean cheatMode;
private BmobFile pic;
public GameScore() {
this.setT ableName("T _a_b");
}
public String getPlayerName() {
return playerName;
}
bmob开发文档-Bmob移动后端云服务平台 14-8-14
http://docs.bmob.cn/android/developdoc/index.html?menukey=develop_doc&key=develop_android 2 / 47
//其他方法,见上面的代码
}
当然了,你也可以在GameScore实例中动态调用setT ableName方法,实现操作可变表
(如根据日期建立表来存储信息)的可能。
特殊对象特殊对象
为了提供更好的服务,Bm obSDK中提供了Bm obUser、BmobInstallation两个特殊的
BmobObject对象来完成不同的功能,在这里我们统一称为特殊对象。 Bm obUser对象主要
是针对应用中的用户功能而提供的,它对应着web端的User表,使用BmobUser对象可以很
方便的在应用中实现用户的注册、登录、邮箱验证等功能,具体的使用方法可查看文档的 用
户 部分。 Bm obInstallation对象主要用于应用的安装设备管理中,它对应着web端的
Installation表,任何安装了你应用的设备都会在此表中产生一条数据标示该设备。结合
Bmob提供的推送功能,还可以实现将自定义的消息推送给不同的设备终端,具体的使用方法
可查看文档的 消息推送 部分。
添加数据添加数据
添加数据非常简单,任何BmobObject对象都具有 save 方法可以用于将当前对象的内容保存
到服务端。 例如,你现在要保存一条游戏分数的记录,可以这样做:
GameScore gameScore = new GameScore();
gameScore.setPlayerName("Barbie");
gameScore.setScore(89);
gameScore.setCheatMode(false);
gameScore.save(mContext, new SaveListener() {
@Override
public void onSuccess() {
// T ODO Auto-generated method stub
toast("添加数据成功,返回objectId为:"+gameScore.getObjectId());
}
@Override
public void onFailure(int code, String arg0) {
// T ODO Auto-generated method stub
// 添加失败
}
});
运行完以上代码后,数据即可保存到服务器端。为了确认数据是否真的已经保存成功,你可以
在Bmob服务器端你应用程序的数据浏览项目中进行查看。你应该看到类似这样的结果:
bmob开发文档-Bmob移动后端云服务平台 14-8-14
http://docs.bmob.cn/android/developdoc/index.html?menukey=develop_doc&key=develop_android 3 / 47
objectId: "0c6db13c", score: 89, playerName: "Barbie", cheatMode: false,createdAt:"2013
-09-27 10:32:54", updatedAt:"2013-09-27 10:32:54"
这里需要注意几点:
1. 在运行以上代码时,如果服务器端你创建的应用程序中已经存在GameScore数据表和相
应的score、playerNam e、cheatMode字段,那么你此时添加的数据和数据类型也应
该和服务器端的表结构一致,否则将保存数据失败。
2. 如果服务器端不存在GameScore数据表,那么Bm ob将根据你第一次(也就是运行的以
上代码)保存的Gam eSocre对象在服务器为你创建此数据表并插入相应数据。
3. 每个Bm obObject对象都有几个默认的键(数据列)是不需要开发者指定的, objectId 是每
个保存成功数据的唯一标识符。 createdAt 和 updatedAt 代表每个对象(每条数据)在服务
器上创建和最后修改的时间。这些键(数据列)的创建和数据内容是由服务器端自主来完成
的。
查询数据查询数据
数据的查询可能是每个应用都会频繁使用到的,Bm obSDK中提供了BmobQuery类,它提
供了多样的方法来实现不同条件的查询,同时它的使用也是非常的简单和方便的。
查询所有数据查询所有数据
查询某个数据表中的所有数据是非常简单的查询操作,例如:查询所有人员的信息。
BmobQuery<GameScore> query = new BmobQuery<GameScore>();
query.findObjects(this, new FindListener<GameScore>() {
@Override
public void onSuccess(List<GameScore> object) {
// T ODO Auto-generated method stub
toast("查询成功:共"+object.siz e()+"条数据。");
}
@Override
public void onError(int code, String msg) {
// T ODO Auto-generated method stub
toast("查询失败:"+msg);
}
});
怎么样,是不是很简单,而且查询的结果不需要进行任何处理,BmobSDK已经为你封装成相
应的JavaBean集合了,你直接使用即可。
这里需要注意一点的是: 默认情况下,系统实际上并不会返回所有的数据,而是默认返回10
条数据记录,你可以通过setLimit方法设置返回的记录数量。更多细节可点击查看分页查
询一节。
bmob开发文档-Bmob移动后端云服务平台 14-8-14
http://docs.bmob.cn/android/developdoc/index.html?menukey=develop_doc&key=develop_android 4 / 47
查询单条数据查询单条数据
当我们知道某条数据的objectId时,就可以根据objectId直接获取单条数据对象。例如:查
询objectId为 a203eba875 的人员信息。
BmobQuery<GameScore> query = new BmobQuery<GameScore>();
query.getObject(this, "a203eba875", new GetListener<GameScore>() {
@Override
public void onSuccess(GameScore object) {
// T ODO Auto-generated method stub
toast("查询成功:");
}
@Override
public void onFailure(int code, String arg0) {
// T ODO Auto-generated method stub
toast("查询失败:"+arg0);
}
});
条件查询条件查询
在查询的使用过程中,基于不同条件的查询是非常常见的,Bm obQuery同样也支持不同条件
的查询。 例如:如果要过滤掉特定键的值可以使用 addWhereNotEqualT o 方法。比如需要查
询playerNam e不等于“Barbie”的数据时可以这样写:
query.addWhereNotEqualT o("playerName", "Barbie");
当然,你可以在你的查询操作中添加多个约束条件,来查询符合要求的数据。
query.addWhereNotEqualT o("playerName", "Barbie"); //名字不等于Barbie
query.addWhereGreaterT han("score", 60); //条件:分数大于60岁
各种不同条件的比较查询:
// 分数 < 50
query.addWhereLessT han("score", 50);
//分数 <= 50
query.addWhereLessT hanOrEqualT o("score", 50);
//分数 > 50
query.addWhereGreaterT han("score", 50);
//分数 >= 50
bmob开发文档-Bmob移动后端云服务平台 14-8-14
http://docs.bmob.cn/android/developdoc/index.html?menukey=develop_doc&key=develop_android 5 / 47
剩余46页未读,继续阅读
饱_饱
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论1