用于保存(SharedPreferences)活动中已用时间的唯一计时器

时间:2016-03-19 06:39:08

标签: android

一如既往地感谢阅读和思考这个问题。

我想在一些活动中节省经过的时间并在以后使用它们,我认为SharedPreferences将是一个很好的保存选择,但我发现使用计时器效率不高。我会感激任何帮助。感谢。

1 个答案:

答案 0 :(得分:0)

声明你的变量:

long lastTimeRecorded;

然后在onCreate上获得一个开始时间:

lastTimeRecorded = System.currentTimeMillis();

然后,当您更新时间时,请从活动中调用此函数:

public void updateTimer(){

long elapsedTime = System.currentTimeMillis() - lastRecordedTime;
    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
    prefs.edit().putLong("elapsedTime", elapsedTime);
}

如果您希望它以特定间隔重复:

private final int interval = 1000; // in millis
private Handler handler = new Handler();
private Runnable runnable = new Runnable(){
    public void run() {
        updateTimer();
    }
};
...
handler.postAtTime(runnable, System.currentTimeMillis()+interval);
handler.postDelayed(runnable, interval);

来自塞缪尔,在这里 How to set a timer in android