更新於 2019/05/11閱讀時間約 6 分鐘

用 Parse SDK 操作 Cloud Data

    轉移自 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");
     

    分享至
    成為作者繼續創作的動力吧!
    © 2024 vocus All rights reserved.