ths. lương trần hy hiến khoa công nghệ thông …...1.2.1 cấu tạo android được...

57
Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông Tin Trường Đại học Sư phạm TP.HCM 1

Upload: others

Post on 25-Dec-2019

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông …...1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6, từ phiên bản 4.0 sử dụng

Ths. Lương Trần Hy Hiến

Khoa Công Nghệ Thông Tin

Trường Đại học Sư phạm TP.HCM1

Page 2: Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông …...1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6, từ phiên bản 4.0 sử dụng

1. Tổng quan Android

2. Tạo ứng dụng đầu tiên

3. Cập nhật Android API

4. Cài đặt và sử dụng Android Virtual Device (AVD)

5. Các thành phần ứng dụng

6. Cơ chế hoạt động

7. Activity và độ ưu tiên ứng dụng

2

Page 3: Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông …...1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6, từ phiên bản 4.0 sử dụng

3

Page 4: Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông …...1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6, từ phiên bản 4.0 sử dụng

Lịch sử phát triển

Năm 2003, Android Inc. được thành lập bởi Andy Rubin, Rich Miner, Nick Sears và Chris White tại California.

Năm 2005, Google sở hữu Android cùng với các vị trí quản lý.

Năm 2007, OHA (Open Handset Alliance) được thành lập bởi Google cùng với nhiều nhà sản xuất thiết bị phần cứng, thiết bị không dây và vi xử lý. Công bố nền tảng phát triển Android.

Năm 2008, thiết bị HTC Dream là phiên bản thế hệ đầu tiên hoạt động với hệ điều hành Android 1.0.

Năm 2010, Google khởi đầu dòng thiết bị Nexus với thiết bị đầu tiên của HTC là Nexus One.

Năm 2013, ra mắt loạt thiết bị phiên bản GPE.

Năm 2014, Google công báo Android Wear, hệ điều hành dành cho các thiết bị đeo được.

4

Page 5: Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông …...1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6, từ phiên bản 4.0 sử dụng

Các phiên bản hệ điều hành

5

Page 6: Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông …...1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6, từ phiên bản 4.0 sử dụng

Các phiên bản hệ điều hành

6

Page 7: Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông …...1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6, từ phiên bản 4.0 sử dụng

Các phiên bản hệ điều hành

Phiên bản 1.x:▪ Android 1.0 (API 1)

▪ Android 1.1 (API 2)

▪ Android 1.5 Cupcake (API 3)

▪ Android 1.6 Donut (API 4)

Phiên bản 2.x:▪ Android 2.0 Eclair (API 5) – Android 2.0.1 (API 6) – Android 2.1 (API 7)

▪ Android 2.2 – 2.2.3 Froyo (API 8)

▪ Android 2.3 – 2.3.2 Gingerbread (API 9)

▪ Android 2.3.3 – 2.3.7 Gingerbread (API 10)

Phiên bản 3.x:▪ Android 3.0 Honeycomb (API 11)

▪ Android 3.1 Honeycomb (API 12)

▪ Android 3.2 Honeycomb (API 13)

7

Page 8: Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông …...1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6, từ phiên bản 4.0 sử dụng

Các phiên bản hệ điều hành

Phiên bản 4.x:

▪ Android 4.0 – 4.0.2 Ice Cream Sandwich (API 14)

▪ Android 4.0.3 – 4.0.4 Ice Cream Sandwich (API 15)

▪ Android 4.1 Jelly Bean (API 16)

▪ Android 4.2 Jelly Bean (API 17)

▪ Android 4.3 Jelly Bean (API 18)

▪ Android 4.4 Kit Kat (API 19)

8

Page 9: Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông …...1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6, từ phiên bản 4.0 sử dụng

Các phiên bản hệ điều hành

Phiên bản 5.x:

▪ Android 5.0 Lollipop (API 21)

▪ Android 5.1 Lollipop (API 22)

Phiên bản Android “M”

▪ Android 6.0 Marshmallow (API 23)

Phiên bản Android “N”

▪ Android 7.0 Nougat (API 24)

9

Page 10: Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông …...1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6, từ phiên bản 4.0 sử dụng

