我的应用中有一些内容,我希望用户每24小时只能做一次。我怎样才能做到这一点?我基本上希望他们点击一个按钮,如果自上次点击按钮后不到24小时,则会弹出一个告诉他们等待的吐司。我知道我可以做getTime(),但我不知道如何持续存储这段时间。
答案 0 :(得分:1)
您可以使用几个选项,请查看此链接:http://developer.android.com/guide/topics/data/data-storage.html。
最简单的可能是使用共享首选项,例如:
SharedPreferences settings = getPreferences(MODE_PRIVATE);
// to read a value:
last_click= settings.getLong("last_click", default_value);
//to write a value:
SharedPreferences.Editor editor = settings.edit();
editor.putLong("last_click", time);
editor.commit();
答案 1 :(得分:0)
SharedPreferences
允许您在应用中存储持久数据,并且您可以通过System.currentTimeMillis()
final long DURATION = 24 * 60 * 60 * 1000; // 24 hours in milliseconds
yourButton.setOnClickListener(
new OnClickListener(){
@Override
public void onClick(View v) {
long currentTime = System.currentTimeMillis();
SharedPreferences settings = getPreferences(MODE_PRIVATE);
if((currentTime - settings.getLong("last_click", 0)) > DURATION) {
// Save the new click time
settings.edit().putLong("last_click", currentTime).commit();
// Do your stuff here!
} else {
// Less than 24 hours, show your toast here!
}
}
}
);