在我的Android应用程序中,当我登录应用程序时,我收到一组字符串,我使用Shared Preferences
保存。
这些字符串只是必须分配给TextView's
的文本,整个应用程序中EditText's
等的提示。
EG。说我的应用程序有4个活动。每个活动都有10个标签/ TextViews。所以完全在登录时我将收到40个字符串,并且我将它存储在基于某些逻辑的共享首选项中。我的问题是,有一种方法可以在某处声明40个字符串并在登录时初始化(而不是存储在共享首选项中)。我必须能够在我的应用程序中使用这些字符串吗?哪种方法最好?
提前致谢。
答案 0 :(得分:2)
您可以通过扩展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);
}
}
并在清单
<application
android:name="MyApplication"
android:icon="@drawable/icon"
android:label="@string/app_name">
....
</application>
并在您想要获取变量
的活动中执行此操作// set variable
((MyApplication) this.getApplication()).setVariable("key1", "value1");
// get variable
String value1 = ((MyApplication) this.getApplication()).getVariable("key1");
答案 1 :(得分:1)
android.app.Application:
Base class for those who need to maintain global application state.
对我而言,听起来字符串只是应用程序状态的一部分。创建Application的子类,在AndroidManifest.xml中将该类注册为您的应用程序类并将字符串存储在那里。然后,您可以通过调用getApplication()...
来访问所有活动类中的字符串