Các phiên bản hệ điều hành

Phiên bản 8.0 Android “O” (API 26)

▪ Android 8.1 Oreo (API 27)

10

Page 11: Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông …...1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6, từ phiên bản 4.0 sử dụng

Xu thế phát triển công nghệ di động

11

Page 12: Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông …...1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6, từ phiên bản 4.0 sử dụng

Thị trường thiết bị Android

12

Page 13: Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông …...1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6, từ phiên bản 4.0 sử dụng

Nguồn: http://gs.statcounter.com/os-market-share/mobile/worldwide

13

75%

20%

5%

Mobile Operating System Market Share Worldwide - February 2018

Android

iOS

Others

Page 14: Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông …...1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6, từ phiên bản 4.0 sử dụng

1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6,

từ phiên bản 4.0 sử dụng Linux nhân 3.x. Android bao gồm 3 thành phần chính:

Middleware

Các thư viện và API viết bằng C

Các ứng dụng thực thi viết bằng Java Sử dụng máy ảo Dalvik để biên dịch mã .dex (Dalvik

Excuteable) sang Java bytecode.

14

Page 15: Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông …...1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6, từ phiên bản 4.0 sử dụng

15

Page 16: Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông …...1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6, từ phiên bản 4.0 sử dụng

Có thể sử dụng các ngôn ngữ lập trình:

Java

C/C++

JNI

XML

Render Script

Kotlin

16

Page 17: Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông …...1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6, từ phiên bản 4.0 sử dụng

17

Page 18: Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông …...1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6, từ phiên bản 4.0 sử dụng

http://www.oracle.com/technetwork/java/javase/downloads

/jre8-downloads-2133155.html

http://developer.android.com/intl/vi/sdk/index.html

18

Page 19: Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông …...1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6, từ phiên bản 4.0 sử dụng

Android Studio là công cụ lập trình dựa trên nền IntelliJ, cung cấp các

tính năng mạnh mẽ hơn ADT, bao gồm:

Hỗ trợ xây dựng dự án dạng Gradle.

Hỗ trợ sửa lỗi nhanh và tái sử dụng cấu trúc phương thức

Cung cấp các công cụ kiểm tra tính khả dụng, khả năng họat động

của ứng dụng, tương thích nền tảng…

Hỗ trợ bảo mật mã nguồn và đóng gói ứng dụng.

Trình biên tập giao diện cung cấp tổng quan giao diện ứng dụng và

các thành phần, cho phép tuỳ chỉnh trên nhiều cấu hình khác nhau.

Cho phép tương tác với nền Google Cloud.

19

Page 20: Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông …...1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6, từ phiên bản 4.0 sử dụng

Faster emulator

GenyMotion

20

Settings

Page 21: Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông …...1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6, từ phiên bản 4.0 sử dụng

Yêu cầu hệ thống dành cho Windows:

Microsoft® Windows® 8/7/Vista/2003 (32 or 64-bit).

2 GB RAM trở lên, nên 4GB.

Dung lượng ổ đĩa ứng còn trống ít nhất 400 MB.

Ít nhất 1 GB cho Android SDK, emulator system images và caches.

Độ phân giảm tối thiểu 1280 x 800.

Java Development Kit (JDK) 7 trở lên.

Tùy chọn thêm cho accelerated emulator: hỗ trợ bộ xử lý Intel® với

các phiên bản: Intel® VT-x, Intel® EM64T (Intel® 64), và tính

năng Execute Disable (XD) Bit.

21

Page 22: Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông …...1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6, từ phiên bản 4.0 sử dụng

1. Tổng quan Android

2. Tạo ứng dụng đầu tiên

• Khởi tạo dự án

• Cấu trúc dự án

• AndroidManifest

3. Cập nhật Android API

4. Cài đặt và sử dụng Android Virtual Device (AVD)

5. Các thành phần ứng dụng

6. Cơ chế hoạt động

7. Activity và độ ưu tiên ứng dụng

22

Page 23: Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông …...1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6, từ phiên bản 4.0 sử dụng

Khởi chạy Android Studio, xuất hiện màn hình “Welcome to Android Studio” →

