Data API Library for Android(その3・初期化とDataAPI.sendメソッド)

  • 投稿日:
  • by
  • カテゴリ:

Data API Library for Androidの解説その3です。
今回はライブラリの初期化とDataAPI.sendメソッドの使い方を解説します。

1.初期化

初期化を行うには、「DataAPI.init」というメソッドを実行します。
パラメータとして、以下の3つを取ります。

  • Contextオブジェクト
  • mt-data-api.cgi
  • クライアントID

クライアントIDは、Data APIでMovable Typeにアクセスするアプリを表す文字列です。
半角英数字で任意のIDを決めて指定します。

例えば、Activityの作成時(onCreate)にData APIの初期化を行うとします。
また、クライアントIDを「example」にするとします。
この場合だと、onCreateメソッドを以下のように書きます。

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout....);

    DataAPI.init(this, "http://Movable Typeのインストール先/mt-data-api.cgi", "example");
    ...
}

2.DataAPI.sendメソッド

Data APIのオブジェクトを初期化すると、「DataAPI.send」というメソッドを使うことができます。
DataAPI.sendメソッドは、Data APIで行う処理に応じて、様々な引数を取ります。
引数は以下の順に指定します。

項目データ型内容
メソッド名StrimgData APIで行う処理のメソッド名を渡します。
JavaScriptライブラリでのメソッド名と同じものを使います。
サイトIDint操作する対象のサイト(ウェブサイトまたはブログ)のIDを指定します。
メソッドによっては、サイトIDを指定しないものもあり、その場合はサイトIDを省略します。
オブジェクトIDint操作する対象のオブジェクト(記事)等のIDを指定します。
メソッドによっては、オブジェクトIDを指定しないものもあり、その場合はオブジェクトIDを省略します。
オブジェクトJSONObjectオブジェクトの作成/更新を行うメソッドでは、オブジェクトをJSONObject型で表したものを指定します。
作成/更新以外のメソッドではこの引数は省略します。
パラメータHashMapメソッドのオプションのパラメータを指定します。
オプションのパラメータを指定しない場合は、この引数は省略します。
リスナーDataAPIListenerData APIの実行結果を処理するリスナーを指定します。

DataAPIListenerクラスのオブジェクトには、「onResponse」と「onError」というメソッドを定義します。
onResponseメソッドには、通信が成功したときの処理を記述します。
onErrorメソッドには、通信に失敗したときの処理を記述します。

DataAPI.send(メソッド名, サイトID, オブジェクトID, オブジェクト, パラメータ, new DataAPIListener() {
    @Override
    public void onResponse(JSONObject resp) {
        // 通信に成功したときの処理
    }


    @Override
    public void onError(VolleyError error) {
        // 通信に失敗したときの処理
    }
});

例えば、IDが1番のウェブサイトから記事のリストを読み込みたいとします。
また、オプションのパラメータは指定しないとします。
この場合だと、以下のように記述します。

DataAPI.send("listEntries", 1, new DataAPIListener() {
    @Override
    public void onResponse(JSONObject resp) {
        // 通信に成功したときの処理
    }


    @Override
    public void onError(VolleyError error) {
        // 通信に失敗したときの処理
    }
});