1

我正在开发我的第一个 Android 项目。我有一个服务类,它等待接收意图从远程服务器检索一些信息。我的这项服务看起来像这样:

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)??访问它们?

谢谢!

4

3 回答 3

3

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

仅当字符串需要进行本地化更改时,才应将字符串放入字符串 XML 文件中:英语有特定值,法语有不同值等等。或者,如果您想在 XML UI 布局中使用它们。因此,如果您有仅在代码中使用的常量,则没有理由将它们放在 XML 字符串中。

于 2013-10-11T11:38:17.323 回答
1

您可以通过两种方式进行。我个人将 UI 中显示的字符串声明为strings.xml, 源代码中的字符串常量。

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

于 2013-10-11T11:37:10.360 回答
0

在 strings.xml 中声明它们,因为如果您正在修改值,那么修改后的值将在任何地方反映出来。

于 2013-10-11T11:45:56.823 回答