chọn Start a new Android Studio project để tạo dự án Android Studio

Đặt tên cho ứng dụng và tên domain

Chọn thiết bị (device) mà bạn muốn phát triển ứng dụng

Chú ý: Minimum SDK là phiên bản thấp nhất được chỉ định để chạy ứng

dụng và một số các phương thức API sẽ được gọi bổ sung trong phần thư

viện hỗ trợ.

Chọn Blank Activity và nhấn Next.

Nhập thông tin của Activity → Finish

23

Page 24: Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông …...1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6, từ phiên bản 4.0 sử dụng

24

Page 25: Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông …...1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6, từ phiên bản 4.0 sử dụng

Cấu trúc dự án có thể chia thành phần sau:

Phần 1: thanh công cụ này rất tiện lợi. Nó giúp chúng ta thao tác nhanhcác chức năng thường dùng khi lập trình

Phần 2: là phần dành cho cấu trúc hệ thống của ứng dụng. Cấu trúc dựán có thể chia thành phần sau:

▪ Thư mục:

▪ src: Thư mục này chứa các file mã nguồn .java cho dự án của bạn.

▪ gen: Thư mục này chứa file R.java - 1 file được trình biên dịch sinh ra có khảnăng tham chiếu tới tất cả các tài nguyên trong dự án. Bạn không nên chỉnh sửafile này.

▪ bin: Thư mục này chứa các file *.apk (Android Package file) được build bởi ADT.

▪ res/drawable-hdpi: Đây là thư mục chứa các đối tượng drawble được thiết kếdành cho các màn hình có độ phân giải cao.

▪ res/layout: Đây là thư mục chứa các file layout cho việc thiết kế giao diện.

▪ res/values: Đây là thư mục dành cho các file XML khác chứa 1 tập hợp các tàinguyên, ví dụ như: các định nghĩa về strings, colors.

25

Page 26: Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông …...1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6, từ phiên bản 4.0 sử dụng

Cấu trúc dự án có thể chia thành phần sau:

Phần 2: là phần dành cho cấu trúc hệthống của ứng dụng. Cấu trúc dự án cóthể chia thành phần sau:

▪ Tập tin:

▪ AndroidManifest.xml: chứa thông tin càiđặt ứng dụng.

▪ Ngoài ra còn có thư mục assets chứa tấtcả các tập tin không biên dịch như: âmthanh, hình ảnh, tập tin CSDL của ứngdụng…

26

Page 27: Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông …...1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6, từ phiên bản 4.0 sử dụng

Cấu trúc dự án có thể chia thành phần sau:

Phần 3: là nơi hiển thị các điều khiển (control) mà Android hỗ trợ, chophép bạn kéo thả trực tiếp vào phần 4 (Giao diện thiết bị) để thiết kế.

27

Page 28: Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông …...1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6, từ phiên bản 4.0 sử dụng

Cấu trúc dự án có thể chia thành phần sau:

Phần 4: là vùng giao diện thiết bị, cho phép các điều khiển (control) kéothả vào đây. Chúng ta có thể chọn cách hiển thị theo nằm ngang - nằmđứng, phóng to - thu nhỏ, căn chỉnh điều khiển, lựa chọn loại thiết bịhiển thị, ...

Phần 5: Khi màn hình của bạn có nhiều điều khiển (control) thì phần 5này rất cần thiết. Nó hiển thị giao diện theo dạng cấu trúc cây nên bạndễ dàng quan sát và lựa chọn điều khiển khi chúng bị chồng lập trêngiao diện.

28

Page 29: Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông …...1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6, từ phiên bản 4.0 sử dụng

Cấu trúc dự án có thể chia thành phần sau:

Phần 6: cho phép thiết lập trạng thái hay thuộc tính cho các điều khiểntrên giao diện.

29

Page 30: Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông …...1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6, từ phiên bản 4.0 sử dụng

Vai trò của tập tin AndroidManifest.xml:

Lưu trữ thông tin tên gói ứng dụng, tồn tại duy nhất một tên gói cho mỗi ứng dụng.

▪ Ví dụ: com.htsi.myfirstapp

