1

我无法掌握为不同资源实施集中数据访问的正确方法。

我想要一个类,调用它将DataAccess.class从 aSQLiteDatabaseHelper.class和 a调用,这ServerAccess.class取决于我调用它的方法时什么是合适的。

我认为DataAccess.class从服务扩展是最好的方法,因此我可以将 ASyncTask 用于ServerAccess.class. 现在我有疑问了。我的DataAccess.class应用程序中的大多数活动都需要可以访问,并且我希望它在应用程序访问时停止。

根据谷歌开发人员资源,听起来服务很好地用于后台的持续操作,但鉴于我试图合并的范围,我不确定如何处理生命周期。当我使用这些方法时startService(),我可以在内部进行服务调用吗?每次访问服务时调用它是否有意义,还是应该只在应用程序启动和停止时发生一次?stopService()DataAccess.class

谢谢您的帮助,

4

1 回答 1

1

我会推荐

1)使用所有基于 AsyncTask 的解决方案,因为服务 - 活动通信是有限的。(当然,除非您需要在后台运行某些东西)但我很想听到对此的反驳,为什么要使用服务。

2) 不要只使用一个像DataAccess 这样的Facade,而是让它特定于你的应用程序功能(即有点像Android 中的系统服务)。

3) 你应该像 Android 一样使用工厂来获取你需要的 DataAccess 对象。这解决了您获取 DataAccess 对象的第二部分。遵循与获取和 Android 系统服务相同的模型。

4) 在 Android 文档中指示和管理的地方使用内容提供者。

更新:我认为这些是一种好的解决方案的公理。不是全部。当我们深入考虑这一点时,我会更新。

于 2012-07-25T04:53:31.227 回答