我的理解是PlaceTokenizer.getPlace(String)
的工作是在哈希之后在URL中获取令牌,解析它,并返回带有该令牌所引用的对象的Place
。
在我的应用程序中,我有一个资源(比如一个视频),我通过视频的唯一ID进行标记。然后我的getPlace
方法应该获取此ID,并从服务器检索视频信息。这是正确的做法吗?
就如何执行此操作而言,我能想出的唯一方法是让RemoteService
在PlaceTokenizer
上正确,并在getPlace
中调用正确的方式方法。关于这一点让我犹豫不决。看起来这个调用更适合Activity
或其他地方。
这是怎么做的?如果没有,有更好的方法吗?
答案 0 :(得分:3)
您的Place
无需下载视频。它可能只包含视频的ID。
您的Activity
将收到Place
,其中包含视频ID,现在Activity
可以进行下载或任何繁重的工作。
所以:您的PlaceTokenizer
只需知道足以将视频ID存储在Place
中。让Activity
在那之后完成工作。 getPlace
的唯一功能是将字符串转换为Place
。
帮助我精神上将Place
重命名为PlaceTag
。地方对象实际上并不代表地方 - 它们代表地方的标签或指针。实际的地点由Activity
。
答案 1 :(得分:1)
如果我可以帮助澄清地方意义一点点。您的地点对象是客户端状态的可序列化表示形式。它将通过包含构建它所需的所有信息来帮助活动将屏幕恢复到以前的状态。