2

我正在寻找一种方法来传递我没有创建且无法修改以在 android 中实现 parcelable 的对象。我得到了一个 jar 文件,通过构建它的路径将其放入项目中。现在我需要将活动创建的对象传递给活动,以便我可以使用 jar 文件的内容。现在它已经设置好了,所以我将它定义为静态的,这可能不是最好的方法。我能想到的唯一其他选择是使用 putSerializable 但我听说这会给系统带来压力。那么,我的其他选择是什么?

4

1 回答 1

0

您在这里遇到的主要问题是,如果该类具有不可访问的私有字段(通过 getter),那么您无法获取此数据来打包它。如果所有私有字段都可以访问,那么您可能有几种可能性:

  • 用 Parcelable 子类扩展它(正如 Simon 在评论中所建议的那样)。
  • 将其包装在另一个 Parcelable 对象中。
  • 将其转换为已经 Parcelable 的对象(例如 的任何实现Map

请注意,如果对象本身不是很大,那么打包和序列化之间的性能下降应该不会很明显。所以我会去序列化,如果性能不令人满意,那么考虑其他选项。

于 2013-07-18T18:26:01.037 回答