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