【问题标题】:how to save multiple data in shared preferences in android如何在android的共享首选项中保存多个数据
【发布时间】:2014-05-05 10:31:44
【问题描述】:

我的应用程序包含一个日期列表,其中有切换按钮

    1.>on check it sets alarm and on uncheck it deletes the alarm

这些工作正常,但是当我关闭应用程序时,警报将自动被删除 所以我想在单击切换按钮时将数据保存在共享首选项中,并在我正在做的共享首选项中取消 btn 时删除特定数据

SharedPreferences sharedPref = context.getSharedPreferences("com.example.dd.mydata", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putString("alarm"+cday+"_"+month,cday);
editor.commit();

其中 cday 和 month 是闹钟日期和月份

收到后我必须获取这些数据并与日期匹配,以便警报响起
所以我正在这样做

SharedPreferences sharedPref = arg0.getSharedPreferences("com.example.dd.mydata", Context.MODE_PRIVATE);
        String name = sharedPref.getString("alarm"+cday+"_"+cmonth, null);

通过这种方式,我在两个类中都实现了共享首选项的价值,但它适用于单击超过 2 个按钮的单个切换按钮 **覆盖还告诉我如何检查当前日期是否存在于共享中偏好

【问题讨论】:

  • 我猜你必须设置不同的按键,每次用户点击设置闹钟
  • 要么使用不同的密钥,要么使用数据库进行记录
  • 我的 cday 包含列表中的值(这是警报日期)所以对于每一行它都是不同的,我这样做是为了设置键 editor.putString("alarm"+cday+"_"+月,cday);每次设置新密钥都是错误的,然后告诉我正确的步骤是什么
  • 只需将#index 附加到您的密钥末尾,现在只需运行forloop 并检索您的密钥。
  • 这是完美的工作我的共享首选项包含数据,但如何将其与当前日期匹配

标签: android sharedpreferences


【解决方案1】:

你可以调用SharedPreferences.contains(String key)方法。

例如,contains("alarm"+cday+"_"+cmonth)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-03
    • 2011-08-23
    • 2022-01-06
    • 1970-01-01
    • 1970-01-01
    • 2012-03-29
    • 2015-07-20
    • 2019-08-02
    相关资源
    最近更新 更多