0

以下のコードでは、GoogleプレイスのURLから最初に返されたJSON地名の結果を表示できます。最初の項目だけでなく、返された地名のリスト全体を表示したいと思います。これを行う最も簡単な方法は何でしょうか?チュートリアルを教えてもらえますか、それともサンプルコードを教えてもらえますか?

        HttpGet get = new HttpGet(bcURL.toString());
    HttpResponse r = client.execute(get);
    int status = r.getStatusLine().getStatusCode();
    if(status == 200){
        HttpEntity e = r.getEntity(); 
        String data = EntityUtils.toString(e); 
        json = new JSONObject(data); 
        JSONArray timeline = json.getJSONArray("results"); 
        JSONObject lastport = timeline.getJSONObject(0); 
        return lastport;
    }else{
        Toast.makeText(NewGPS3.this, "oops", Toast.LENGTH_SHORT);
        return null;
    }

JSONObject lastport = timeline.getJSONObject(0);は名を示しています。最初の項目だけでなく、リストを表示したいのですが。

4

2 に答える 2

0
for(int i = 0; i < timeline.size(); i++){
JSONObject lastport = timeline.getJSONObject(i); 
//Save the item to a ArrayList and use that list for your ListAdapter.
googlePlaces.add(lastPort);
}
于 2012-07-23T16:56:45.833 に答える
0

配列を取得するには、JSONArrayオブジェクトを使用する必要があります。次のようになります。

JSONObject entireObject = new JSONObject("your JSON string here");
JSONObject mainObject = entireObject.getJSONObject("photos"); // main object in entire object
JSONArray arrayObject = mainObject.getJSONArray("photo"); // array object in the main object

次に、他の配列と同じように、この配列を反復処理できます。

for (int i = 0; i < arrayObject.length(); i++) {
    JSONObject photoData = arrayObject.getJSONObject(i);
    String yourString = photoData.getString("id");
}

私はこれのいくつかをProAndroidMediaから入手しました。この本には本当に良いJSONAPI呼び出しの例があります。ソースコードも無料で入手できると思います。

http://www.amazon.com/Pro-Android-Media-Developing-Smartphones/dp/1430232676/ref=sr_1_1?ie=UTF8&qid=1343062690&sr=8-1&keywords=android+media

于 2012-07-23T17:04:34.343 に答える