Component trong Android



Các Component là các khối kiến trúc nền tảng tạo nên một ứng dụng Android. Những Component này được ghép bởi AndroidManifest.xml, miêu tả mỗi thành phần và cách chúng tương tác với nhau.

Có 4 Component chính có thể được sử dụng bên trong một ứng dụng Android:

Component Miêu tả
Activities Chúng điều khiển UI và xử lý tương tác người dùng trên màn hình smartphone
Services Chúng xử lý các tiến trình background được gắn kết với một ứng dụng
Broadcast Receivers Chúng xử lý giao tiếp giữa Android OS và các ứng dụng
Content Providers Chúng xử lý dữ liệu và quản lý cơ sở dữ liệu

Activities trong Android

Quảng cáo

Một Activity biểu diễn một màn hình với một giao diện UI. Nói đơn giản, Activity thực hiện các hành động trên màn hình. Ví dụ, một ứng dụng email có thể thực hiện một activity mà hiển thị một danh sách các email mới, activity khác để soạn thảo một email, và activity khác để đọc email. Nếu một ứng dụng có nhiều hơn một activity, thì một trong số chúng sẽ được đánh dấu như là activity mà sẽ được hiển thị khi ứng dụng chạy.

Một activity được triển khai như là một lớp con của lớp Activity, như sau:

public class MainActivity extends Activity {

}

Services trong Android

Một service là một Component mà chạy trong Background để thực hiện các hoạt động. Ví dụ, một service có thể chơi nhạc nền trong khi người dùng là trong một ứng dụng khác, hoặc nó có thể lấy dữ liệu qua mạng mà không cần chặn tương tác người dùng với một activity.

Một service được triển khai như là một lớp con của lớp Service, như sau:

public class MyService extends Service {

}

Broadcast Receivers trong Android

Về cơ bản, Broadcast Receivers phản hồi các thông điệp từ ứng dụng khác hoặc từ hệ thống. Ví dụ, các ứng dụng cũng có thể khởi tạo các broadcast để báo cho các ứng dụng khác biết rằng có một số dữ liệu đã được tải về thiết bị và nó là có sẵn cho các ứng dụng này để sử dụng chúng. Vì thế, Broadcast Receiver sẽ thông dịch thông tin này và sẽ khởi tạo hành động thích hợp.

Một Broadcast Receiver được triển khai như là một lớp con của BroadcastReceiver và mỗi thông điệp được truyền như là một đối tượng Intent.

public class MyReceiver  extends  BroadcastReceiver {
   
   public void onReceive(context,intent){}

}

Content Providers trong Android

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 tùy 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. Dữ liệu có thể được lưu trữ trong hệ thống file, cơ sở dữ liệu hoặc bất cứ đâu.

Một Content Provider được triển khai như là một lớp con của lớp ContentProvider và phải triển khai một APIs chuẩn mà cho phép các ứng dụng khác thực hiện các transaction.

public class MyContentProvider extends  ContentProvider {
   
   public void onCreate(){}

}

Chúng ta sẽ tìm hiểu chúng trong một chương riêng.

Một số Component khác trong Android

Quảng cáo

Ngoài ra, còn có một số Component khác sẽ được sử dụng trong xây dựng các thực thể, tính logic của chúng và kết nối chúng với nhau. Chúng bao gồm:

Component Miêu tả
Fragments Biểu diễn một phần của giao diện UI trong một Activity
Views Các phần tử giao diện UI mà được vẽ trên màn hình bao gồm button, list, form, …
Layouts Cấu trúc thứ bậc của view mà điều khiển định dạng màn hình và bề mặt của các view
Intents Các thành phần kết nối các thông báo với nhau
Resources Các phần tử ngoại vi, như các chuỗi, hằng, và hình ảnh có thể vẽ
Manifest Chính là Configuration file cho ứng dụng

Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS.

Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:

Các bạn có thể mua thêm khóa học JAVA CORE ONLINE VÀ ỨNG DỤNG cực hay, giúp các bạn vượt qua các dự án trên trường và đi thực tập Java. Khóa học có giá chỉ 300K, nhằm ưu đãi, tạo điều kiện cho sinh viên cho thể mua khóa học.

Nội dung khóa học gồm 16 chuơng và 100 video cực hay, học trực tiếp tại https://www.udemy.com/tu-tin-di-lam-voi-kien-thuc-ve-java-core-toan-tap/ Bạn nào có nhu cầu mua, inbox trực tiếp a Tuyền, cựu sinh viên Bách Khoa K53, fb: https://www.facebook.com/tuyen.vietjack

Follow facebook cá nhân Nguyễn Thanh Tuyền https://www.facebook.com/tuyen.vietjack để tiếp tục theo dõi các loạt bài mới nhất về Java,C,C++,Javascript,HTML,Python,Database,Mobile.... mới nhất của chúng tôi.




Tài liệu giáo viên