要保存活动(Activity)的状态,您可以使用以下方法:
以下是一个示例代码:
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putString("key", value); // 保存数据到 Bundle 对象
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
String value = savedInstanceState.getString("key"); // 从 Bundle 对象中恢复数据
}
以下是一个示例代码:
@Override
protected void onPause() {
super.onPause();
SharedPreferences sharedPref = getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putString("key", value); // 保存数据到 SharedPreferences
editor.apply();
}
@Override
protected void onResume() {
super.onResume();
SharedPreferences sharedPref = getPreferences(Context.MODE_PRIVATE);
String value = sharedPref.getString("key", defaultValue); // 从 SharedPreferences 中恢复数据
}
以下是一个示例代码:
@Override
protected void onPause() {
super.onPause();
SQLiteDatabase db = dbHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("key", value); // 保存数据到数据库
db.insert(TABLE_NAME, null, values);
db.close();
}
@Override
protected void onResume() {
super.onResume();
SQLiteDatabase db = dbHelper.getReadableDatabase();
Cursor cursor = db.query(TABLE_NAME, new String[]{"key"}, null, null, null, null, null);
if (cursor.moveToFirst()) {
String value = cursor.getString(cursor.getColumnIndex("key")); // 从数据库中恢复数据
}
cursor.close();
db.close();
}
这些是保存活动的状态的一些常见方法,您可以根据具体需求选择适合您的方法。请注意,在某些情况下,活动可能会被系统销毁并重新创建,因此您应该确保正确地保存和恢复活动的状态。
上一篇:保存或编辑数据后重定向?