在不同子模块中的活动之间共享复杂对象的实例

时间:2019-05-04 21:16:04

标签: java android android-activity

我正在进行一项重构工作,以将现有的android移动应用重组为子模块,重构的目的是将应用划分为一个核心部分,该部分包含一个主子模块和一个接口子模块,以及一个包含子模块的功能部分该应用程序提供的每个功能。该应用应具有如下所示的结构

enter image description here

应用程序的新结构要求在主模块中创建的复杂对象的某些实例必须与所有功能模块(模块中的活动和视图模型)共享,这就是问题所在。从根本上讲,这是在活动之间传递数据的经常遇到的问题,但是要转弯,要传递的实例是一个非常复杂的对象,这意味着它无法序列化和反序列化,因此不能使用意图进行传递。由于序列化问题,我也不能使用共享首选项或数据库。我已经考虑过使用像Dagger这样的依赖注入框架,但是我不知道如何使它与已经存在的对象实例一起使用。任何建议如何使这项工作?谢谢

1 个答案:

答案 0 :(得分:0)

您可以考虑实现Parcelable接口,以启用Android系统的封送和封送。

https://developer.android.com/reference/android/os/Parcelable