如何在Android应用程序中按时间限制操作?

时间:2014-03-26 00:43:26

标签: android countdowntimer

我的应用中有一些内容,我希望用户每24小时只能做一次。我怎样才能做到这一点?我基本上希望他们点击一个按钮,如果自上次点击按钮后不到24小时,则会弹出一个告诉他们等待的吐司。我知道我可以做getTime(),但我不知道如何持续存储这段时间。

2 个答案:

答案 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!
            }
        }
    }
);