vla*_*ien 9 android android-resources
在我的Android应用程序中,我有一个大的字符串资源xml文件.我想在String值中引用并重用声明的资源值.是否可以让R类解析引用值(la @ string/db_table_name)?
<resources>
<string name="db_table_name">tbl_name</string>
<string name="ddl">create table @string/tbl_name</string>
</resources>
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点.在常规Java世界中,一些工具使用$ {varname}表达式来解析引用.这可以在Android中完成吗?
将%s添加到您想要修改它的第二个资源字符串(您想要动态的那个).即
<resources>
<string name="db_table_name">tbl_name</string>
<string name="ddl">create table %s</string>
</resources>
Run Code Online (Sandbox Code Playgroud)
并在你的代码中使用getString()来实现魔法,
getString(R.string.ddl, getString(R.string.db_table_name));
Run Code Online (Sandbox Code Playgroud)
确实有可能。
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE resources [
<!ENTITY appname "MyAppName">
<!ENTITY author "MrGreen">
]>
<resources>
<string name="app_name">&appname;</string>
<string name="description">The &appname; app was created by &author;</string>
</resources>
Run Code Online (Sandbox Code Playgroud)
您甚至可以全局定义您的实体,例如:
res/raw/entities.ent:
<!ENTITY appname "MyAppName">
<!ENTITY author "MrGreen">
Run Code Online (Sandbox Code Playgroud)
资源/值/string.xml:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE resources [
<!ENTITY % ents SYSTEM "./res/raw/entities.ent">
%ents;
]>
<resources>
<string name="app_name">&appname;</string>
<string name="description">The &appname; app was created by &author;</string>
</resources>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4142 次 |
| 最近记录: |