用 Parse SDK 操作 Cloud Data

2019/05/11閱讀時間約 6 分鐘
轉移自 LogDown 原文日期 May 30, 2014 14:10,現今 Parse 官方 server 已關閉,僅提供 SDK 自架 Server
Parse 官網: https://parse.com/
一般使用的是它的推播功能,這在之前已經提過,這次要介紹的是雲端資料服務。
設置相對於推播比較簡單,但為了沒看過或是只需要這項服務的人,還是會重頭開始說明。
不想看或是已經設置過推播的人可以直接略過設置
SDK 和官方說明文件必須註冊後才能取得。
目前筆者主攻 Android ,所以以下都針對 Android 開發部分介紹。
進到官方導引頁面之後,可以看到有兩個選擇,其實選哪個都沒差。
選擇空的專案,只是會讓你下載一個已經放好 SDK 的空 Android 專案。
而已存在的專案,只要把下載好的 SDK 解壓縮到專案的 libary 資料夾即可。
接下來就是程式碼的設定。
因為它的啟動是放在整個應用裡,所以要先新建一個 MyApplication.java 檔案。
MyApplication.java public class MyApplication extends android.app.Application { @Override public void onCreate() { super.onCreate(); Parse.initialize(this, applicationId, clientKey); } }
applicationId 和 clientKey 在網頁裡都有提供。
別忘了建立好之後在 AndroidManifest.xml 的 application 標簽裡加上去。
AndroidManifest.xml <application ...... android:name=".MyApplication" >
記得打開權限,加在 AndroidManifest.xml 裡的 manifest 標簽之間。
AndroidManifest.xml <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
以上只是基礎設置,接下來是如何操作資料。
資料是以 Class 為單位,objectId, createdAt, updatedAt, ACL 這幾個欄位會自動產生,和資料庫的 Table 概念相似,只是 Relationship 沒有資料庫那麼容易理解和建立,所以這裡就不提 Relationship 。
因為 java 物件的單位也是 Class ,為了不被搞混,下面就以資料物件和程式物件來區隔稱呼。
確定好資料物件的結構之後,就可以進行作業了。
步驟是:
1. 建立對應的程式物件。 2. 註冊物件。 3. 呼叫方法。
先假設一個資料物件名稱為 yy ,擁有欄位 key。
程式物件的名稱可以和資料物件不一樣,因為對照的地方是 ParseClassName。
必須要 extends ParseObject ,而且把欄位的 Setter 和 Getter 建好。
目前可以設定的欄位屬性:Number, Int, Double, Long, Boolean, JSONArray, Date ⋯⋯等。
ParseItem.java @ParseClassName("yy) public class ParseItem extends ParseObject { final String KEY = "key"; // Ensure that your subclass has a public default constructor public ParseItem() { super(); } public String getKey() { return getString(KEY); } public void setKey(String key) { put(KEY, key); } }
在 MyApplication.java 檔案裡註冊物件,注意必須要在 Parse.initialize 呼叫之前。
MyApplication.java public class MyApplication extends android.app.Application { @Override public void onCreate() { super.onCreate(); ParseObject.registerSubclass(ParseItem.class); Parse.initialize(this, applicationId, clientKey); } }
接下來就是呼叫方法,看是要新增、刪除、修改還是查詢。
這部分可以參考官方文件,這邊就只放上最常用的查詢了。
查詢 ParseQuery<ParseItem> parseItemQuery = ParseQuery.getQuery(ParseItem.class); parseItemQuery.findInBackground(new FindCallback<ParseItem>() { public void done(List<ParseItem> itemList, ParseException e) { if (e == null) { ...... } } }
有條件的查詢和排序 parseItemQuery.whereGreaterThan("updatedAt", dateObj); parseItemQuery.orderByDescending("updatedAt");
    Kate
    Kate
    女性工程師,以 Kate 之名出沒於科技社群,喜歡設計程式、解難題、看小說和塗鴉。 鐵人賽得獎的作品已經整理擴寫出書《老姐要用Kotlin寫專案:從 Server 到 Android APP 的開發生存日記》,歡迎購買。
    留言0
    查看全部
    發表第一個留言支持創作者!