保存用户创建的视图(例如按钮和文本视图),以便在再次使用应用程序时恢复



我的活动有6个默认的卡片视图,每个卡片视图包含一个约束布局,约束布局包含两个文本视图我的问题是,我想添加一个";ADD";这将带你完成一些步骤,并最终创建一个新的卡片视图,但我如何保存用户创建的视图,以便当他们关闭应用程序并再次输入时,它仍然存在?(用户可以添加多个卡片视图(

  • 我熟悉SharedPreferences,但我认为在这种情况下这是不可能的,因为它要求我将数据保存在声明的字符串中,而用户根本无法访问该字符串

我想做的是类似于报警应用程序的事情,当你可以添加多个报警、删除报警等时,即使你重新启动报警应用程序,它也会在那里

您需要的不是保存view本身,而是在用户修改后保存每个对象的信息或状态。您对SharedPreferences的看法是正确的,它不是最好的选择。。。

所以,我推荐两件事:

  1. 保存&获取Cardviews数据应该来自具有属性的自定义类(例如:Alarm(。

    package my.app.example;
    class Alarm{
    long time;
    boolean isOn;
    String label;
    public Alarm(long time, boolean isOn, String label){
    this .time = time;
    this .isOn = isOn;
    this .label = label;
    }
    }
    

您可以按如下方式使用它:

long timeFromDatabase = ...;//get time value from database
boolean isOnFromDatabase= ...;//get isOn value from database
String labelFromDatabase= ...;//get label value from database
Alarm alarm1 = new Alarm(timeFromDatabase, isOnFromDatabase, labelFromDatabase);

之后,您可以将每个Alarm对象添加到List中,然后将其传递给Adapter

  1. 一个数据库(我建议使用SqliteJson(,用于保存每个报警数据(时间、isOn…(

备注Alarm只是一个例子!随意使用适合您项目的任何名称和属性

请参阅本教程,它的方式与我建议的类似:https://www.javatpoint.com/android-sqlite-tutorial,他将联系人保存到sqlite脱机数据库中,稍后再获取。

最新更新