XML字符串资源与Java常量字符串?

时间:2014-01-23 12:47:26

标签: java android xml string

我有一个字符串就像String data="apps";

我知道在Android中以两种方式加载String ..

第一个是

因此它是一个常量,我将其定义为

public static final String data="apps";

另一种类型是在res/vslues/strings.xml文件中对其进行定义,如..

<string name="data">apps</string>
<string name="hello_world">Hello world!</string>

如果我想使用它..

第一种方式ClassName.data

第二种方式context.getResources().getString(resourceid)

  

问题:

     

所以现在我的问题是我想在不同的类中使用相同的String 30次。并且我有更多的变量。因此在上述方法中加载速度更快并占用更少的内存。

5 个答案:

答案 0 :(得分:10)

然而,在任何一种情况下,速度都不应该成为问题。我建议根据有意义的事情进行组织。

常量类

放置将在内部使用的字符串常量,例如数据库列名或其他键。

<强>的strings.xml

输入为用户显示的字符串。这样您就可以利用本地化等。

  

根据要求,您应该更喜欢第二种方法意味着XML   基于

答案 1 :(得分:1)

XML字符串值是指可以根据区域设置覆盖的显示字符串。这样,您可以通过常量键来引用可翻译的显示值。

答案 2 :(得分:1)

您应该考虑使用XML字符串作为向用户显示内容并根据区域设置进行更改的方式。

永远不要使用public static final String data="apps";来隐藏一些非用户数据,如数据库连接,日志消息等。

答案 3 :(得分:0)

我认为速度和内存使用率是相同的。类中的常量就像string.xml中的常量一样,该常量存储一次,并在您需要在其他任何地方引用时进行引用。 但是,将string.xml存储在另一个文件中的好处是可以避免额外的代码导入行。同时,必须记住,使用string.xml存储时,只能在可访问活动上下文的地方使用它。

答案 4 :(得分:-1)

我建议您利用Android资源系统。

引用书Android In Practice Resources in Android are efficient and fast. XML resources are compiled into a binary format. This makes them friendly at development time, without being slow at Runtime.