参见英文答案 >
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