我正在开发我的第一个Android项目。我有一个Service类,等待接收意图从远程服务器检索一些信息。我的这项服务看起来像这样:
public class MyService extends IntentService{
public static final String ACTION_INTENT_01 = "xyz.actionIntent01";
public static final String ACTION_INTENT_02 = "xyz.actionIntent02";
public static final String ACTION_INTENT_03 = "xyz.actionIntent03";
... A lot of constant more...
public static final String ACTION_INTENT_01_EXTRA = "xyz.actionIntent01Extra";
...more and more constants...
public MyService(){
...
}
/*The Rest of The Service*/
}
我的问题是,更好的是,在这个类中有很多常量字符串,或者在String.xml文件中声明它们并通过getString(R.string.ACTION_INTENT_03)
访问它们?
谢谢!
答案 0 :(得分:3)
这些都不是。我建议有一个常量类,并将这些常量放在该类中。通过这种方式,您的服务类更小,更易于维护。
您应该将字符串放在字符串XML文件中,只要这些字符串可以进行本地化更改:英语中有特定值,法语中有不同的值,依此类推。或者,如果要在XML UI布局中使用它们。因此,如果您只在代码中使用常量,则没有理由将它们放在XML字符串中。
答案 1 :(得分:1)
你可以两种方式做。我个人将UI中显示的字符串声明为strings.xml
,并将源代码中的字符串常量声明。
要在strings.xml
中声明字符串资源的一个原因是稍后它们很容易本地化。
答案 2 :(得分:0)
在strings.xml中声明它们,因为如果要修改的值,修改后的值将反映在任何地方。