「WordPressで学ぶPHP(2)データ構造(配列・オブジェクト)編」を発売しました。
本書は「WordPressで学ぶPHP(1)変数・制御構造編」の続編にあたり、PHPの「データ構造」(配列とオブジェクト)について解説します。
配列やオブジェクトは、頭の中で考えるだけでは、イメージがつかみにくいです。本書では図を多用して、配列やオブジェクトをなるべく分かりやすく解説することを心がけました。
Kindle本で、定価250円です。
Data API Library for Android(その5・リスト取得系メソッド)
Data API Library for Androidの解説その5です。
今回はリスト取得系メソッドの使い方を解説します。
1.メソッドの一覧
オブジェクトのリストを取得するメソッドの名前は、「list○○○」のような名前になっています。
引数として、サイトのIDとオブジェクトのIDを取ります。
各メソッドで必要なIDは、以下の表のとおりです。
| メソッド名 | 必要なID | listEndpoints | なし | listBlogsForUser | user_id | listEntries | site_id | listCategories | site_id | listComments | site_id | listCommentsForEntry | site_id, entry_id | listTrackbacks | site_id | listTrackbacksForEntry | site_id, entry_id | listPermissionsForUser | user_id | listStatsPageviewsForPath | site_id | listStatsVisitsForPath | site_id | listStatsPageviewsForDate | site_id | listStatsVisitsForDate | site_id | listCategories | site_id | listCategoriesForEntry | site_id, entry_id | listParentCategories | site_id, category_id | listSiblingCategories | site_id, category_id | listChildCategories | site_id, category_id | listFolders | site_id | listParentFolders | site_id, folder_id | listSiblingFolders | site_id, folder_id | listChildFolders | site_id, folder_id | listAssets | site_id | listAssetsForEntry | site_id, entry_id | listAssetsForPage | site_id, page_id | listAssetsForSiteAndTag | site_id, tag_id | listEntriesForCategory | site_id, category_id | listEntriesForAsset | site_id, asset_id | listEntriesForSiteAndTag | site_id, tag_id | listPages | site_id | listPagesForFolder | site_id, folder_id | listPagesForAsset | site_id, asset_id | listPagesForSiteAndTag | site_id, tag_id | listCommentsForPage | site_id, page_id | listTrackbacksForPage | site_id, page_id | listSites | なし | listSitesByParent | site_id | listRoles | なし | listPermissions | なし | listPermissionsForUser | user_id | listPermissionsForSite | site_id | listPermissionsForRole | role_id | listLogs | site_id | listTagsForSite | site_id | listThemes | なし | listThemesForSite | site_id | listTemplates | site_id | listTemplatemaps | site_id, template_id | listWidgetsets | site_id | listWidgets | site_id | listWidgetsForWidgetset | site_id, widgetset_id | listUsers | なし | listPlugins | なし | listFields | site_id | listCategoriesForEntry | site_id, entry_id | listFormattedTexts | site_id |
|---|
2.事例
ある記事について、それが属するカテゴリを取得して、それらの名前(label)をリストビューに表示したいとします。
また、サイトIDと記事IDが、それぞれ変数siteID/entryIDに入っているとします。
この処理は以下のようなコードになります。
DataAPI.send("listCategoriesForEntry", siteID, entryID, params, new DataAPIListener() {
@Override
public void onResponse(JSONObject resp) {
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1);
try {
JSONArray cats = resp.getJSONArray("items");
for (int i = 0; i < cats.length();i++) {
JSONObject cat = cats.getJSONObject(i);
adapter.add(cat.getString("label"));
}
} catch (JSONException e) {
e.printStackTrace();
}
ListView lv = (ListView) findViewById(R.id.リストビューのID);
lv.setAdapter(adapter);
}
@Override
public void onError(VolleyError error) {
通信エラー時の処理
}
});
