我为安卓维护了一个开源的Flickr应用程序格利姆。目前有一个关于分页的架构问题,我已经尝试解决了很长一段时间,并会欣赏想法。
以下是所涉及的组件:
当用户从PhotoViewerActivity中到达列表的末尾时,就会出现这个问题。此活动没有启动正确任务所需的信息,并更新已传递的照片列表。
我想找出一种方法来做到这一点,同时保持PhotoGridFragment和PhotoViewerActivity之间的耦合尽可能低。熟悉Android的人会知道,因为我们处理的是两种不同的活动,所以它们之间的所有通信都必须通过数据被持久化或序列化的意图进行。Afaik的PhotoViewerActivity不能轻易地打回网格,要求更多的照片。
每项任务都需要不同的状态和信息才能完成工作,这使得事情变得复杂起来。例如,一个LoadPhotosetTask需要集合id,LoadPhotoStreamTask需要一个特定的用户,但不关心设置等等。因此,仅仅将获取更多照片所需的任务名称传递给查看器活动是不够的。
另一种解决方案可以是将PhotoViewer中常见的功能片段抽象到一个抽象类中,然后为每个源创建特定的照片查看器,类似于我们为每个源提供特定PhotoGridFragments的方式。这感觉太过分了,但这可能是我现在脑海中的解决方案。
你怎么解决这个问题?
发布于 2014-03-22 00:34:47
您有负责管理数据的模型/业务组件/服务吗?对我来说,您的描述听起来好像您的gui元素(活动/片段)正在做这项工作。
通常的方法是有一个处理数据的模型/businscomponent/服务,并由不同的gui组件使用。
https://softwareengineering.stackexchange.com/questions/232691
复制相似问题