Android保存和还原活动上下文或布局作为数据

时间:2017-10-13 10:21:53

标签: java android android-activity instance savestate

我有一个设计活动,用户可以在其中做很多事情,比如添加文字和添加图片。

现在我需要提供一个选项,将他们的工作保存为草稿,因此他们的所有上下文/相对布局都会转换为数据并保存到某个文件中,即使在应用程序关闭后也可以检索它。

我无法使用onSaveInstanceState和onRestoreInstanceState,因为我有许多相同活动的实例。

@Override
public void onSaveInstanceState(Bundle savedInstanceState)
{
// Always call the superclass so it can save the view hierarchy state
    super.onSaveInstanceState(savedInstanceState);
}

@Override
public void onRestoreInstanceState(Bundle savedInstanceState)
{
// Always call the superclass so it can restore the view hierarchy
    super.onRestoreInstanceState(savedInstanceState);

}

因此需要使用不同的方法,我可以单击“保存”按钮并使用键存储实例状态,然后单击“编辑”按钮并通过传递键来获取相同的实例

但需要类似下面的内容

public void onSaveButtonClick(Bundle savedInstanceState, Sting Key)
{
   // save the activity to bundle with key and convert the bundle as data to store
}

public void onRestoreButtonClick(Bundle savedInstanceState, Sting Key)
{
    // convert the data to bindle and start the activity with restored bundle

}

1 个答案:

答案 0 :(得分:0)

要持久保存数据,您可以使用SharedPreferences。这允许您将数据保存为键值对。看看https://developer.android.com/training/basics/data-storage/shared-preferences.html

请注意,SharedPreferences只能处理一组有限的数据类型。