Bạn có thể tìm thêm chi tiết về việc thực hiện các giao dịch trên các nhà cung cấp nội dung Lịch và xây dựng đồng bộ Adapters trong Dev Hướng dẫn Android (http:. // Developer.android.com/guide/topics/providers/calendar-provider html).
Www.it- ebooks.info
9
Làm việc trong nền
GÌ tRÊN CHƯƠNG NÀY?
^ Tạo, bắt đầu, và dừng dịch vụ
^ Dịch vụ đóng sách để hoạt động
^ Tạo Dịch vụ foreground liên tục
> Mở rộng các dịch vụ Ý định
> sử dụng AsyncTasks để quản lý xử lý nền
> Tạo Chủ đề nền và sử dụng Handlers để đồng bộ hóa với GUI chủ đề
> sử dụng Báo động lập lịch sự kiện ứng dụng
Android cung cấp các lớp dịch vụ để tạo ra các thành phần ứng dụng có thể xử lý các hoạt động lâu dài và bao gồm các chức năng mà không đòi hỏi một giao diện người dùng.
ước Android các dịch vụ ưu tiên cao hơn so với hoạt động không hoạt động, nên họ ít có khả năng bị thiệt mạng khi hệ thống yêu cầu tài nguyên. Trong thực tế, nên thời gian chạy sớm chấm dứt một dịch vụ đó là được bắt đầu, nó có thể được cấu hình để khởi động lại ngay sau khi có đủ nguồn lực trở nên có sẵn. Khi cần thiết ưu tiên của một dịch vụ có thể được nâng lên tương đương với một Hoạt động foreground. Điều này được dành riêng cho trường hợp cực đoan, nơi chấm dứt của một dịch vụ đáng chú ý sẽ ảnh hưởng đến kinh nghiệm người dùng -. Như một sự gián đoạn trong phát lại âm nhạc
Bằng cách sử dụng dịch vụ, bạn có thể đảm bảo rằng các ứng dụng của bạn có thể tiếp tục chạy ngay cả khi giao diện người dùng của họ là không thể nhìn thấy .
Mặc dù dịch vụ chạy mà không có một giao diện đồ họa chuyên dụng, họ vẫn thực hiện trong các chủ đề chính của quá trình ứng dụng - như hoạt động và Broadcast Receivers. Để giữ cho các ứng dụng của bạn đáp ứng, bạn sẽ học cách di chuyển tốn thời gian quá trình lên Chủ đề nền sử dụng các chủ đề và các lớp AsyncTask.
Chương này cũng giới thiệu Báo động, một cơ chế để bắn Intents khoảng thời gian thiết lập hoặc thiết lập thời gian, bên ngoài phạm vi ứng dụng của bạn của vòng đời. Bạn sẽ học cách sử dụng Báo động để bắt đầu dịch vụ, mở hoạt động, hoặc Intents phát sóng dựa trên hoặc đồng hồ thời gian hoặc thời gian trôi qua kể từ khi khởi động thiết bị. . Một báo động sẽ cháy ngay cả sau khi áp dụng chủ sở hữu của nó đã bị đóng cửa và có thể (nếu có yêu cầu) đánh thức một thiết bị từ giấc ngủ
GIỚI THIỆU DỊCH VỤ
Không giống như các hoạt động, trong đó hiển thị giao diện đồ họa, dịch vụ chạy vô hình - làm look¬ups Internet, xử lý dữ liệu, cập nhật nội dung của bạn Các nhà cung cấp, bắn Intents, và gây ra Thông báo. Trong khi hoạt động được bắt đầu, dừng lại, và tái tạo thường xuyên như là một phần của vòng đời của chúng, dịch vụ được thiết kế để được lâu hơn ngủi -. Cụ thể, để thực hiện các hoạt động đang diễn ra và có khả năng tốn thời gian
dịch vụ được bắt đầu, dừng lại, và điều khiển từ các ứng dụng khác thành phần, bao gồm cả hoạt động, phát sóng thu, và các dịch vụ khác. Nếu ứng dụng của bạn cung cấp chức năng mà không phụ thuộc trực tiếp vào người sử dụng, hoặc bao gồm các hoạt động tốn thời gian, dịch vụ có thể là câu trả lời.
Chạy dịch vụ có mức ưu tiên cao hơn không hoạt động hoặc vô hình (dừng lại) Các hoạt động, làm cho chúng ít có khả năng được chấm dứt bởi quản lý tài nguyên thời gian chạy của. Lý do duy nhất Android sẽ ngừng một dịch vụ sớm là để cung cấp thêm nguồn lực cho một thành phần nền trước (thường là một hoạt động). Khi điều đó xảy ra, dịch vụ của bạn có thể được cấu hình để tự động khởi động khi các nguồn lực trở nên có sẵn.
Nếu dịch vụ của bạn là tương tác trực tiếp với người sử dụng (ví dụ, bằng cách chơi nhạc), nó có thể là neces¬sary để tăng ưu tiên của nó bằng cách gắn nhãn nó như là một phần tiền cảnh. Điều này sẽ đảm bảo rằng dịch vụ của bạn không phải là chấm dứt, ngoại trừ trong trường hợp cực đoan, nhưng nó làm giảm khả năng thời gian chạy để quản lý các nguồn lực của mình, có khả năng làm giảm kinh nghiệm người dùng chung.
Tạo và Kiểm soát Dịch vụ
Các phần sau đây mô tả làm thế nào để tạo ra một dịch vụ mới, và làm thế nào để bắt đầu và ngừng sử dụng nó Intents với các phương pháp startService và stopService, tương ứng. Sau đó bạn sẽ học cách để ràng buộc một dịch vụ cho một hoạt động để cung cấp một giao diện phong phú hơn.
Tạo Dịch vụ
Để xác định một dịch vụ, tạo ra một lớp mới mở rộng dịch vụ. Bạn sẽ cần phải ghi đè lên các phương pháp onCreate và onBind, như thể hiện trong Liệt kê 9-1.
đang được dịch, vui lòng đợi..
