参见英文答案 >
Android global variable12个
在我的Android应用程序中,我需要一个放置变量成员ID的地方.
问题是,它正在从在线API获得,我需要找到一种方法来存储/检索它
在我的Android应用程序中,我需要一个放置变量成员ID的地方.
问题是,它正在从在线API获得,我需要找到一种方法来存储/检索它
我已经尝试把它放在一个自定义的类中,但是问题是,如果我杀死了这个活动,它会丢失,我也知道有一种扩展应用程序的方法.
所以我想知道什么是存储全局变量的最佳方式?
我必须暗示:
>将变量保存在onSaveState上
>将其保存在sharepref上
>手动保存
>手动检索
谢谢
更新:
感谢您的回复.如果我只有3个变量(简单数据,例如一个布尔值,一个短语),并且在应用程序重新启动后需要它,是否应该使用共享pref来存储它?它的缺点是什么?例如会对表演有害吗?谢谢
解决方法
您可以在android中通过在扩展Application类的类中声明它们来创建全局变量.
这样的东西
- class MyAppApplication extends Application {
- private String mGlobalVarValue;
- public String getGlobalVarValue() {
- return mGlobalVarValue;
- }
- public void setGlobalVarValue(String str) {
- mGlobalVarValue = str;
- }
- }
MainActivity.java
- class MainActivity extends Activity {
- @Override
- public void onCreate(Bundle b){
- ...
- MyAppApplication mApp = ((MyAppApplication)getApplicationContext());
- String globalVarValue = mApp.getGlobalVarValue();
- ...
- }
- }
更新
这将保持该值,直到您的应用程序未被销毁为止.如果您希望在应用程序实例销毁后保持您的值保存
那么您可以使用SharedPreferences最佳方式来执行此操作.
从这里了解SharedPrefernces:http://developer.android.com/reference/android/content/SharedPreferences.html