0
我想解決如果我可以使用資源文件,而開發我的android應用程序,以保存使用字符串值作爲關鍵字的數字列表。例如Android鍵值列表
號(「UK」)= 999 號(「US」)= 911
正如我所說的,這將理想中的資源文件,而不是一個Java類,因爲它是更容易維護
我想解決如果我可以使用資源文件,而開發我的android應用程序,以保存使用字符串值作爲關鍵字的數字列表。例如Android鍵值列表
號(「UK」)= 999 號(「US」)= 911
正如我所說的,這將理想中的資源文件,而不是一個Java類,因爲它是更容易維護
您想要在資源中定義字典。沒有辦法直接做到這一點。但是,您可以將鍵和值定義爲數組,然後構建字典。
在res/values/arrays.xml
,有這樣的事,
<string-array name="emergency_keys">
<item>UK</item>
<item>US</item>
....
</string-array>
<integer-array name="emergency_values">
<item>999</item>
<item>911</item>
...
</integer-array>
然後在你的代碼,你有這樣的工具方法,
Map<String,Integer> getDict(int keyId, int valId) {
String[] keys = getResources().getStringArray(keyId);
int[] values = getResources().getIntArray(valid);
Map<String,Integer> dict = new HashMap<String,Integer>();
for (int i = 0, l = keys.length; i < l; i++) {
dict.put(keys[i], vals[i]);
}
return dict;
}
當你需要在你的代碼字典,爲此,
Map<String,Integer> emergencyNumbers = getDict(R.array.emergency_keys, R.array.emergency_values);
使用.properties,加載一個ResourceBundle – DGomez 2012-04-13 18:24:56