单击按钮时在共享首选项中保存时间戳

Posted

技术标签:

【中文标题】单击按钮时在共享首选项中保存时间戳【英文标题】:Save timestamp in shared preferences when a button is clicked 【发布时间】:2019-01-20 05:23:55 【问题描述】:

当点击button 时,如何将timestamp 保存在共享preferences 中?

button.setOnClickListener(new OnClickListener() 
            @Override
            public void onClick(View v) 
               //some logic...
            
        );

【问题讨论】:

您尝试搜索了吗? 结合***.com/questions/23024831/…和***.com/questions/8077530/… 【参考方案1】:

您可以使用 SimpleDateFormat 在所需的时间戳中节省时间。

SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ", Locale.US);
    Date date=new Date(System.currentTimeMillis());
    String formatDate=simpleDateFormat.format(date);

您可以参考here 了解其他日期格式。并使用 SharedPreference 来保存它。

【讨论】:

【参考方案2】:

就像这样:

SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
sharedPreferences.edit()
            .putLong("YourKey", timestamp)
            .apply();

【讨论】:

【参考方案3】:
  in this way you can save current time in SharedPreferences 

  SharedPreferences preferences;
  button.setOnClickListener(new OnClickListener() 
        @Override
        public void onClick(View v) 

   preferences = getSharedPreferences("pref_namae",MODE_PRIVATE);
    SharedPreferences.Editor editor = preferences.edit();
    editor.putLong("TimeStamp",System.currentTimeMillis());
    editor.apply();
        
    );

to get value from prefercance use this code.

long timeStamp = preferences.getLong("TimeStamp",0);

【讨论】:

【参考方案4】:

这是一段代码

Long timestamp = System.getCurrentTimeInMillis()
SharedPreferences prefs = getApplicationContext().getSharedPreferences("preferences", Context.MODE_PRIVATE);
prefs.edit().putLong("time", timestamp).commit();

有关 SharedPreferences 的更多详细信息:https://developer.android.com/training/data-storage/shared-preferences

【讨论】:

以上是关于单击按钮时在共享首选项中保存时间戳的主要内容,如果未能解决你的问题,请参考以下文章

当使用tablayout切换片段时,所有片段都会重新创建

在共享首选项中保存按钮的颜色(kotlin)

如何保存和获取存储在共享首选项中的包名称?

共享首选项中的单选按钮和微调器?

共享首选项保存和检索数据

保存的首选项在重新启动时不起作用