Các thành phần cơ bản của App Android

2190

What’s Activity?

  • Giao diện người dùng của ứng dụng được xây dựng dựa trên một hoặc nhiều Activity. Activity sử dụng Fragment và View để bố trí và hiển thị thông tin và tương tác với hoạt động của người dùng.
  • Activity là một lớp được có sẵn trong Android và tất cả các ứng dụng trong đó có giao diện người dùng phải kế thừa nó để tạo ra cửa sổ.
  • Chẳng hạn, lớp MainActivity là một Activity nó mở rộng từ một Activity có sẵn trong thư viện Android.

Vòng đời của Activity

Một vòng đời của Activity mô tả các quá trình của một Activity kể từ khi nó bắt đầu chạy (Launched), cho tới khi ứng dụng bị tắt. Bao gồm cả quá trình Activity bị dừng tạm thời, chạy lại (resume),..

  • onCreate(Bundle savedInstanceState): Được gọi khi hoạt động mới được tạo, tại đây khởi tạo các biến, nạp giao diện layout …, phương thức này cũng nhận dữ liệu lưu lại trạng thái hoạt động trước đó (với mục đích để phục hồi – savedInstanceState). Sau sự kiện này bao giờ cũng gọi ngay lập tức onStart().
  • onStart(): Được gọi ngay trước khi Activity hiển thị trên màn hình.
  • onResume(): Được gọi ngay khi Activity bắt đầu có thể tương tác với người dùng, và Activity nằm trên cùng trong danh sách các Activity của hệ thống. Sau phương thức này là các chức năng của Activity hoạt động dựa trên tương tác của người dùng …, cho đến khi có một nguyên nhân nào đó mà phương thức OnPause được gọi.
  • onPause(): Được gọi khi hệ thống sắp kích hoạt một Activity khác, nếu bạn quá tải phương thức này, thường để lưu lại dự liệu thật nhanh để hệ thống còn kích hoạt Activity khác. Ngay sau phương thức này nó sẽ gọi onResume() nếu Activity được kích hoạt lại ngay, hoặc gọi OnStop() nếu Activity bị ẩn đi.
  • onStop(): Được gọi khi nó bị ẩn đi. Sau phương thức này, Activity có thể gọi onRestart() nếu nó được người dùng kích hoạt lại hoặc gọi onDestroy() để hết thúc.
  • onDestroy(): gọi khi Activity bị hủy hoàn toàn (ví dụ gọi finish(), hoặc người dùng kill Activity)

Service

  • 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. 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.
  • 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

  • Một thành phần Content Provider cung cấp dữ liệu từ một ứng dụng tới các ứng dụng khác theo yêu cầu.
  • Những yêu cầu này được xử lý bởi các phương thức của lớp ContentResolver.
  • Một Content Provider có thể sử dụng các cách khác nhau để lưu giữ dữ liệu và dữ liệu có thể được lưu giữ trong một cơ sở dữ liệu, một file, hoặc có thể thông qua một mạng…

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.

BÌNH LUẬN

Vui lòng nhập bình luận của bạn
Vui lòng nhập tên của bạn ở đây