我正在做一些 Android 编码,我经常做的事情是创建包含我的静态列表项的 plist。当我必须执行多层列表视图时,这非常有帮助,用户可以向下钻取以查找信息。(例如 Continent --> Country --> City )然后我要做的是编写一个列表视图,将其自身的副本推入更深的数据树中。
但是,在 Android 上,我似乎找不到任何与 plist 等效的方法,可以让我执行上述操作(无需创建 SQL 数据库)。
所以我最终做的是对所有内容进行硬编码......这不是我想做的事情。Android 有大量可用的 xml 资源,这就是我觉得我应该遵循的模式。
ArrayList<Bundle> data = new ArrayList<Bundle>();
Bundle infoHeader = new Bundle();
infoHeader.putInt(keyText,R.string.stay_informed);
infoHeader.putInt(keyLayout,R.layout.main_header);
data.add(infoHeader);
Bundle readAction = new Bundle();
readAction.putInt(keyText,R.string.read);
readAction.putInt(keySubtext, R.string.read_substr);
readAction.putInt(keyLayout, R.layout.main_row_blue);
// link to new ArrayList of items for the next level down
data.add(readAction);
我想做的是以下(或与之非常相似的):
<resources>
<array name="main_list">
<extra>
<string name="keyText" value="@string/stay_informed" />
<layout name="keyLayout" value="@layout/main_header" />
</extra>
<extra>
<string name="keyText" value="@string/read" />
<string name="keySubtext" value="@string/read_substr" />
<layout name="keyLayout" value="@layout/main_row_blue" />
<!-- <string name="keyLink" value="@array/detail_list" /> Where detail_list has more Bundles -->
</extra>
</array>
</resource>
并且只需在运行时加载该 Bundle 数组,而不是将其硬编码到应用程序中。
所以。如何有效地存储/检索Android 上的 a NSArray
of等价物?NSDictionaries
(我发现了android plist parser,但我想知道它是如何在 Android 上完成的)