在我的 Android 应用程序中,当我登录应用程序时,我会收到一组字符串,我使用共享首选项
保存这些字符串。
这些字符串只不过是整个应用程序中必须分配给 TextView
的文本、EditText
的提示等。
例如。假设我的应用程序有 4 个 Activity 。每个 Activity 有 10 个标签/TextView。因此,完全登录后,我将收到 40 个字符串,并根据某种逻辑将其存储在共享首选项中。我的问题是有没有一种方法可以在某处声明 40 个字符串并在登录时初始化(而不是存储在共享首选项中)。我必须能够在整个应用程序中使用这个字符串吗?实现这一目标的最佳方法是什么?
提前致谢。
最佳答案
您可以通过扩展android.app.Application
来实现这一点
public class MyApplication extends Application {
private HashMap<String, String> variables = new HashMap<>();
public String getVariable(String key) {
return variables.get(key);
}
public void setVariable(String key, String value) {
variables.put(key, value);
}
}
并在 list 中
<application
android:name="MyApplication"
android:icon="@drawable/icon"
android:label="@string/app_name">
....
</application>
并在您想要获取变量的 Activity 中执行此操作
// set variable
((MyApplication) this.getApplication()).setVariable("key1", "value1");
// get variable
String value1 = ((MyApplication) this.getApplication()).getVariable("key1");
关于java - Android:初始化一些可以在项目中任何地方使用的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35171642/