【问题标题】:Android Sharedpreferences TimelimitAndroid Sharedpreferences 时间限制
【发布时间】:2014-03-27 12:54:03
【问题描述】:

在我的 android 应用程序中,我使用共享首选项来记住一些输入,这样每当应用程序启动时,用户就不需要每次都键入输入。现在如果使用应用程序的时间是,我需要注销共享首选项超过 24 小时.. 就像在 gmail 中一样,我们的登录详细信息将被记住 24 小时或其他时间,之后它将自动注销......我需要为此做些什么改变......我在下面给出我的代码......

用于记忆的共享偏好

if (spl1.equals("English")  ) 
            {SharedPreferences setting = this.getSharedPreferences(PREFS_NAME,0);
                    SharedPreferences.Editor editors = setting.edit();
                    editors.putString("lo", "lo");

                    editors.putString("fn", firstName);
                    editors.putString("mn",middleName);
                    editors.putString("ln",lastName);

                    editors.putString("dt",dates);
                    editors.putString("mt",months);
                    editors.putString("yrs",years);
                    //Passing exp no, heart no, lifepath number
                    editors.putLong("name11", sum11);
                    editors.putLong("name12", sum12);
                    editors.putLong("name10", sum10);

                    editors.commit();



                    Intent t = new Intent(FullExplanationEntry.this, TabLayoutActivityh.class);
}

退出

*

@Override
    public boolean onOptionsItemSelected(MenuItem item) {
            if (item.getItemId() == R.id.button04) {
                    SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
                    SharedPreferences.Editor editor = settings.edit();
                    editor.remove("lo");
                    editor.commit();
                    finish();
            }
            return super.onOptionsItemSelected(item);

}

【问题讨论】:

  • “现在如果使用应用程序的时间超过 24 小时,我需要注销 sharedpreference”,您的意思是要清除 sharedprefrences 中的值?
  • 正好.. 24 小时后.. 自动.. 值需要清除

标签: android timeout sharedpreferences


【解决方案1】:

您可以做的是,将上次登录时间存储在 sharedprefence 中,使用:-

editors.putLong("lastlogin", new Date().getTime());

当用户下次启动应用程序时,获取上次登录时间并检查其是否超过 24 小时,如果是,则使用清除数据:-

Deleting shared preferences

【讨论】:

  • ya.. 那很好.. 你知道如何检查时间是否超过 24 小时
  • 你可以计算两个日期之间的差异,如果它超过 24*60*60*1000 那么它早于 24 小时或者你可以参考这个mkyong.com/java/how-to-compare-dates-in-java
  • 我很高兴它有帮助!
【解决方案2】:

您也可以将系统时间添加到共享首选项中,然后在用户启动应用程序或应用程序进入前台时检查相同的时间并比较 共享首选项 中的日期。

如果这超过了您的限制(24 小时),只需清除 shared-preference

【讨论】:

    猜你喜欢
    • 2011-11-28
    • 1970-01-01
    • 2014-06-12
    • 1970-01-01
    • 2011-11-21
    • 1970-01-01
    • 1970-01-01
    • 2017-01-11
    • 2012-03-27
    相关资源
    最近更新 更多