Component trong một ứng dụng Android
Bài này chúng ta sẽ tìm hiểu trong ứng dụng Android có những component cơ bản nào? Chức năng của mỗi component như thế nào, và chúng hoạt động ra sao.
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, và các component này sẽ hoạt động như một điểm vào để cho phép hệ thống hoặc người dùng truy cập ứng dụng.
Sau đây là các component cốt lõi có thể được sử dụng trong ứng dụng Android.
- Activities
- Intents
- Content Providers
- Broadcast Receivers
- Services
Tất cả các component này được xác định trong file manifest (AndroidManifest.xml) như được hiển thị bên dưới.
Bài viết này được đăng tại [free tuts .net]
<?xml version="1.0" encoding="utf-8"?> <manifest …..> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" ……> <activity android:name=".MainActivity" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> ……. </application> </manifest>
Đây là cách định nghĩa một component trong file AndroidManiFest.xml. Dưới đây chúng ta sẽ tìm hiểu các component cơ bản.
1. Activities
Trong Android, Activity biểu thị một màn hình đơn với giao diện người dùng (UI) và nó sẽ đóng vai trò là điểm nhập cảnh để người dùng có thể tương tác với ứng dụng.
Ví dụ: ứng dụng danh bạ có nhiều activity như hiển thị danh sách các liên hệ, thêm liên hệ mới và một activity khác để tìm kiếm danh bạ. Tất cả các activity này trong ứng dụng liên hệ là độc lập với nhau nhưng sẽ hoạt động cùng nhau để cung cấp trải nghiệm người dùng tốt hơn.
2. Intents
Trong Android, Intent là một đối tượng gửi yêu cầu được sử dụng để yêu cầu một action từ một component khác.
Trong Android, intent chủ yếu được sử dụng để thực hiện những điều sau đây.
- Bắt đầu một Activity
- Bắt đầu một Service
- Cung cấp một Broadcast
Có hai loại Intent có sẵn trong Android, đó là:
- Implicit Intents
- Explicit Intents
3. Services
Trong Android, Service là một component giữ cho ứng dụng chạy ở chế độ nền để các tác vụ được chạy lâu dài dựa trên yêu cầu. Đối với Service, chúng ta không có giao diện người dùng nào và nó sẽ chạy các ứng dụng ở chế độ nền như phát nhạc ở chế độ nền khi người dùng ở ứng dụng khác.
Chúng ta có hai loại service có sẵn trong Android, đó là
- Local Services
- Remote Services
4. Broadcast Receivers
Trong Android, Broadcast Receiver là một component sẽ cho phép một hệ thống phân phối các sự kiện đến ứng dụng như gửi một thông báo pin yếu đến ứng dụng. Các ứng dụng cũng có thể bắt đầu gửi broadcast để cho các ứng dụng khác biết rằng dữ liệu cần thiết có sẵn trong thiết bị để sử dụng nó.
5. Content Providers
Trong Android, Content Providers được sử dụng để trao đổi dữ liệu giữa các ứng dụng. Content Providers có thể chia sẻ dữ liệu ứng dụng lưu trữ trong hệ thống file, cơ sở dữ liệu của SQLite, trên web hoặc bất kỳ vị trí lưu trữ nào khác mà ứng dụng có thể truy cập.
Bằng cách sử dụng Content Providers, các ứng dụng khác có thể truy vấn hoặc sửa đổi dữ liệu của ứng dụng dựa trên các quyền được cung cấp bởi content provider. Ví dụ: android cung cấp Content Providers (ContactContract.Data) để quản lý thông tin liên hệ, bằng cách sử dụng quyền thích hợp, bất kỳ ứng dụng nào cũng có thể truy vấn Content Provider để thực hiện các thao tác đọc và ghi trên thông tin liên hệ.
6. Các component bổ sung
Trong Android, chúng ta có các component bổ sung được sử dụng để xây dựng mối quan hệ giữa các component trên (Activities, Intents, Content Providers, Services and Broadcast Receivers), đó là
Component | Mô tả |
---|---|
Fragments |
Được sử dụng để thể hiện phần giao diện người dùng trong một activity
|
Layouts |
Được sử dụng để xác định giao diện người dùng (UI) cho một activity hoặc ứng dụng
|
Views |
Được sử dụng để xây dựng giao diện người dùng cho một ứng dụng bằng các yếu tố UI như buttons, lists, v.v.
|
Resources |
Để xây dựng ứng dụng bằng các yếu tố bên ngoài và trừ code ra như hình ảnh, file âm thanh, v.v.
|
Manifest File |
Ứng dụng có một file cấu hình (AndroidManifest.xml) và chứa thông tin về Activities, Intents, Content Providers, Services, Broadcast Receivers, permissions, v.v.
|
Đây là các component chính của ứng dụng để xây dựng bất kỳ ứng dụng Android nào.