Android intent过滤器:更好的常量或String.xml

时间:2013-10-11 11:32:29

标签: android android-intent

我正在开发我的第一个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)访问它们?

谢谢!

3 个答案:

答案 0 :(得分:3)

这些都不是。我建议有一个常量类,并将这些常量放在该类中。通过这种方式,您的服务类更小,更易于维护。

您应该将字符串放在字符串XML文件中,只要这些字符串可以进行本地化更改:英语中有特定值,法语中有不同的值,依此类推。或者,如果要在XML UI布局中使用它们。因此,如果您只在代码中使用常量,则没有理由将它们放在XML字符串中。

答案 1 :(得分:1)

你可以两种方式做。我个人将UI中显示的字符串声明为strings.xml,并将源代码中的字符串常量声明。

要在strings.xml中声明字符串资源的一个原因是稍后它们很容易本地化。

答案 2 :(得分:0)

在strings.xml中声明它们,因为如果要修改的值,修改后的值将反映在任何地方。

相关问题