假设我有一个简单的类,一旦它被实例化为一个对象,我希望能够将它的内容序列化为一个文件,并通过稍后加载该文件来检索它...我不知道从哪里开始,what do I need to do to serialize this object to a file?

public class SimpleClass {
   public string name;
   public int id;
   public void save() {
       /* wtf do I do here? */
   }
   public static SimpleClass load(String file) {
       /* what about here? */
   }
}

这可能是世界上最简单的问题,因为这是一项非常简单的任务.NET,但在安卓系统中,我是个新手,所以我完全迷路了.

推荐答案

保存(无异常处理代码):

FileOutputStream fos = context.openFileOutput(fileName, Context.MODE_PRIVATE);
ObjectOutputStream os = new ObjectOutputStream(fos);
os.writeObject(this);
os.close();
fos.close();

正在加载(无异常处理代码):

FileInputStream fis = context.openFileInput(fileName);
ObjectInputStream is = new ObjectInputStream(fis);
SimpleClass simpleClass = (SimpleClass) is.readObject();
is.close();
fis.close();

Android相关问答推荐

了解数据加载在Kotlin中的工作原理

请求标头为空/无法通过拦截器获取

Android Kotlin ImageView内置于Kotlin ImageView中.适配器未按预期更新

我们可以使用KSP读取类中变量的值吗?

Android v31 及更低版本中 ImageView 中的圆角

使用lazyColumn迁移paging3的旧代码

使用 List 和 LazyColumn 重新组合所有项目

使用 async 向网络发出并行请求并在supervisorScope中处理它们

如何正确创建可拖动的浮动视图?

是什么导致调用 Firebase 服务器?

为什么集成React Native时compileSdkVersion错误?

如何在 Jetpack Compose 中向图像视图添加对角色带?

Jetpack Compose 动画的行为是什么?

如何放置在柱子的角落(底端)

如何限制键盘输入键不允许在下一行输入(Android Jetpack Compose 中的 TextField)

Material Design 网站的新设计已启动,但我找不到实现选项卡,该选项卡在哪里?

如何在 compose 中使用 BottomSheetScaffold 为底页设置半展开高度?

Kotlin 调用带参数的函数 Any is xxx ||任何 yyy 都不起作用

Jetpack Compose:对角拆分卡片并将内容放入其中

Google API:java.lang.ClassNotFoundException:找不到类sun.misc.Service