Bmob 开发 Android程序快速入门 2

                                Bmob 开发  Android程序快速入门 2

Bmob 简介

  Bmob平台为您的移动应用提供了一个完整的后端解决方案,我们提供轻量级的SDK开发包,让开发者以最小的配置和最简单的方式使用Bmob平台提供的服务,进而完全消除开发者编写服务器代码以及维护服务器的操作。

开源案例

Bmob致力于为开发者提供快速开发服务,为方便大家更好的理解Bmob SDK能够做的事情,我们特意为大家提供了一些源码,大家可以下载之后,嵌入Bmob的AppKey,再打包运行。

阅读源码是一种良好的习惯!!

即时聊天案例源码:https://github.com/bmob/BmobIMSDK4Android

图文社区案例源码:https://github.com/bmob/Wonderful2 这个案例是猿圈媛圈开发团队提供的。

校园小菜案例源码:https://github.com/bmob/Shop 这个案例是湖工大的朋友提供的。

社交分享案例源码:https://github.com/bmob/bmob-android-social-share 这个是金刚锁开发者提供的

第三方登录案例源码:https://github.com/bmob/bmob-android-demo-thirdpartylogin 包含第三方登录和登录后获取用户信息的源码

应用程序

在Bmob平台注册后,每个账户可创建多个应用程序,创建的每个应用程序都有其独自的应用程序ID,此后所有的应用程序将凭其ID进行Bmob SDK的使用。即使只有一个应用程序,也可以以不同的版本进行测试和生产。

应用安全

请大家在使用Bmob开发应用程序之前,认真阅读我们给大家提供的“数据与安全”的文档,确保你的应用在发布时安全。文档的链接地址是:http://docs.bmob.cn/datasafety/index.html?menukey=otherdoc&key=datasafety

数据类型

目前为止,我们支持的数据类型有String、Integer、Boolean、ArrayList以及BmobObject对象类型。同时Bmob也支持BmobDate、BmobGeoPoint、 BmobFile数据类型。

对象

一个对象对应了数据表中的一条数据,也可以理解为应用程序中的JavaBean.

数据对象

Bmob存储的数据是建立在BmobObject基础上的,所以任何要保存的数据对象必须继承自BmobObject类。BmobObject对象包含objectId、createdAt、updatedAt、ACL四个默认的属性,objectId为对象的唯一标示,可以理解为数据表中的主键,createdAt为对象的创建时间,updatedAt为对象的最后修改时间,ACL为这条数据的操作权限控制。例如,游戏中可能会用到的分数对象GameScore,它可能包含score、playerName、cheatMode等属性,那么这个数据对象创建的示例代码如下:

public class GameScore extends BmobObject{
    private String playerName;
    private Integer score;
    private Boolean cheatMode;
    private BmobFile pic;

    public String getPlayerName() {
        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后台的表名是GameScore(区分大小写),如果创建一个数据对象名称为T_a_b,那么这个类名对应的Web后台的表名也是T_a_b。
  • 但很多时候,你希望在后台创建的表名和类名并不相同,如表名为T_a_b,而类名还是GameScore,那么你可以使用BmobObject提供的setTableName("表名")的方法,示例代码如下:
//这时候实际操作的表是T_a_b
public class GameScore extends BmobObject{
    private String playerName;
    private Integer score;
    private Boolean cheatMode;
    private BmobFile pic;

    public GameScore() {
        this.setTableName("T_a_b");
    }

    public String getPlayerName() {
        return playerName;
    }

    //其他方法,见上面的代码
}

当然了,你也可以在GameScore实例中动态调用setTableName方法,实现操作可变表(如根据日期建立表来存储信息)的可能。

查询自定义表名的数据

如果您使用了setTableName方法来自定义表名,那么在对该表进行数据查询的时候必须使用以下方法来进行查询。需要注意的是查询的结果是一个JSONArray,您需要自行解析JSONArray中的数据来进行使用。

/**
 * 查询数据
 */
public void queryData(){
    BmobQuery query = new BmobQuery("T_a_b");
    query.findObjects(this, new FindCallback() {

        @Override
        public void onSuccess(JSONArray arg0) {
            // TODO Auto-generated method stub
            showToast("查询成功:"+arg0.length());
        }

        @Override
        public void onFailure(int arg0, String arg1) {
            // TODO Auto-generated method stub
            showToast("查询失败:"+arg1);
        }
    });
}

自定义表名情况下的更新、删除数据和普通的更新、删除数据方式一样,没有变化。尽管如此,我们还是提供了一个关于自定义表名情况下增删改查数据的Demo供开发者朋友参照源码来学习,下载地址是:https://github.com/bmob/bmob-android-demo-dynamic-tablename

特殊对象

  为了提供更好的服务,BmobSDK中提供了BmobUser、BmobInstallation两个特殊的BmobObject对象来完成不同的功能,在这里我们统一称为特殊对象。 BmobUser对象主要是针对应用中的用户功能而提供的,它对应着web端的User表,使用BmobUser对象可以很方便的在应用中实现用户的注册、登录、邮箱验证等功能,具体的使用方法可查看文档的用户部分。 BmobInstallation对象主要用于应用的安装设备管理中,它对应着web端的Installation表,任何安装了你应用的设备都会在此表中产生一条数据标示该设备。结合Bmob提供的推送功能,还可以实现将自定义的消息推送给不同的设备终端,具体的使用方法可查看文档的消息推送部分。

希望对你有帮助。

猜你喜欢

转载自blog.csdn.net/qq_41204464/article/details/85227429