Android Application’s Life Cycle

48 360 0
Android Application’s Life Cycle

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Android Application’s Life Cycle Notes are based on: Unlocking Android by Frank Ableson, Charlie Collins, and Robi Sen. ISBN 978-1-933988-67-2 Manning Publications, 2009. Android Developers http://developer.android.com/index.html Part 3 2 3. Android – Application's Life Cycle Outline • Android Applications • Activity, Service, Broadcast receiver, Content provider • process • Application’s Life Cycle • Activity Stack • Life Cycle States • Life Cycle Events • Application’s Lifetime: Visible Lifetime Foreground Lifetime • Life Cycle Methods: onCreate(), onStart(), onDestroy() . • Example: LifeCycleDemo 2 3 3. Android – Application's Life Cycle Android Applications Một ứng dụng (application) bao gồm một hoặc vài component được định nghĩa trong manifest file của ứng dụng, gồm các loại: 1. Activity 2. Service 3. BroadcastReceiver 4. ContentProvider Ứng dụng Android so với Java application: •. Cũng viết 1 class để thực hiện một công việc nào đó •. Không dùng hàm main khởi tạo một object thuộc class đó và gọi phương thức của nó •. Tùy theo loại object (Activity, Service ), Android sẽ gọi constructor và quản lý vòng đời của object đó 3 4 3. Android – Application's Life Cycle Android Applications 1. Activity Một activity thường trình diễn một giao diện người dùng đơn bằng hình ảnh mà từ đó có thể thực hiện một số hành động (action). Tuy các activity cộng tác với nhau để hợp thành một giao diện người dùng thống nhất, mỗi activity có tính độc lập với các activity khác. Thông thường, một activity được đánh dấu làm activity đầu tiên – cái sẽ được trình diễn cho người dùng khi ứng dụng được bật lên. Việc gọi một activity từ bên trong một activity khác được thực hiện qua việc activity hiện hành gọi activity tiếp theo qua cơ chế intent. (startActivity(Intent)) 4 5 3. Android – Application's Life Cycle Android Applications 2. Service Một service không có giao diện người dùng bằng hình ảnh, thay vào đó, nó chạy ẩn tại background trong một khoảng thời gian không xác định. Có thể kết nối (bind to) với một service đang chạy (hoặc chạy service đó nếu nó hiện chưa chạy). Trong khi đang kết nối, ta có thể liên lạc với service đó qua một giao diện mà nó cung cấp. 5 6 3. Android – Application's Life Cycle Android Applications 3. Broadcast receiver Một broadcast receiver là một component không làm gì ngoài việc nhận và phản ứng với các broadcast announcement. Nhiều broadcast bắt nguồn từ mã hệ thống (ví dụ “you got mail“), nhưng bất cứ ứng dụng nào cũng có thể phát broadcast. Broadcast receiver không hiển thị giao diện người dùng. Tuy nhiên, chúng có thể bật một activity để đáp ứng thông tin mà chúng nhận được, hoặc - giống như cách làm của các service – chúng có thể dùng notification manager để thông báo cho người dùng. 6 7 3. Android – Application's Life Cycle Android Applications 4. Content provider Một content provider cung cấp một tập dữ liệu của một ứng dụng cho các ứng dụng khác. Dữ liệu thường được lưu trong hệ thống file, hoặc trong một CSDL SQLite. Mỗi content provider cài đặt một tập chuẩn các phương thức cho phép các ứng dụng khác lấy và lưu trữ dữ liệu thuộc loại mà nó kiểm soát. Tuy nhiên, các ứng dụng không gọi trực tiếp các phương thức này. Thay vào đó, chúng dùng một đối tượng content resolver và gọi các phương thức của đối tượng đó. Một content resolver có thể nói chuyện với một content provider bất kì; nó cộng tác với provider để quản lý quá trình liên lạc xuyên tiến trình (interprocess communication) phát sinh. 7 8 3. Android – Application's Life Cycle Android Applications Mỗi ứng dụng Android chạy trong một tiến trình riêng (cùng với thực thể máy ảo Dalvik của riêng nó). Mỗi khi có một request cần được xử lý bởi một component cụ thể nào đó, • Android đảm bảo rằng tiến trình ứng dụng của component đó đang chạy, • khởi động nó nếu cần, và • đảm bảo rằng có sẵn một thực thể (instance) của component đó, nếu cần thì tạo ra thực thể đó. 8 9 3. Android – Application's Life Cycle Application’s Life Cycle Một tiến trình Linux dành cho một ứng dụng Android được tạo ra cho ứng dụng đó khi có một số phần code của ứng dụng đó cần chạy. Tiến trình đó sẽ tồn tại cho đến khi 1. không còn cần đến nó nữa, HOẶC 2. hệ thống cần thu hồi bộ nhớ để cho các ứng dụng khác dùng. 9 10 3. Android – Application's Life Cycle Application’s Life Cycle Một tính chất đặc biệt nhưng căn bản của Android là các tiến trình không trực tiếp kiểm soát vòng đời của chính mình. Thay vào đó, số phận của nó được hệ thống quyết định dựa trên thông tin về 1. Các phần ứng dụng hiện đang chạy, 2. Tầm quan trọng của chúng đối với người dùng 3. Hệ thống còn bao nhiêu bộ nhớ. 10

Ngày đăng: 03/10/2013, 01:04

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan