android - 在不使用 android 中的共享 pref 和数据库的情况下,在重新加载 Activity 时保留 "data or string"?

标签 android sqlite android-activity sharedpreferences

我想在不使用共享首选项或 sqllite 数据库的情况下保留 Activity 重新加载时的数据或字符串。

目前我已经尝试过 OnsavedInstancestate 或 OnRestoreInstancestate 方法,但只有当方向改变而不是为了重新加载 Activity 时它才会起作用...

请建议我克服这个问题。

问候 普里亚

最佳答案

你可以在这里使用 singleTon 类机制。

  • 尝试在您的应用中创建一个单例类。
  • 在您的 Activity 中获取类的实例。
  • 将数据设置到onCreate()中的类
  • onRestart() 中随时从类中获取数据。

要了解有关 singleTon 类的更多信息,请参阅 this..

创建单例类

public class Singleton {

    private static Singleton singleton = new Singleton();

    /*
     * A private Constructor prevents any other class from instantiating.
     */

    public String valueToStore;

    private Singleton() {
    }

    /* Static 'instance' method */
    public static Singleton getInstance() {
        return singleton;
    }

    public String getValueToStore() {
        return valueToStore;
    }

    public void setValueToStore(String valueToStore) {
        this.valueToStore = valueToStore;
    }

}

在你的 Activity 中。

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Singleton singleton = Singleton.getInstance();

    singleton.setValueToStore("Hai");
}



@Override
protected void onRestart() {
    // TODO Auto-generated method stub
    super.onRestart();

    Singleton singleton = Singleton.getInstance();

    Log.d("Value", singleton.getValueToStore());
}

关于android - 在不使用 android 中的共享 pref 和数据库的情况下,在重新加载 Activity 时保留 "data or string"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22169163/

相关文章:

java - 如何使用先前 ListView 中的两个 id 从远程数据库中选择数据

java - Android Activity ClassNotFoundException - 尝试了一切

android force 在横向模式下启动 Activity

java - 如何存储 Android 的单用户登录数据?

java - IllegalArgumentException:2020 年 1 月安全路径中的无效列 null

android sqlite 获取当天有效的行

java - 这里的 map 在移动设备中不显示

api - 检索YouTube用户添加到所有播放列表的所有视频

Android Studio Picasso gif 加载占位符图像

android - Android Nougat 锁屏中 URI 的 startActivity