Các thành phần cơ bản của ứng dụng Android

Các thành phần (component) cơ bản tạo nên một ứng dụng Android được chia thành 4 loại chính. Nắm bắt được các thành phần này rất cần thiết cho việc lập trình.

Có 4 kiểu thành phần trong ứng dụng của Android bao gồm:

  • Activities.
  • Services.
  • Content providers.
  • Broadcast receivers.

Mỗi thành phần này được sử dụng cho mỗi mục đích khác nhau và có một vòng đời khác nhau, sau đây ta sẽ đi vào tìm hiểu chi tiết từng thành phần của ứng dụng Android

  • Activities

Một Activity được xem như một điểm tiếp xúc với người dùng. Nó là một màn hình đơn với giao diện trên đó. Ví dụ các bạn cài và chạy lên ứng dụng này thì màn hình chạy lên các bạn sẽ thấy giao diện hiện thị cho chúng ta xem, đó là một Activity. Activty giúp người dùng tương tác với hệ thống, thực hiện các chức năng cần thiết trên đó, chuyển đổi qua lại giữa các màn hình giao diện/ chức năng.

Thường thường khi sử dụng Activity chúng ta sẽ kết thừa từ lớp cha của nó là Activity ( tất nhiên hiện tại Android SDK ở các phiên bản mới đã có nhiều subActivity hỗ trợ chúng ta trong từng trường hợp thuận tiện ).

  • Services

Service có chức năng giúp ứng dụng vẫn chạy được, nhưng không cần hiện thị trên giao diện (gọi là chạy ngầm bên dưới ). Ví dụ các bạn dùng các ứng nghe nhạc, mặc dù các bạn tắt ứng dụng rồi nhưng vẫn nghe được nhạc ( đó là vì nó đang chạy dưới nền /background ).  Chúng ta có thể liên kết/ kết nối giữa một Activity với một service, ví dụ: khi download một file từ trên mạng, việc download thực hiện ở service, sau đó sẽ trả kết quả phần trăm download lên activity để hiện thị cho người dùng biết.

Chú ý: mặc dù service chạy ở chế độ background nhưng cần phân biệt giữa service và thread. Service không phải thread, do đó tùy trường hợp mà chúng ta sử dụng và xử lý cho phù hợp để tránh trường hợp sử dụng service làm ứng dụng bị đơ/ chậm khi sử lý các luồng dữ liệu/ giao diện khác.

Khi sử dụng service chúng ta sẽ kế thừa từ lớp cha là: Service

  • Broadcast receivers

Broadcast receiver được sử dụng trong nhiều trường hợp, ví dụ: chúng ta có thể chuyển dữ liệu từ service lên activity (ngoài sử dụng binding) chúng ta có thể sử dụng broadcast để gửi dữ liệu. Hoặc trong các ứng dụng như hẹn giờ, khi đến giờ hẹn, ứng dụng sẽ sử dụng broadcast báo thức, tạo ra notification trên màn hình để báo cho người dùng biết.

Khi sử dụng broadcast receiver chúng ta kế thừa từ BroadcastReceiver

  •  Content providers

Content provider quản lý các cách để ứng dụng có thể lưu trữ dữ liệu trên hệ thống. Chúng ta sẽ biết cụ thể về thành phần này khi xây dựng các ứng dụng cần lưu trữ vào SQLite. Ví dụ các ứng dụng từ điển, các bạn sẽ thấy dữ liệu, từ vựng chúng ta tra hiện thị, thì dữ liệu hiện thị đó được lưu trữ trong Slite và Content provider gọi để lấy ra cho người dùng xem. Ngoài ra thành phần này còn thực hiện các chức năng, thêm, sửa, xóa dữ liệu…

  •  Khai báo 4 thành phần trong manifest của ứng dụng

Để sử dụng được các thành phần trên, chúng ta cần khai báo trong file Manifest của ứng dụng, và chúng được định nghĩa bằng các thẻ như sau:

  • <activity> elements for activities.
  • <service> elements for services.
  • <receiver> elements for broadcast receivers.
  • <provider> elements for content providers

 

Ngoài ra còn có thêm Intent và Notification cùng nhiều loại khác.

Intent

– Được sử dụng để truyền các thông báo nhằm khởi tạo một Activity hoặc Service để thực hiện công việc bạn mong muốn

– Ví dụ: khi mở một trang web, bạn sẽ gửi một intent đi để tạo một Activity mới hiển thị trang web đó

 

Notification

– Đưa ra các cảnh báo mà không làm cho các Activity phải ngừng hoạt động

Activity, Service, Broadcast Receiver và Content Provider là những thành phần chính cấu thành nên ứng dụng Android, bắt buộc phải khai báo trong AndroidManifest

Nguyễn Linh

Chia sẻ để cùng tiến bộ...