Cho biết ứng dụng sử dụng các thành phần nào, mỗi thành phần được khai trong một cặp thẻ.

▪ Ví dụ: <activity>….</activity>

Định nghĩa tiến trình quản lý các thành phần ứng dụng.

Định nghĩa các quyền sử dụng API và truy xuất ứng dụng khác.

Qui định các yêu cầu khi được ứng dụng khác truy xuất.

Khai báo cấp độ API tối thiểu xây dựng ứng dụng.

Khai báo các thư viện có liên quan.

30

Page 31: Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông …...1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6, từ phiên bản 4.0 sử dụng

31

<manifest xmlns:android="..."

package="edu.utep.cs.cs4390.helloworld"

android:versionCode="1"

android:versionName="1.0">

<application

androd:icon="@drawable/launch_icon"

android:label="@string/app_name">

<activity android:name=".MainActivity"

android:label="@string/app_name">

<intent-filter>

<action android:name="android.intent.action.MAIN"/>

<category android:name="android.intent.categry.LAUNCHER"/>

</intent-filter>

</activity>

</application>

<uses-sdk android:minSdkVersion="17"/>

</manifest>

Page 32: Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông …...1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6, từ phiên bản 4.0 sử dụng

Sử dụng công cụ SDK Manager

32

Page 33: Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông …...1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6, từ phiên bản 4.0 sử dụng

Tạo máy ảo:

Khởi chạy Android Virtual Device Manager (AVD Manager).

Chọn thiết bị muốn tạo.

Chọn phiên bản hệ điều hành muốn tạo.

Nhấn Finish để hoàn thành tạo máy ảo.

Chọn máy ảo vừa tạo Start.

Chú ý các thông số:

- Device Name: tên thiết ảo cần tạo (thường đặt tên theo phiên bản).

- Device Type: loại thiết bị muốn tạo, có các lựa chọn: Phone/ Tablet, AndroidWear, Android TV.

- Screen: độ rộng và độ phân giải cho màn hình.

- Memory: bộ nhớ thiết bị.

33

Page 34: Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông …...1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6, từ phiên bản 4.0 sử dụng

Activity

View

Service

Broadcast Receiver

Intent

Content Provider

Notification

34

Page 35: Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông …...1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6, từ phiên bản 4.0 sử dụng

Trong ứng dụng Android, Activity đóng vai trò là một

màn hình, nơi người dùng có thể tương tác với ứng

dụng, ví dụ: chụp hình, xem bản đồ, gửi mail…

Một ứng dụng có thể có một hoặc nhiều Activity, Activity

được khởi chạy đầu tiên khi ứng dụng hoạt động được

gọi là “MainActivity”.

Activity có thể hiển thị ở chế toàn màn hình, hoặc ở

dạng cửa sổ với một kích thước nhất định.

Các Activity có thể gọi đến các Activity khác, Activity

được gọi sẽ nhận được tương tác ở thời điểm đó.

35

Page 36: Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông …...1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6, từ phiên bản 4.0 sử dụng

View được sử dụng để tạo ra các điều khiển trên màn hình cho

phép nhận các tương tác từ người dùng cũng như hiển thị các

thông tin cần thiết.

View bao gồm hai dạng:

View: các điều khiển đơn lẻ

ViewGroup: tập hợp nhiều điều khiển

đơn lẻ

36

Page 37: Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông …...1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6, từ phiên bản 4.0 sử dụng

Service được sử dụng để thực thi các tác vụ cần nhiều

thời gian, thực hiện ở chế độ ngầm và thường không

cần giao diện hiển thị.

Service có thể được khởi chạy và hoạt động xuyên suốt

ngay cả khi ứng dụng không hoạt động.

Một số tác vụ cần thực hiện bằng Service:

Trình diễn các tập tin đa truyền thông như nhạc,

phim…

Kết nối và thực hiện tải các nội dung thông qua

Internet

Truy xuất đọc ghi tập tin

37

Page 38: Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông …...1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6, từ phiên bản 4.0 sử dụng

Thành phần ứng dụng cho phép truyền tải các thông

