2010-07-13 28 views
7

Tôi xin lỗi vì không có bất kỳ mã nào để đăng, chủ yếu là vì tôi không thể cho tôi biết tôi cần làm gì cần làm.Android - Cách tải xuống dữ liệu dưới nền tại các thời điểm cụ thể

Về cơ bản, tại các khoảng thời gian cụ thể trong ngày (ví dụ 5 P.M), tôi muốn ứng dụng của mình tải xuống một số dữ liệu từ máy chủ và lưu trữ dữ liệu đó trên thiết bị. Điều này nhằm giảm tải trên máy chủ của tôi khi dữ liệu được tải xuống mỗi khi ứng dụng chạy và để giảm thời gian tải cho người dùng để khi họ sử dụng ứng dụng, dữ liệu mới nhất đã được đặt trên thiết bị của họ .

Tôi hoàn toàn không biết cách thực hiện việc này. Tôi biết làm thế nào để tải xuống dữ liệu tốt, nhưng bây giờ làm thế nào để tải về trong nền như tôi đang lập kế hoạch. Thậm chí có thể không?

Tôi không yêu cầu bất kỳ ai làm điều đó cho tôi, nhưng có thể ai đó vui lòng chỉ cho tôi đúng hướng.

+0

tôi đã trả lời một câu hỏi tương tự Bấm [nhập liên kết mô tả ở đây] [1] [1]: http : //stackoverflow.com/a/30029284/4716646 – sunnytheshine

Trả lời

15

Sử dụng AlarmManager

Lớp này cung cấp quyền truy cập vào các dịch vụ hệ thống báo động. Điều này cho phép bạn lên lịch ứng dụng của mình để chạy tại một số thời điểm trong tương lai. Khi báo thức tắt, số Intent đã được đăng ký cho nó sẽ được hệ thống phát sóng, tự động khởi động ứng dụng đích nếu nó chưa được chạy. Các báo thức đã đăng ký được giữ lại trong khi thiết bị đang ngủ (và có thể tùy chọn đánh thức thiết bị nếu chúng tắt trong thời gian đó), nhưng sẽ bị xóa nếu nó bị tắt và khởi động lại.

Sử dụng nó để bắt đầu một dịch vụ Service

A là một thành phần ứng dụng đại diện cho mong muốn hoặc là một ứng dụng để thực hiện một hoạt động còn chạy khi không tương tác với người sử dụng hoặc để cung cấp chức năng cho các ứng dụng khác để sử dụng.

Các API Demos bao gồm một ví dụ Dịch vụ báo thức (trong phần "Ứng dụng"), trong đó:

Chứng minh làm thế nào bạn có thể sắp xếp một cuộc báo động gây ra một dịch vụ được khởi động. Điều này rất hữu ích khi bạn muốn lập lịch báo thức bắt đầu các hoạt động dài hạn, chẳng hạn như truy xuất các e-mail gần đây.

Đặc biệt, xem AlarmService.java cho một ví dụ của việc sử dụng AlarmManager lịch trình dịch vụ của bạn được đánh thức sau, và xem AlarmService_Service.java cho một ví dụ về cách đối phó với cảnh báo đó. Demo API AndroidManifest.xml chứa các định nghĩa dịch vụ và hoạt động có liên quan:

<service android:name=".app.AlarmService_Service" android:process=":remote" /> 

    <activity android:name=".app.AlarmService" android:label="@string/activity_alarm_service"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.SAMPLE_CODE" /> 
     </intent-filter> 
    </activity> 
+0

@Kyle, tôi đã cập nhật câu trả lời của mình để chỉ cho bạn trong giàn khoan ht hướng. –

+0

Cảm ơn bạn đã cực kỳ hữu ích. Điều này thật hoàn hảo. –

0

ai đó có thể vui lòng chỉ cho tôi đi đúng hướng.

AlarmManager, Service, AsyncTask, BroadcastReceiver

<receiver android:name=".receiver.BootReceiver"> 
     <intent-filter> 
      <action android:name="android.intent.action.BOOT_COMPLETED" /> 
     </intent-filter> 
    </receiver> 
+1

Đây có phải là câu trả lời hoặc câu hỏi không? Không có lời giải thích không có liên kết vv xin lỗi -1 – Janusz

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