如何保存Android App的当前状态?

时间:2016-06-05 15:22:51

标签: android

我是Android开发的新手。我正在尝试开发一个警报应用程序。当我设置闹钟时,我使用TextView来显示设置闹钟的时间(最初为空)。但当我关闭或最小化应用程序并再次启动它时,TextView再次为空。如何摆脱这个? 我在Android应用程序开发手册中寻找了它的解决方案,但仍然无法找到出路。

2 个答案:

答案 0 :(得分:0)

特别是访问developer.android.com将帮助您开始Android开发。无论如何,您可以使用以下任何一种方法来保存数据:

  • SharedPreferences
  • Sqlite数据库
  • 文件(与您应用的位置有关)

当您重新打开应用程序时,您可以从此方法中检索信息。

答案 1 :(得分:0)

使用SharedPreferences可以轻松保存数据。

private final String SAVED_ALARM_TIME_KEY = "SavedAlarmTime"
private final String ALARM_PREFERENCES = "AlarmPreferences"

private void saveAlarmTime(Context context, long alarmTimestamp) {
    SharedPreferences sharedPref = context.getSharedPreferences(ALARM_PREFERENCES, Context.MODE_PRIVATE);
    SharedPreferences.Editor editor = sharedPref.edit();
    editor.putLong(SAVED_ALARM_TIME, alarmTimestamp);
    editor.commit();
}

private long getAlarmTime(Context context) {
    SharedPreferences sharedPref = context.getSharedPreferences(ALARM_PREFERENCES, Context.MODE_PRIVATE);
     return sharedPref.getLong(SAVED_ALARM_TIME, 0); 
}

这非常适合应用程序中的用户设置。但我想你以后会想要为你的应用程序添加多个警报。在这种情况下,如果您使用数据库会更好。它将为您提供更多选项来扩展实现。例如,您希望在某些日子添加重复警报的功能,数据库将非常方便。

您可以参考文档:https://developer.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html