Tôi quyết định đến với bạn vì bạn là chuyên gia
i am not expert
và cả i am not knowledgeable
bạn có thể tìm thấy nhiều người chuyên nghiệp hơn tôi nhưng đây là ý kiến của tôi hope to give you some help
.
trước hết, hãy quên sử dụng AsyncTask
để tải xuống vì nó phải được sử dụng cho các công việc nền ngắn không giống như của bạn, tôi nghĩ rằng lượng tệp bạn muốn tải xuống là khá lớn. (tôi nghĩ vậy)
kiểm tra downloadmanager
của google để xem nó hoạt động như thế nào, nó có thể giúp bạn.
http://developer.android.com/reference/android/app/DownloadManager.html
http://blog.vogella.com/2011/06/14/android-downloadmanager-example/
nếu bạn muốn sử dụng service
sử dụng unbound service
bởi vì bạn không muốn dịch vụ bị phá hủy bởi android hoặc người dùng khi người dùng đóng các ứng dụng phải không? tôi nghĩ bạn muốn lấy dữ liệu của mình theo bất kỳ cách nào.
để có hiệu quả, tôi khuyên bạn nên thực hiện các bước sau:
một. Đọc một dịch vụ hữu ích để truy xuất Dữ liệu khách hàng
b. khi bạn nhận được Dữ liệu khách hàng, hãy làm:
-
tạo một dịch vụ hoặc chuỗi khác để Đọc một dịch vụ còn lại để truy xuất Dữ liệu Bài viết
-
Phân tích cú pháp phản hồi cho Đối tượng Json trên dịch vụ hoặc chuỗi cũ của bạn
bây giờ bạn có 2 dịch vụ hoặc chuỗi chạy đồng thời, vì vậy hãy làm theo các bước insert
rõ ràng parse
và như vậy, trên mỗi dịch vụ hoặc chuỗi.
tại sao tôi không kết hợp a và d? bởi vì tôi nghĩ rằng người dùng không muốn đợi nhiều thời gian sau thanh tiến trình tải xuống.
để chèn dữ liệu của bạn vào cơ sở dữ liệu, hãy sử dụng transaction
và tôi khuyên bạn nên sử dụng:
http://greendao-orm.com/
nó hiệu quả hơn ORM
hơn những người khác cho cơ sở dữ liệu và bạn được miễn phí từ việc triển khai db.
Nếu hoạt động bắt đầu dịch vụ bị hủy một cách rõ ràng hoặc bị ẩn bởi một hoạt động khác, thì dịch vụ phải có cách để cho người dùng biết rằng quá trình đã kết thúc. Làm cách nào để thực hiện điều đó?
sử dụng thông báo:
http://developer.android.com/training/notify-user/build-notification.html
http://www.tutorialspoint.com/android/android_notifications.htm
http://www.vogella.com/tutorials/AndroidNotifications/article.html
Trong khi tất cả quá trình xử lý dài này đang diễn ra ở chế độ nền, tôi sẽ phải hiển thị một số loại chỉ báo (ProgressDialog) Đây là lý do tôi chọn sử dụng Dịch vụ ràng buộc`
làm cách nào để cập nhật giao diện người dùng từ một Dịch vụ không bị ràng buộc? '
Sử dụng LocalBroadCastManager
hoặc nói chung BroadCastReciever
Giao diện người dùng hoạt động cập nhật Android từ dịch vụ
Trong J2ME, tôi đã làm một cái gì đó tương tự, và khi tôi đặt một cái gì đó giống như 6 bước tôi đã đề cập ở trên, tất cả chúng đều được thực hiện tuần tự, tức là lần lượt. Nó có giống trong Android không?
điều này phụ thuộc vào các bước của bạn, nếu bạn làm theo ý tưởng của tôi, bạn chạy concurrently
và nếu bạn chạy ý tưởng của mình, bạn sẽ chạy sequentially
.
Chúc may mắn.