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 |
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(){}
}
Một số Component khác trong Android
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 |
0 Nhận xét