Saving data in application

后端 未结 4 1948
梦如初夏
梦如初夏 2021-01-24 00:14

I have made an application. It\'s a button that shows the time you have pressed it. Every time I \"kill\" the application, the timer starts at 0 again (naturally). How can I mak

4条回答
  •  忘掉有多难
    2021-01-24 00:28

    To elaborate on @2Dee's answer:

    SharedPreferences prefs= getSharedPreferences("prefs", Context.MODE_PRIVATE);
    // We use an editor to insert values in SharedPreferences
    Editor editor = prefs.edit(); 
    // Saving the values
    editor.putLong("myTime", time); 
    // Committing the changes
    editor.commit(); 
    

    can go into the

    protected void onDestroy();
    

    method. This method can be overloaded in an Activity to be called as the activity is destroyed (killed, closed, etc) so that any data may be saved (which is what you want to do).

    Likewise,

    SharedPreferences prefs= getSharedPreferences("prefs", Context.MODE_PRIVATE);
    time = sharedpreferences.getLong("myTime", 0l);
    

    can go into the

    protected void onCreate(Bundle savedInstanceState);
    

    method. This method is called when the activity is first created. This will set your time to the saved value (defaulting to 0 if there is none).

    If for some reason these need to be called at different times (such as later or earlier in the Activity's lifecycle) you can read more about it here.

    If you like this answer, please upvote 2Dee's answer as well. Some of the code is literally copy/pasted from there.

    Happy Coding! Leave a comment if you have more questions.

提交回复
热议问题