【发布时间】:2015-03-25 14:42:08
【问题描述】:
我有一个由多个容器(更具体地说是 FrameLayouts)组成的 Activity,用于显示片段。这些片段实际上是音频效果,所以一旦我选择了一些片段在它们相应的容器中显示并调整它们的旋钮(典型的吉他效果东西),我想保存并加载它们的预设。
换句话说,我想将我的 Activity 的视图(包含哪个效果在哪个容器中的数据,旋钮是什么值等)保存到一个文件中,然后加载该文件。加载时,我希望我的 Activity 切换到我保存在文件中的视图。
我已经制作了保存和加载的界面,但是我找不到保存和加载视图的方法。我发现了许多保存和加载方向更改视图的示例,但没有一个保存和加载文件的示例。
这是我用于保存和加载的代码的 sn-ps,太糟糕了,它不起作用。实际上,这只是我通过在互联网上找到的一些边际说明“糊涂”的,也许我离答案太远了:
public void save_file (Object file, String fileName, Context context) {
try {
FileOutputStream fos = context.openFileOutput(fileName, context.MODE_PRIVATE);
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(MainActivity.this);
oos.writeObject(file);
oos.flush();
oos.close();
fos.close();
if (fileName != null) {
Toast.makeText(context, "Save successful", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(context, "Enter name", Toast.LENGTH_LONG).show();
}
} catch (IOException e) {
e.printStackTrace();
}
}
public static MainActivity load_file(String fileName, Context context) {
MainActivity Main = null;
try {
FileInputStream fis = context.openFileInput(fileName);
ObjectInputStream is = new ObjectInputStream(fis);
Main = (MainActivity) is.readObject();
is.close();
fis.close();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return Main;
}
我也不知道如何将视图切换到加载的视图。感谢您的帮助。
【问题讨论】:
标签: android android-fragments view save load