Its a common problem that everyone gets in the app development i.e data in shared preference is lost if you will force stop your app.
The problem can be solved very easily. The method is edit() on shared preference object reterns an Editor object through which you can make changes to your shared preference for which it is created by edit(). Everytime you want to change the values in Shared preference create a new Editor object because might be the editor object you are using is collected by the garbage collector.
So create a new object each time you edit your shared preference as:
1 2 3 4 5 |
SharedPreferences shared = getSharedPreferences(); Editor editor = shared.edit(); editor.putString("my_string","string"); editor.putInt("my_number", 1); editor.commit(); |
And be sure to commit your changes as soon as all the changes are done.