Học về Android Manifest

 Trong bài 1 mình đã giới thiệu sơ lược về các thành phần cơ bản của Android cũng
như việc sử dụng XML để lập trình ứng dụng Android. Trong bài này mình sẽ giới
thiệu thêm về Android Manifest và đi sâu hơn về vấn đề làm việc với View.

Android Manifest

Trong khung Package Explorer, ở phía dưới thư mục res, bạn sẽ thấy 1 file có tên
là AndroidManifest.xml. Mỗi ứng dụng đều cần có AndroidManifest.xml để mô tả
những thông tin quan trọng của nó cho hệ thống Android biết. Let's look closer:
Mã:
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/andro
id"
      package="at.exam"
      android:versionCode="1"
      android:versionName="1.0">
    <application android:icon="@drawable/icon"
android:label="@string/app_name">
        <activity android:name=".Example"
                  android:label="@string/app_name">
            <intent-filter>
                <action
android:name="android.intent.action.MAIN" />
                <category
android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
    <uses-sdk android:minSdkVersion="3" />
</manifest>
Cụ thể những công việc mà AndroidManifest.xml thực hiện:
- Đặt tên cho Java package của ứng dụng.

- Mô tả các thành phần (component) của ứng dụng: activity, service, broadcast
receiver hoặc content provider.
- Thông báo những permission mà ứng dụng cần có để truy nhập các protected API
và tương tác với các ứng dụng khác.

- Thông báo những permission mà các ứng dụng khác cần có để tương tác với ứng
dụng hiện thời.

- Thông báo level thấp nhất của Android API mà ứng dụng cần để chạy. (Android
1.0 là level 1, 1.1 là level 2, 1.5 level 3, 1.6 level 4 và 2.0 là level 5).
...

Hãy xem thử file AndroidManifest.xml của chương trình TooDo mình đang xây
dựng:

Mã:
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/andro
id"
      package="android.at"
      android:versionCode="1"
      android:versionName="1.0">
    <application android:icon="@drawable/icon"
android:label="@string/app_name">
        <activity
                android:name=".TooDo"
                android:screenOrientation="landscape"
               
android:theme="@android:style/Theme.NoTitleBar.Fullscre
en"
                android:label="@string/app_name">
            <intent-filter>
                <action
android:name="android.intent.action.MAIN" />
                <category
android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".WorkEnter">
        </activity>
        <receiver android:name=".AlarmReceiver">
        </receiver>
    </application>
    <uses-sdk android:minSdkVersion="3" />
    <uses-permission
android:name="android.permission.VIBRATE"/>
</manifest>
Main Activity của chương trình Too Do này là activity TooDo. Ngoài ra mình còn
có 1 Activity khác có tên là WorkEnter để cho phép nhập vào thời gian và nội
dung công việc. 1 Broadcast Receiver có tên là AlarmReceiver để nhận alarm gửi
tới trong intent.

Khi alarm được nhận sẽ có âm thanh và rung (vibration). Tất cả công việc sẽ được
viết trong code, nhưng bắt buộc bạn phải khai báo các thành phần có trong ứng
dụng vào AndroidManifest nếu muốn chương trình hoạt động.

Tương tự, set permission để truy nhập camera, internet, đọc contact... cũng đều
phải khai báo trong AM. Từ khóa screenOrientation cho phép thiết lập giao diện
khi vào ứng dụng theo chiều dọc (portrait - mặc định) hay ngang (landscape),
theme cho phép sử dụng style có sẵn của android là full-screen (ko có thanh status
bar nữa).

Intent filter là bộ lọc dùng để giới hạn các intent được sử dụng trong activity hay
receiver...
Mã:
<intent-filter>
        <action
android:name="android.intent.action.VIEW"/>
        <category
android:name="android.intent.category.DEFAULT"/>
        <category
android:name="android.intent.category.BROWSABLE"/>
        <data android:scheme="http"
android:host="www.google.com"
android:path="/m/products/scan"/>
      </intent-filter>
Bộ lọc trên chỉ cho phép intent mở internet với đường dẫn định nghĩa sẵn
Ok, hi vọng mọi người đã nắm được chức năng cơ bản cũng như cách sử dụng
Android Manifest

Unknown

Trung tâm Vietpro Education chuyên gia đào tạo lập trình viên android hàng đầu.

Không có nhận xét nào:

Đăng nhận xét