0
try {
    regions = json.getJSONArray(TAG_REGIONS);
    for (int i = 0; i < regions.length(); i++) {
        JSONObject c = regions.getJSONObject(i);
        String regionName = c.getString(TAG_REGION_NAME);
        areas = json.getJSONArray(TAG_AREA);
        for (int j = 0; j < areas.length(); j++) {
            JSONObject d = areas.getJSONObject(j);
            String areaName = d.getString(TAG_AREA_NAME);
            shops = json.getJSONArray(TAG_SHOP);
            for (int k = 0; k < shops.length(); k++) {
                JSONObject e = shops.getJSONObject(k);
                String id = e.getString(TAG_ID);
                String shopName = e.getString(TAG_SHOP_NAME);
                String shopNameForGoogle = e.getString(TAG_SHOP_NAME_GOOGLE);
                String img = e.getString(TAG_IMAGE);
                String address = e.getString(TAG_ADDRESS);
                String tel = e.getString(TAG_TEL);
                String hrs = e.getString(TAG_HRS);
                String lat = e.getString(TAG_LAT);
                String lng = e.getString(TAG_LNG);
            }
        }
    }
} catch (JSONException e) {
    e.printStackTrace();
}

上記はjsonファイルから収集したデータです。構造は

regions
->areas
->shops

arrayList を使用して格納する必要がありますか? 店舗一覧を保存した後の参照方法は?ありがとう。

4

1 に答える 1

1

大まかに言えば、トライフィットのようなものです。

コードでは、いくつかの基本的なアプローチは次のとおりです。

アプローチ 1:

Region
 List<area>
    List<shops>

これにより、検索/挿入と削除が本当に苦痛になります. しかし、プラス面としては、理解して反復するのに十分単純です。

アプローチ 2:

2 つのマップ:Region -> List<area>およびArea -> List<shops>

1st以上の性能。

アプローチ 3:

単一のマップ: Region+Area -> List<shops>. 地域やエリアの数によっては、キーが多すぎる場合があります。

于 2013-07-29T04:18:47.610 に答える