2011-10-06 43 views
5

Cách tốt nhất để tải dữ liệu ngoài trong Android là gì?Cách tốt nhất để tải dữ liệu ngoài trong android

Hiện nay, đây là những gì tôi làm:

  1. Tạo dịch vụ web RESTful mà trả về một mảng JSON của các đối tượng (trên máy chủ)
  2. Trong invoke android HTTPGet và tiêu thụ dịch vụ
  3. Parse thông qua phản ứng JSON
  4. Sử dụng GSON để phân tích phản hồi thẳng vào một mảng đối tượng
  5. Sử dụng một loạt đối tượng khi cần

Đây có phải là phương pháp tối ưu về tài liệu Android không?

Trả lời

15

Theo trình bày Google I/O Creating REST apps, bạn nên làm một cái gì đó như:

  1. Tạo dịch vụ web RESTful trả về JSON (hoặc XML)
  2. hoạt động của bạn (thông qua AsyncTask hoặc Loader) yêu cầu các nguồn lực từ một ContentProvider
  3. Trình cung cấp nội dung trả về một Con trỏ chứa dữ liệu được lưu trong một Sqlite Db
  4. Trình cung cấp nội dung yêu cầu Dịch vụ (hoặc SyncService) thu thập dữ liệu mới từ dịch vụ web
  5. hoạt động của bạn làm cho sử dụng con trỏ để hiển thị dữ liệu trong giao diện người dùng
  6. Dịch vụ gọi HttpGet
  7. Dịch vụ phân tích phản ứng
  8. Dịch vụ đẩy dữ liệu mới vào ContentProvider (mà trong bản cập nhật lần lượt Sqlite db)
  9. ContentProvider gọi notifyChange để thông báo ứng dụng có dữ liệu mới cho con trỏ trở lại ở bước 3
  10. hoạt động của bạn lại yêu cầu một con trỏ được cập nhật từ ContentProvider, và sau đó cập nhật giao diện người dùng với dữ liệu mới trong Cursor
+3

Tôi có thể có ví dụ nào không? –

+1

Id đánh giá cao một tut tốt hoặc đoạn mã cụ thể về cách thực hiện đúng cách này, ứng dụng Google IO hơi bị áp đảo nếu bạn vẫn ở cấp độ bắt đầu/trung cấp – ChuckKelly

+0

Bạn có thể cập nhật liên kết của mình không vì nó không còn khả dụng nữa? – blackwolf

Các vấn đề liên quan