Java 将密钥从服务器映射到资源
考虑这样一个事实,即您有一个从中获取数据的API,并且API本身返回某些键,接收客户端应该使用这些键来“解析”要呈现给用户的人类可读字符串 例如,键可能看起来像这样:Java 将密钥从服务器映射到资源,java,android,android-resources,Java,Android,Android Resources,考虑这样一个事实,即您有一个从中获取数据的API,并且API本身返回某些键,接收客户端应该使用这些键来“解析”要呈现给用户的人类可读字符串 例如,键可能看起来像这样: DOMAIN_TYPE_SUBTYPE_ID 然后将对应于strings.xml中的给定条目: <string name="domain_type_subtype_id">This magical item</string> 然而,从我听到和读到的。。。这真的不是一种有效的方法。我认为在多个字符串的Re
DOMAIN_TYPE_SUBTYPE_ID
然后将对应于strings.xml
中的给定条目:
<string name="domain_type_subtype_id">This magical item</string>
然而,从我听到和读到的。。。这真的不是一种有效的方法。我认为在多个字符串的RecyclerView
设置中使用它是一个非常糟糕的主意
2) 在singleton类中的某个地方有一个包含所有数据(字符串、整数)的静态查找字段,但是考虑到要跟踪的键有很多,这可能是一个不幸的内存命中
Map<String, Integer> strings = new HashMap<String, Integer>() {{
put("DOMAIN_TYPE_SUBTYPE_ID", R.string.domain_type_subtype_id);
//...
}};
Map strings=newhashmap(){{
put(“域类型子类型ID”,R.string.DOMAIN类型子类型ID);
//...
}};
public static int lookupStringRes(String value) {
switch (value) {
case "DOMAIN_TYPE_SUBTYPE_ID": return R.string.domain_type_subtype_id;
// ...
default:
Log.w("TAG", "Resource not found");
return -1;
}
}
public static int lookupStringRes(String value) {
switch (value) {
case "DOMAIN_TYPE_SUBTYPE_ID": return R.string.domain_type_subtype_id;
// ...
default:
Log.w("TAG", "Resource not found");
return -1;
}
}