báo trên phạm vi toàn hệ thống. Không có giao diện

nhưng có thể thực hiện thông báo qua thanh trạng thái.

Broadcast Receiver truyền thông báo ở hai dạng:

Hệ thống: các thông báo được truyền trực tiếp từ hệ

thống như: tắt màn hình, pin yếu, thay đổi kết nối…

Ứng dụng: xây dựng các truyền thông báo đến các

thành phần trong ứng dụng như: khởi động Service,

tải nội dung đến ứng dụng…

38

Page 39: Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông …...1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6, từ phiên bản 4.0 sử dụng

Intent là đối tượng mang thông điệp, cho phép tạo ra

các yêu cầu hành động giữa các thành phần trong ứng

dụng, hoặc giữa các ứng dụng với nhau.

Được sử dụng nhiều trong 3 trường hợp sau:

Khởi động Activity

Khởi động Service

Chuyển phát thông tin cho Broadcast Receiver

39

Page 40: Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông …...1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6, từ phiên bản 4.0 sử dụng

Content Provider xây dựng cách thức truy xuất tập hợp

các dữ liệu ứng dụng, dữ liệu có thể lưu trữ ở nhiều

dạng như: SQLite, tập tin, tài nguyên Web hoặc bất kì

thư mục lưu trữ nào.

Có thể sử dụng Content Provider để xây dựng các ứng

dụng sử dụng chung nguồn tài nguyên hoặc sử dung

riêng.

Trong Android, một số Content Provider được xây dựng

sẵn:

Danh bạ

Tài nguyên đa truyền thông

Lịch40

Page 41: Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông …...1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6, từ phiên bản 4.0 sử dụng

Notification được xây dựng cho mục đích gửi các thông

báo đến người dùng thông qua thanh trạng thái.

Giao diện Notification không thuộc giao diện ứng dụng,

nhưng có thể tuỳ chỉnh giao diện Notification thông qua

các phương thức có sẵn.

41

Page 42: Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông …...1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6, từ phiên bản 4.0 sử dụng

Ứng dụng Android và cơ chế hoạt động

Đóng gói và thực thi ứng dụng

Tính tương thích thiết bị

42

Page 43: Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông …...1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6, từ phiên bản 4.0 sử dụng

Ứng dụng Android được viết bằng ngôn ngữ Java và biên dịch, đóng gói

cùng các tập tin tài nguyên thành tập tin *.apk.

Cài đặt trên thiết bị theo đường dẫn data/app/<Tên đóng gói>, được chứa

trong Sandbox và được hiểu:

Mỗi ứng dụng là một dạng “người dùng” khác nhau.

Mỗi ứng dụng được cấp một ID, do đó chỉ duy nhất ứng dụng mới có

thể truy xuất các tập tin liên quan đến ứng dụng đó.

Ứng dụng thực thi riêng biệt trên từng máy ảo.

Tiến trình Linux được cấp phát khi bất cứ thành phần ứng dụng được

gọi thực thi, và thu hồi khi chấm dứt hoạt động.

Các ứng dụng có cùng ID và chứng chỉ (Cerfiticate) có thể truy xuất tài

nguyên của nhau, hoặc xin quyền nếu truy xuất hệ thống.

43

Sẽ có bài giới thiệu cụ thể Submit App lên Google Play

Page 44: Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông …...1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6, từ phiên bản 4.0 sử dụng

Tính tương thích ứng dụng với thiết bị bao gồm:

Trang bị tính năng của thiết bị

Phiên bản hệ điều hành

Kích thước màn hình

44

Page 45: Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông …...1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6, từ phiên bản 4.0 sử dụng

Trang bị tính năng của thiết bị:

Mỗi tính năng phần cứng và phần mềm trên thiết bị

Android được cung cấp một ID, qui định thiết bị đó có

được trang bị tính năng đó hay không.

▪ Ví dụ:

▪ FEATURE_SENSOR_COMPASS: tính năng la bàn

▪ FEATURE_APP_WIDGET: tính năng gắn Widget

45

Page 46: Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông …...1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6, từ phiên bản 4.0 sử dụng

Phiên bản hệ điều hành:

