【发布时间】:2014-06-08 21:15:10
【问题描述】:
应用重启后如何显示用户输入的数据?
现在,一旦应用关闭,所有用户输入的数据都会被删除。另外,我在Activity A中输入数据后,切换到Activity B,再回到Activity A,Activity A中输入的数据也被擦除了。
解决这个问题最简单的方法是什么?
【问题讨论】:
应用重启后如何显示用户输入的数据?
现在,一旦应用关闭,所有用户输入的数据都会被删除。另外,我在Activity A中输入数据后,切换到Activity B,再回到Activity A,Activity A中输入的数据也被擦除了。
解决这个问题最简单的方法是什么?
【问题讨论】:
由于在您切换活动时从您的活动中调用了onDestroy 方法,因此数据被删除
解决方案:
您可以使用Shared Preferences,即使应用程序关闭,它也会保存您的数据
并在应用重启时检索数据。
您可以click here获取更多关于Shared Preferences的信息和教程
【讨论】:
您需要一种数据存储机制。 Shared Preferences、SQLLiteDB 或 Parse.com 之类的服务器/后端可以让您轻松进行数据操作。希望这会有所帮助。
【讨论】:
您可以使用Shared Preferences,即使您的应用关闭,它也会保存您的数据。见Shared Preferences
为了让您更深入地了解实现,我向您展示了这个示例代码,它应该对您实现有用:
用于保存数据:您可以在onStop()期间使用此功能
sharedPrefs = getSharedPreferences("rksData", Context.MODE_PRIVATE);
file1 = getFilesDir();
String name1 = username.getText().toString();
String pwd1 = password.getText().toString();
SharedPreferences.Editor editor = sharedPrefs.edit();
editor.putString("username", name1);
editor.putString("password", pwd1);
editor.commit();
Toast.makeText(
this,
"The data saved by Prefs successfully to ........ : "
+ file1 + "/rksData", Toast.LENGTH_SHORT).show();
用于恢复数据您可以在onCreate()期间使用此功能
sharedPrefs = getSharedPreferences("rksData", 0);
file3 = getFilesDir();
String name1 = sharedPrefs.getString("username", " ");
String pwd1 = sharedPrefs.getString("password", " ");
username.setText(name1);
password.setText(pwd1);
Toast.makeText(
this,
"Data loaded from Prefs Successfully ........ :" + file3
+ "/rksData", Toast.LENGTH_SHORT).show();
希望这会有所帮助。
【讨论】: