Rate this post

Tệp AndroidManifest.xml chứa thông tin về package của bạn, bao gồm các thành phần của ứng dụng như activities, services, broadcast receivers, content providers, v.v.

Các bài viết liên quan:

Nó cũng thực hiện một số tác vụ khác:

  1. Nó có trách nhiệm bảo vệ ứng dụng để truy cập vào bất kỳ phần nào được bảo vệ bằng cách cung cấp các quyền.
  2. Nó cũng khai báo api android mà ứng dụng sẽ sử dụng.
  3. Nó liệt kê các lớp thiết bị đo đạc. Các lớp học về thiết bị đo đạc cung cấp hồ sơ và các thông tin khác. Những thông tin này bị xóa ngay trước khi ứng dụng được xuất bản, v.v.
  4. Đây là tệp xml bắt buộc cho tất cả các ứng dụng Android và nằm bên trong thư mục gốc.

Giới thiệu về tệp AndroidManifest.xml

Tệp AndroidManifest.xml là một tệp quan trọng trong ứng dụng Android, đóng vai trò quy định và khai báo thông tin cần thiết về ứng dụng cho hệ điều hành Android. Tệp này được đặt trong thư mục gốc của dự án Android và phải tồn tại trong mọi ứng dụng Android.

Tệp AndroidManifest.xml chứa các thành phần chính của ứng dụng như Activities (hoạt động), Services (dịch vụ), Broadcast Receivers (bộ nhận thông báo), Content Providers (nhà cung cấp nội dung) và các khai báo quyền truy cập (permissions). Nó cung cấp thông tin cần thiết để hệ điều hành Android biết về ứng dụng, quản lý các thành phần và xác định các quyền truy cập mà ứng dụng yêu cầu.

Tệp AndroidManifest.xml cũng chứa các thông tin khác như tên gói của ứng dụng, phiên bản SDK mà ứng dụng hỗ trợ, các intent filters (bộ lọc intent) để xác định các hành động được hỗ trợ và các liên kết với các thành phần khác.

Qua tệp AndroidManifest.xml, hệ điều hành Android có thể quản lý và kiểm soát ứng dụng, đảm bảo tính bảo mật và xác định quyền truy cập của ứng dụng vào các tài nguyên và chức năng khác trong hệ thống.

Tệp AndroidManifest.xml là một phần quan trọng trong quy trình phát triển ứng dụng Android và phải được xây dựng và cấu hình đúng để đảm bảo ứng dụng hoạt động một cách chính xác và tuân thủ các quy tắc và chính sách bảo mật của hệ điều hành Android.

Các thành phần chính trong tệp AndroidManifest.xml

Trong tệp AndroidManifest.xml, có các thành phần chính sau:

  1. Activities (Hoạt động): Activities là các màn hình giao diện người dùng trong ứng dụng Android. Chúng được khai báo trong phần <activity> và định nghĩa các thuộc tính như tên, intent filters, theme, và các cấu hình khác.
  2. Services (Dịch vụ): Services là các thành phần chạy ngầm trong ứng dụng Android, không có giao diện người dùng. Chúng được khai báo trong phần <service> và được sử dụng để thực hiện các tác vụ nền như tải dữ liệu, xử lý dữ liệu hoặc thực hiện các hoạt động không đồng bộ.
  3. Broadcast Receivers (Bộ nhận thông báo): Broadcast Receivers là thành phần cho phép ứng dụng lắng nghe và phản hồi các thông báo từ hệ thống hoặc từ các ứng dụng khác. Chúng được khai báo trong phần <receiver> và có thể nhận các sự kiện như cuộc gọi đến, tin nhắn, hoặc tình trạng kết nối mạng.
  4. Content Providers (Nhà cung cấp nội dung): Content Providers cung cấp cách truy cập và chia sẻ dữ liệu giữa các ứng dụng. Chúng được khai báo trong phần <provider> và quản lý việc truy cập và cung cấp dữ liệu cho các ứng dụng khác.
  5. Permissions (Quyền truy cập): Permissions quy định quyền truy cập của ứng dụng vào các tài nguyên và chức năng trong hệ thống. Chúng được khai báo trong phần <uses-permission> và yêu cầu người dùng cấp quyền truy cập khi cài đặt ứng dụng.