Mỗi phiên bản kế tiếp được bổ sung hoặc lược bỏ các

hàm API, cần thực thi khai báo các thông tin phiên

bản để sử dụng đầy đủ các tính năng cho ứng dụng.

▪ Ví dụ:

▪ Android ICS 4.0: bổ sung API cho Calendar

▪ Android Kit Kat 4.4: bổ sung API cho WirelessPrint

46

Page 47: Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông …...1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6, từ phiên bản 4.0 sử dụng

Kích thước màn hình:

Ứng dụng Android cần tương thích với nhiều kích cỡ

thiết bị, được phân chia thành hai thuộc tính:

▪ Kích thước vật lý màn hình.

▪ Độ phân giải (mật độ điểm ảnh)

47

Page 48: Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông …...1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6, từ phiên bản 4.0 sử dụng

Activity và độ ưu tiên ứng dụng

Xây dựng Activity

Quản lý trạng thái Activity

Độ ưu tiên trong ứng dụng

48

Page 49: Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông …...1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6, từ phiên bản 4.0 sử dụng

Thực hiện tạo Activity cho ứng dụng:

Tạo mới lớp kế thừa từ lớp Activity

Thực thi các hàm quản lý trạng thái Activity

Xây dựng giao diện trong tài nguyên res/layout

Khai báo Activity trong tập tin AndroidManifest.xml

49

Page 50: Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông …...1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6, từ phiên bản 4.0 sử dụng

Activity bao gồm ba trạng thái:

Resumed: đang trong trạng thái nhận tương tác.

Paused: không thể tương tác nhưng vẫn được thấy bởi người dùng.

Stopped: thực hiện chạy ở chế độ ngầm.

Thực hiện gọi các hàm quản lý trạng thái:

onStart

onRestart

onCreate

onPause

onResume

onStop

onDestroys

50

Page 51: Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông …...1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6, từ phiên bản 4.0 sử dụng

Sơ đồ trạng thái

51

Page 52: Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông …...1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6, từ phiên bản 4.0 sử dụng

Sơ đồ trạng thái

52

Page 53: Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông …...1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6, từ phiên bản 4.0 sử dụng

onCreate()Được gọi khi Activity được khởi tạo. Dùng để khởi tạo

giao diện, các thành phần hiển thị.

onResume()

Được gọi khi Activity lại được trở lại trạng thái hoạt động,

tức là người dùng thao tác và nó đang hiện hữu.

Sử dụng để khỏi tạo các trường, đăng ký các listener, gán

với services.

onPause()

Được gọi khi Activity quay về “hậu cung”, luôn luôn được

gọi trước khi Activity không còn được nhìn thấy nữa.

Thường được sử dụng khi lưu dữ liệu, giải phóng tài

nguyên. VD: Bỏ đăng ký listener, receiver, gỡ bỏ services.

onStop()

Được gọi khi Activity không còn hiện hữu. Các tác vụ liên

quan đến CPU, database nên được gọi trong khâu này.

Từ API 11, phương thức này luôn được đảm bảo gọi ra.

53

Page 54: Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông …...1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6, từ phiên bản 4.0 sử dụng

54

Page 55: Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông …...1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6, từ phiên bản 4.0 sử dụng

Cơ chế quản lý bộ nhớ:

• Android quản lý các Ứng dụng dựa trên độ ưu tiên.

• Nếu hai ứng dụng có cùng trạng thái thì ứng dụng

nào đã chạy lâu hơn sẽ có độ ưu tiên thấp hơn.

• Nếu ứng dụng đang chạy một Service hay Content

Provider do một ứng dụng khác hổ trợ thì sẽ có cùng

độ ưu tiên với ứng dụng đó.

• Các ứng dụng sẽ bị đóng mà không có sự báo trước.

55

Page 56: Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông …...1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6, từ phiên bản 4.0 sử dụng

Độ ưu tiên:

56

Page 57: Ths. Lương Trần Hy Hiến Khoa Công Nghệ Thông …...1.2.1 Cấu tạo Android được hình thành dựa trên nền tảng Linux nhân 2.6, từ phiên bản 4.0 sử dụng

57