1. 程式人生 > >Bmob 開發 Android程式快速入門 2

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提供的推送功能,還可以實現將自定義的訊息推送給不同的裝置終端,具體的使用方法可檢視文件的訊息推送部分。

 

希望對你有幫助。