【问题标题】:How would I save and load on object on android when using parcelable?使用 parcelable 时如何在 android 上保存和加载对象?
【发布时间】:2018-03-10 15:01:33
【问题描述】:
public class Expense implements Parcelable, Serializable {
private String _amount, _amountVat, _dateOfExpense, _dateAdded, _datePaid, _expenseDescription;
private Boolean _paid;
private Bitmap _imageBitMap;

public Expense(){
    super();
}

这是我的课,我读到您不能将可打包的对象存储到外部存储中。通过将它添加到我已经完成的类中,它是否可以实现 Serializable ?我也不太确定如何在此类中实现保存和加载。我一直在这里查看其他问题,但我似乎无法将它们解释为适用于我的申请。

【问题讨论】:

  • 我已经在这个类中实现了所有的parcelable方法
  • 把它当作类的普通对象。
  • 将它传递给一个意图,然后在下一个活动中获取并使用它,这很简单。
  • 感谢您的回答,这不是我的问题。我在问我将如何实现在此类中存储和保存对象

标签: android object save parcelable


【解决方案1】:

parcalable 的目的是有时我们的自定义对象具有大量属性,我们需要将其发送到下一个活动,分别发送所有属性给 parcalable 带来困难,您可以轻松做到。

例如,您尝试将 parcalable 对象传递给下一个活动,创建您的对象并将其传递为

Intent intent = new Intent(MainActivity.this, NextActivity.class);
Boy boo = new Boy();
intent.putExtra("boo", boo);
startActivity(intent);

现在在您的下一个活动中,您肯定想再次检索它,这很简单。

Boy boo = getIntent().getExtras().getParcelable("boo");

【讨论】:

  • 您好,感谢您的回复。这不是我的问题。我已经实现了活动之间的传递。我的问题是如何将该对象保存到外部存储并加载它?
  • 一种方法是将对象转换为 json 字符串并在外部存储中另存为文本。另一种方法是使用数据库。
  • 不建议将parcalable对象存储为持久化。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多