Android 如何使用MVP模式将数据从一个活动传递到另一个活动?
我在Android 如何使用MVP模式将数据从一个活动传递到另一个活动?,android,design-patterns,android-mvp,Android,Design Patterns,Android Mvp,我在MainActivity中有一个Recyclerview,其中数据来自API。单击项目后,我想打开一个DetailsActivity 现在在MVP模式中,我应该如何将数据对象从MainActivity传递到DetailsActivity?我在Mainactivity中使用了Interactor来处理数据部分。假设DetailsActivity应该显示具有id的“细节”,您可以通过包将id传递到DetailsActivity并通过id获取“细节” 如果假设是错误的,那么您可能会创建“详细信息”
MainActivity
中有一个Recyclerview
,其中数据来自API。单击项目后,我想打开一个DetailsActivity
现在在MVP模式中,我应该如何将数据对象从
MainActivity
传递到DetailsActivity
?我在Mainactivity
中使用了Interactor来处理数据部分。假设DetailsActivity
应该显示具有id
的“细节”,您可以通过包将id
传递到DetailsActivity
并通过id
获取“细节”
如果假设是错误的,那么您可能会创建“详细信息”,并通过包将其传递给详细信息活动
通过使用这两种方法中的任何一种,都可以保证通过捆绑包传递的数据将在进程死亡时“存活”,以防您的应用程序进程在后台被系统杀死。也就是说,当导航回应用程序时,捆绑包将“重新交付”到DetailsActivity
我可以通过Intent直接将数据传递给DetailActivity
,但是这里的MVP方法是如何实现的
在MVP中,视图(V)通常是特定于平台的,因此它(在Android中)可以使用Bundle
这意味着我可以直接将数据发送到DetailActivity
是的,可能是这样。DetailsActivity
的演示者(P)通过Intent获得一个id
,并“要求”交互者从存储库(或您使用的其他抽象)中获取详细数据。我认为您应该在
适配器中使用回调
,并将适配器中的数据传递给
您的第一个活动
然后使用包裹将数据从第一个活动
传递到第二个活动
您可以按照此操作使用Parcelable
[这取决于您想对数据做什么。您可以将数据写入某种存储库,然后在附加视图时让演示者检索数据。