Bài 6: AndroidManifest.xml trong lập trình Android

Vì bài trước chúng ta đã tìm hiểu qua về Activity và vòng đời của nó nên hôm nay mình sẽ giới thiệu các bạn một file rất quan trọng trong một Project android có tên là AndroidManifest.xml.Đây là file gì? Công dụng nó ra làm sao thì chúng ta cùng tìm hiểu ngay sau đây thôi.

AndroidManifest là gì?

Là file để bản kê khai trình bày những thông tin thiết yếu về ứng dụng của bạn với hệ thống Android, thông tin mà hệ thống phải có trước khi có thể chạy bất kỳ mã nào của ứng dụng.Hay nói cách khác đây là file dùng để config  những thuộc tính cho ứng dụng của bạn mà khi ứng dụng khởi chạy hệ điều hành có thể hiểu được và xử lí.

AndroidManifest để làm gì?

  • Nó đặt tên gói Java cho ứng dụng. Tên gói đóng vai trò như một mã nhận diện duy nhất cho ứng dụng.
  • Nó mô tả các thành phần của ứng dụng — hoạt động, dịch vụ, hàm nhận quảng bá, và trình cung cấp nội dung mà ứng dụng được soạn bởi. Nó đặt tên các lớp triển khai từng thành phần và công bố các khả năng của chúng (ví dụ, những tin nhắn Intent mà chúng có thể xử lý). Những khai báo này cho phép hệ thống Android biết các thành phần là gì và chúng có thể được khởi chạy trong những điều kiện nào.
  • Nó xác định những tiến trình nào sẽ lưu trữ các thành phần ứng dụng.
  • Nó khai báo các quyền mà ứng dụng phải có để truy cập các phần được bảo vệ của API và tương tác với các ứng dụng khác.
  • Nó cũng khai báo các quyền mà ứng dụng khác phải có để tương tác với các thành phần của ứng dụng.
  • Nó liệt kê các lớp Instrumentation cung cấp tính năng tạo hồ sơ và các thông tin khác khi ứng dụng đang chạy. Những khai báo này chỉ xuất hiện trong bản kê khai khi ứng dụng đang được phát triển và thử nghiệm; chúng bị loại bỏ trước khi ứng dụng được công bố.
  • Nó khai báo mức tối thiểu của API Android mà ứng dụng yêu cầu.
  • Nó liệt kê các thư viện mà ứng dụng phải được liên kết với.

Thực ra lý thuyết trên mình lấy ở trang official của google ra bạn có thể tham khảo tại đây nhé : https://developer.android.com/guide/topics/manifest/manifest-intro.html

Ví dụ như bạn đặt tên cho ứng dụng, icon ứng dụng thì bạn sẽ vào file này để thiết lập.Nó có rất nhiều thứ để bạn thiết lập ở đây ví dụ như: ứng dụng bạn muốn đọc danh bạ của điện thoại (Zalo) thì android bắt bạn phải xin quyền của người dùng có cho hay không và bạn sẽ thiết lập yều cầu xin quyền ở trong file AndroidManifest này.

Ở bài trước chúng ta đã học qua Activity và vòng đời của nó thì mình cũng có nói trong video là khi bạn tạo mới một Activity thì phải khai báo activity đó trong file AndroidManifest chứ không là khi khởi chạy nó chắc chắn sẽ bị lỗi.

Rất nhiều thứ bạn phải config trong thằng này mà mình sẽ nói rõ hơn ở các bài sau khi đụng đến ha.

Cấu trúc tệp AndroidManifest


Bao bọc cả file là thẻ <manifest><application>… …</application></manifest>, đây là 2 thẻ root của file và chỉ xuất hiện một làn duy nhất và phải có chứ không sẽ lỗi ngay và các thẻ đóng mở khác sẽ có hoặc không tùy vào bạn có sử dụng đến hay không thôi.

Mình sẽ giải thích một số thứ ở đây:

<uses-permission />Xin cấp quyền<permission />: đây là cú pháp lệnh để bạn xin cấp một quyền gì đó khi ứng dụng bạn tương tác với dữ liệu nào đó mà google không cho phép bạn dùng tùy ý.Ví dụ như mình đã nói ở trên khi ứng dụng bạn muốn đọc danh bạ của một điện thoại nào đó thì bạn sẽ phải xin quyền để đọc chứ không thể tự ý đọc được, cú pháp xin quyền như sau:


Sau khi khai báo xong bạn có thể tùy ý xem danh bạ của thiết bị đó rồi, có rất nhiều quyền bạn muốn dùng thì phải khai báo giống như trên như: quyền kết nối internet, quyền đọc tin nhắn, quyền kiểm tra kết nối mạng..rất rất nhiều và thời gian bạn sẽ đụng đến thôi.

<activity>…</activity>: đây là thẻ để bạn khai báo các activity trong ứng dụng của bạn và các thuộc tính của activity đó, nếu như bạn không khai bao thì khi khởi chạy ứng dụng sẽ lỗi ngay.Bài trước mà đã giới thiệu về Activity và vòng đời của nó rồi chắc các bạn còn nhớ chứ.

<service>…</service>: sau này bạn sẽ học về service ở phần hướng dẫn android nâng cao, thì đây là một dịch vụ chạy ngầm trên ứng dụng của bạn kể cả khi ứng dụng đã tắt đi và khi sử dụng bạn phải khai  báo chúng trong AndroidMainifest.

<receiver>…</receiver>: đây là khi báo khi bạn sử dụng Broadcast Reciver, cái này là để bạn lắng nghe các sự kiện thay đổi của hệ thống như khi bất wifi, khi sạc pin… và bạn cũng sẽ được học ở phần Android nâng cao sau này.

Còn rất nhiều các thuộc tính khác mà mình không nói tới do mình cũng chưa dùng tới luôn nhưng cụ thể thì cứ làm nhiều thì bạn sẽ đụng tới và khi đụng tới bạn sẽ biết nó để làm gì, mỗi ngày tích lũy một tí vậy.Chứ mình cũng chưa biết hết được, các bạn thông cảm nhé :P.

Và trong video dưới đây mình sẽ nói rõ hơn và kèm theo các ví dụ để các bạn dễ hình dung hơn.

Video giới thiệu về AndroidManifest.xml


Mọi ý kiến thắc mắc xin các bạn cứ comment bên dứới Blog nhé, chúc các bạn thành công!

Tiếp theo

Bài 6: AndroidManifest.xml trong lập trình Android
5 (100%) 2 votes

One Response

  1. Hay May 9, 2017

Add Comment

*