android - 在android中加载外部数据的最佳方式

标签 android web-services

在 android 中加载外部数据的最佳方式是什么?

目前,这就是我所做的:

  1. 创建返回 JSON 对象数组的 RESTful 网络服务(在服务器上)
  2. 在android中调用HTTPGet并消费服务
  3. 解析响应JSON
  4. 使用 GSON 将响应直接解析为对象数组
  5. 根据需要使用对象数组

就 Android 文档而言,这是最佳方法吗?

最佳答案

根据Google I/O Creating REST apps演示文稿,你应该这样做:

  1. 创建返回 JSON(或 XML)的 RESTful 网络服务
  2. 您的 Activity (通过 AsyncTask 或 Loader)从 ContentProvider 请求资源
  3. ContentProvider 返回一个 Cursor,其中包含它在本地 Sqlite Db 中缓存的数据
  4. ContentProvider 要求服务(或 SyncService)从网络服务收集新数据
  5. 您的 Activity 使用 Cursor 在 UI 中显示数据
  6. 服务调用 HttpGet
  7. 服务解析响应
  8. 服务将新数据推送到 ContentProvider(后者又更新 Sqlite 数据库)
  9. ContentProvider 调用 notifyChange 通知应用在步骤 3 中返回了 Cursor 的新数据
  10. 您的 Activity 从 ContentProvider 重新请求更新的 Cursor,然后使用 Cursor 中的新数据更新 UI

关于android - 在android中加载外部数据的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7681510/

相关文章:

.NET网络服务 "Could not create type"

android - Smali .local 格式

android - 使用 Cordova 文件插件创建文件时返回 INVALID_MODIFICATION_ERR

php - 解析 SOAP 响应

java soap webservice xml到对象

java - 从浏览器访问 Web 服务

android - 在通知栏上显示 LevelListDrawable

android - Cordova Android 应用程序不接收来自服务器端的 FCM 通知

Android 从内部/外部存储中选择图像

c# - 为什么这个静态构造函数没有被调用?