我的应用程序的功能可以模仿wanelo之类的东西。
用户将在一个活动中输入他们想要购买的搜索词。他们将获得与该搜索词匹配的项目列表。因此,ListView将包含Items。AnItem有很多属性,主要有:
id- 对应Item于数据库中的 iddate_modified- 时间戳知道是否Item已更新remote_directoryItem- 指向的资产(如图标和其他图像)的基本目录的 URL 。URL 的格式如下:http://my.domain.com/items/a1bc234d/wherea1bc234d是随机生成的,由date_modified.remote_dir_name- 的子串remote_directory。从上面的示例中,该值将是a1bc234d。
从搜索结果列表中,用户可以标记要稍后查看的项目。这将触发几件事:
- 首先,我想将 s 添加到代表用户“下载”的 s 的
Item不同位置。ListViewItem - 然后,我想实际下载所有的
Item数据:描述,所有资产remote_directory。这些东西被存储在我的应用程序的内部存储文件夹中remote_dir_name:/data/data/my.app.package.name/files/a1bc234d/。
这些“下载”的项目旨在离线模式下查看。
此“已下载”ListView对应于不同的 Activity,并且将具有显示下载状态进度条的列表项Item。此外,这ListView应该是可编辑的:使用应该能够删除和重新排序Item列表中的 s。
最后,“下载”ListView需要持久化。它应该保持秩序。搜索结果的ListView不需要持续存在。
我在弄清楚如何存储Item下载的 s 列表时遇到了很多麻烦。如果列表项正在下载,“下载”ListView需要知道何时更新列表项的进度条。我认为将 s 存储在数据库中有点矫枉过正,Item因为我会不断更新一行的列,直到下载完成。我应该如何在这两个ListViews之间传递这个下载状态信息?