在 android 中加载外部数据的最佳方式是什么?
目前,这就是我所做的:
- 创建返回 JSON 对象数组的 RESTful 网络服务(在服务器上)
- 在android中调用HTTPGet并消费服务
- 解析响应JSON
- 使用 GSON 将响应直接解析为对象数组
- 根据需要使用对象数组
就 Android 文档而言,这是最佳方法吗?
最佳答案
根据Google I/O Creating REST apps演示文稿,你应该这样做:
- 创建返回 JSON(或 XML)的 RESTful 网络服务
- 您的 Activity (通过 AsyncTask 或 Loader)从 ContentProvider 请求资源
- ContentProvider 返回一个 Cursor,其中包含它在本地 Sqlite Db 中缓存的数据
- ContentProvider 要求服务(或 SyncService)从网络服务收集新数据
- 您的 Activity 使用 Cursor 在 UI 中显示数据
- 服务调用 HttpGet
- 服务解析响应
- 服务将新数据推送到 ContentProvider(后者又更新 Sqlite 数据库)
- ContentProvider 调用 notifyChange 通知应用在步骤 3 中返回了 Cursor 的新数据
- 您的 Activity 从 ContentProvider 重新请求更新的 Cursor,然后使用 Cursor 中的新数据更新 UI
关于android - 在android中加载外部数据的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7681510/