java - 我可以创建一个类来用 Java 存储 Android 应用程序中的所有字符串,而不是使用 Context 和 getString 吗?

标签 java android string

在Android应用程序中创建一个仅托管所有需要的字符串的公共(public)类Strings(而不是使用Android内置的strings.xml)是一个坏主意吗?

public class Strings {
    public static final String RESOURCE_ONE = "hello";
    public static final String RESOURCE_TWO = "world";
}

那么我就可以从 Android 应用程序中的任何位置执行

args.putString(Strings.RESOURCE_ONE, "resource");

而不是默认的

args.putString(getString(R.string.resource_one), "resource");

我正在考虑这种方法,这样我就不需要一直使用 Context,当我在静态函数中需要字符串时,这很有用。但是,我不确定声明整个类来存储每个字符串是否会占用大量内存并浪费应用程序中的内存。

有什么想法吗?

最佳答案

是的,存储这样的字符串是一种不好的做法。但是,您必须将某些字符串放入 strings.xml 中,例如 app_name 等。如果您将所有内容都存储在类中,那么您将无法轻松地为您的应用程序提供不同的翻译。字符串。 您可以将一些在整个应用程序中恒定的字符串存储在这样的类中,例如类 AppConstant ,其中包含每个类用于不同目的的所有字符串。 了解更多 https://developer.android.com/guide/topics/resources/string-resource.html

关于java - 我可以创建一个类来用 Java 存储 Android 应用程序中的所有字符串,而不是使用 Context 和 getString 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48435900/

相关文章:

java - indexOf 查找字符串中所有出现的单词

java - ==、equals() 和 instanceof() 之间的区别

java.lang.IllegalArgumentException : Tree must not already contain child 异常

java - 扩展 BigDecimal 数的范围

c# - 制作只读本地字符串 C#

python - 在 python 3 中将字节转换为字符串

java - 如何在参数化查询中使用 spring MVC jdbcTempates 传递字符串以删除多行

android - 找不到 OnCameraIdleListener(不推荐使用 OnCameraChangeListener())_Android 工作室?

java - USB主机: how to open my app only if it is not already in foreground?

android - 将动态子项添加到 ExpandableListView(添加记录时)