在Android中的活动之间传递非基本类型的数据

假设您要开始一个新活动并将当前活动中的一些数据传递给它。如果数据是原始类型,则可以简单地使用意图并添加其他内容,但是对于数组列表或对象等更复杂的数据结构,您将如何处理呢?



POPMUISE
浏览 421回答 2
2回答

炎炎设计

您有几种选择:您可以将更复杂的结构包装在实现该Parcelable接口的类中,该接口可以存储在一个额外的接口中。您可以将更复杂的结构包装在实现该Serializable接口的类中,该接口可以存储在一个额外的接口中。您使用静态数据成员来传递内容,因为它们都在同一过程中您使用外部存储(文件,数据库,SharedPreferences)正如刚发布的人所述,请使用通用组件,例如自定义Application或本地Service您不想要做的是通过附加项传递大笔费用。例如,如果您正在创建一个应用程序,可以从相机上获取图片,则您不希望将这些图片传递给其他人-使用静态数据成员(听起来很棘手)。意图被设计为跨进程工作,这意味着正在进行大量数据复制,如果不需要大数据,则需要避免这种情况。

鸿蒙传说

我知道的一种选择是将您正在使用的数据存储在Application对象中,您的所有活动都可以从上下文中检索到。我也听说过使用Google Protocol Buffer实现更高性能的解决方案
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android