Ngoài ra, tệp AndroidManifest.xml còn chứa các thông tin khác như tên gói ứng dụng, phiên bản SDK hỗ trợ, theme, application icons, và các cấu hình khác như hướng màn hình mặc định, quyền truy cập Internet, và các thiết lập khác liên quan đến ứng dụng Android.

Quyền truy cập (Permissions) trong AndroidManifest.xml

Trong tệp AndroidManifest.xml, quyền truy cập (Permissions) được khai báo trong phần <uses-permission>. Quyền truy cập cho phép ứng dụng Android truy cập vào các tài nguyên và chức năng trong hệ thống điện thoại. Một số quyền truy cập phổ biến bao gồm:

  1. Quyền truy cập Internet (<uses-permission android:name="android.permission.INTERNET" />): Cho phép ứng dụng kết nối và truy cập vào Internet.
  2. Quyền truy cập mạng (<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />): Cho phép ứng dụng truy cập thông tin về trạng thái mạng, chẳng hạn như kết nối Wi-Fi hay 3G/4G.
  3. Quyền đọc danh bạ (<uses-permission android:name="android.permission.READ_CONTACTS" />): Cho phép ứng dụng đọc thông tin liên lạc trong danh bạ điện thoại.
  4. Quyền gửi tin nhắn (<uses-permission android:name="android.permission.SEND_SMS" />): Cho phép ứng dụng gửi tin nhắn SMS.
  5. Quyền ghi dữ liệu vào thẻ nhớ (<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />): Cho phép ứng dụng ghi dữ liệu vào bộ nhớ ngoài của thiết bị.

Các quyền truy cập khác bao gồm quyền truy cập máy ảnh, quyền truy cập vị trí, quyền truy cập microphone, quyền truy cập máy quay, quyền truy cập vào danh sách cuộc gọi, và nhiều quyền truy cập khác.

Khi ứng dụng yêu cầu quyền truy cập, người dùng sẽ nhìn thấy thông báo và cần cho phép ứng dụng truy cập vào quyền đó khi cài đặt hoặc sử dụng ứng dụng.

Liên kết với các thành phần khác

Để liên kết với các thành phần khác trong tệp AndroidManifest.xml, chúng ta sử dụng các phần tử như <activity>, <service>, <receiver>, và <provider>. Dưới đây là cách liên kết với một số thành phần chính:

  1. Liên kết với Activity: Sử dụng phần tử <activity> để đăng ký một Activity trong ứng dụng. Ta cần chỉ định tên của Activity và đường dẫn (Intent-filter) để ứng dụng có thể được mở từ các sự kiện như nhấp vào biểu tượng trên màn hình chính hay mở từ các liên kết.

Ví dụ:

<activity android:name=".MainActivity">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>
  1. Liên kết với Service: Sử dụng phần tử <service> để đăng ký một Service trong ứng dụng. Ta cần chỉ định tên của Service và các thuộc tính khác như action, category để ứng dụng có thể truy cập và sử dụng Service này.

Ví dụ:

<service android:name=".MyService" />
  1. Liên kết với BroadcastReceiver: Sử dụng phần tử <receiver> để đăng ký một BroadcastReceiver trong ứng dụng. Ta cần chỉ định tên của BroadcastReceiver và các intent-filter để ứng dụng có thể nhận các sự kiện (broadcast) từ hệ thống hoặc từ các ứng dụng khác.

Ví dụ:

<receiver android:name=".MyReceiver">
    <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED" />
        <action android:name="android.intent.action.HEADSET_PLUG" />
    </intent-filter>
