如何保存计时器值?因此,当我,例如,按后退按钮或当我"杀死"应用程序,我不希望计时器重置为00:00。
代码是您按住并释放的按钮。当我按住按钮时,计时器启动,计时器停止,直到我松开按钮。我希望这个时间永远不会重置,所以我可以看到按下按钮时我总共花了多少时间。有人请帮帮我! :)
这是我的代码:
public class MainActivity extends ActionBarActivity {
Button button1;
Chronometer chromo;
protected long time;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button1=(Button)findViewById(R.id.button1);
chromo=(Chronometer)findViewById(R.id.chromo);
}
button1.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
if(event.getAction() == MotionEvent.ACTION_DOWN){
chromo.setBase(SystemClock.elapsedRealtime()+time);
chromo.start();
}else if( event.getAction() == MotionEvent.ACTION_UP){
time =chromo.getBase()-SystemClock.elapsedRealtime();
chromo.stop();
}
return true;
}
}
}
答案 0 :(得分:0)
您应该使用 sharedPreferences 在应用中保存临时数据。搜索它:有很多关于它的教程。
答案 1 :(得分:0)
你最好的可能是使用SharedPreferences。这一点的主要目的是让你的应用程序的某些设置持续超过当前实例(这大致是你的问题)。
// 0 - for private mode`
SharedPreferences pref = getApplicationContext().getSharedPreferences("NameForMyPrefs", 0);
Editor editor = pref.edit();
editor.putLong("time", time);
editor.putString("otherRelevantData", "Kittens");
editor.commit();
编辑:
我改变了在代码中初始化它的方式,使其更加清晰。
EDIT2:
由@ Tr4X发布的链接(引导here)@ 2Dee有一个非常可靠的答案你应该考虑。
快乐的编码!如果您有任何问题,请发表评论。