「WordPressで学ぶPHP(1)変数・制御構造編」が発売されました。
「WordPressで学ぶPHP」シリーズの第1巻で、WordPressを通してPHPを学んでいく本です。
この本では、PHPの基本となる変数と制御構造について解説します。
Kindle本で、定価500円です。
Data API Library for Android(その3・初期化とDataAPI.sendメソッド)
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で行う処理に応じて、様々な引数を取ります。
引数は以下の順に指定します。
項目 | データ型 | 内容 |
---|---|---|
メソッド名 | Strimg | Data APIで行う処理のメソッド名を渡します。 JavaScriptライブラリでのメソッド名と同じものを使います。 |
サイトID | int | 操作する対象のサイト(ウェブサイトまたはブログ)のIDを指定します。 メソッドによっては、サイトIDを指定しないものもあり、その場合はサイトIDを省略します。 |
オブジェクトID | int | 操作する対象のオブジェクト(記事)等のIDを指定します。 メソッドによっては、オブジェクトIDを指定しないものもあり、その場合はオブジェクトIDを省略します。 |
オブジェクト | JSONObject | オブジェクトの作成/更新を行うメソッドでは、オブジェクトをJSONObject型で表したものを指定します。 作成/更新以外のメソッドではこの引数は省略します。 |
パラメータ | HashMap | メソッドのオプションのパラメータを指定します。 オプションのパラメータを指定しない場合は、この引数は省略します。 |
リスナー | DataAPIListener | Data 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) { // 通信に失敗したときの処理 } });