</receiver>
  1. Liên kết với Content Provider: Sử dụng phần tử <provider> để đăng ký một Content Provider trong ứng dụng. Ta cần chỉ định tên của Content Provider và các thuộc tính khác như authorities để ứng dụng có thể truy cập và chia sẻ dữ liệu với ứng dụng khác.

Ví dụ:

<provider
    android:name=".MyContentProvider"
    android:authorities="com.example.myapp.provider"
    android:exported="true" />

Lưu ý rằng khi liên kết với các thành phần khác, ta cần chỉ định đúng tên và đường dẫn của thành phần đó để ứng dụng có thể truy cập và sử dụng chúng một cách chính xác.

Xem thêm Kiến trúc Android (Android Architecture)

Cấu trúc XML trong tệp AndroidManifest.xml

Tệp AndroidManifest.xml là tệp cấu hình chính trong ứng dụng Android và được viết theo cú pháp XML. Dưới đây là cấu trúc XML cơ bản trong tệp AndroidManifest.xml:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.myapp">

    <!-- Các thành phần trong ứng dụng -->

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        
        <!-- Các thành phần trong ứng dụng (Activity, Service, BroadcastReceiver, Content Provider) -->

    </application>

</manifest>

Trong cấu trúc trên, các thành phần chính trong tệp AndroidManifest.xml bao gồm:

  1. manifest: Phần tử gốc của tệp AndroidManifest.xml. Nó chứa tất cả các thành phần và cấu hình của ứng dụng.
    • Thuộc tính xmlns:android định nghĩa không gian tên XML của Android.
    • Thuộc tính package chỉ định tên gói (package name) của ứng dụng.
  2. application: Phần tử này chứa cấu hình chung cho toàn bộ ứng dụng.
    • Các thuộc tính như allowBackup, icon, label, roundIcon, supportsRtl, theme được sử dụng để cấu hình các thuộc tính của ứng dụng.
  3. Các thành phần trong ứng dụng như activity, service, receiver, provider được khai báo bên trong phần tử <application>. Mỗi thành phần này có các thuộc tính riêng để cấu hình chức năng và tương tác với hệ thống.

Lưu ý rằng trong thực tế, tệp AndroidManifest.xml có thể chứa nhiều hơn các thành phần và cấu hình khác, tùy thuộc vào yêu cầu và tính năng của ứng dụng.

Tệp AndroidManifest.xml đơn giản trông giống như sau

Các phần tử của tệp AndroidManifest.xml

Các phần tử được sử dụng trong tệp xml ở trên được mô tả bên dưới.

  1. <manifest>

tệp kê khai là phần tử gốc của tệp AndroidManifest.xml. Nó có thuộc tính gói mô tả tên gói của lớp Activity.

  1. <application>

Thẻ này khai báo ứng dụng là thành phần phụ của tệp kê khai. Nó bao gồm khai báo tên. Phần tử này chứa một số thành phần con khai báo thành phần ứng dụng như Activity, v.v.

Các thuộc tính thường được sử dụng của phần tử này là icon, label, Theme, v.v.

  • android: icon đại diện cho biểu tượng cho tất cả các thành phần ứng dụng android.
  • android: label như nhãn mặc định cho tất cả các thành phần ứng dụng.
  • android: theme đại diện cho một theme chung cho tất cả các Activity của android.
  1. <Activity>

Activity là thành phần con của ứng dụng và đại diện cho một Activity phải được xác định trong tệp AndroidManifest.xml. Nó có nhiều thuộc tính như label, name, Theme, launcherMode, v.v.

  • android: label đại diện cho một nhãn được hiển thị trên màn hình.
  • android: name đại diện cho tên cho lớp Activity. Nó là thuộc tính bắt buộc.
  1. <intent-filter>

Intent filter là phần tử phụ của Activity mô tả loại intent mà Activity, services hoặc Broadcast receiver có thể phản hồi.

  1. <action>

Nó thêm một action cho intent filter. Bộ lọc ý định phải có ít nhất một phần tử hành động.

  1. <category>

Nó thêm tên danh mục vào bộ lọc ý định.

Xem thêm Activity và intent

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
Call now