java - 如何在android中创建一个全局变量?

标签 java android class variables global-variables

<分区>

在我的 android 应用程序中,我需要一个地方来放置变量成员 id 。 问题是,它是从在线 API 获取的,我需要找到一种方法来存储/检索它

我试过将它放在一个自定义类中,但问题是,如果我终止 Activity 它就会丢失,我也知道有一种方法可以扩展应用程序。

所以我想知道存储全局变量的最佳方式是什么?

我必须实现:

  1. 在 onSaveState 上保存变量
  2. 将其保存在 sharefref 上
  3. 手动保存
  4. 手动检索

谢谢

更新: 谢谢您的回复。如果我只有 3 个变量(简单数据,例如一个 boolean ,一个 phrase ),并且我在应用程序重启后需要它,我应该简单地使用 share pref 来存储它吗?它的缺点是什么?例如会对性能有害吗?谢谢

最佳答案

您可以通过在扩展 Application 类的类中声明它们来在 android 中创建全局变量。

像这样。

class MyAppApplication extends Application {

    private String mGlobalVarValue;

    public String getGlobalVarValue() {
        return mGlobalVarValue;
    }

    public void setGlobalVarValue(String str) {
        mGlobalVarValue = str;
    }
}

主 Activity .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

关于java - 如何在android中创建一个全局变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21810240/

相关文章:

android - 使用 Python 服务器和 Android 客户端进行套接字编程

python - 在自定义类中实现 __next__

java - Spring JPA hibernate 查询生成器

java - 使用 GridLayout 将按钮添加到框架

java - 如何读取 HOCON 配置以将值加载到 Map 中?

android - GCM 寄存器在我的模拟器上不起作用

java - 我的 BroadcastReceiver 上没有收到操作 - Android Studio

c# - c#中用于反射的动态类名

java - 阅读器不会停止在我的程序中(java)

java - 游戏敌人电脑AI逻辑