1. Trang chủ
  2. » Nghệ sĩ và thiết kế

GV: Võ Tấn Dũng

49 7 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 49
Dung lượng 1,33 MB

Nội dung

Nó vẫn còn đầy đủ thông tin trạng thái của nó và vẫn còn được quản lý bởi bộ quản lý cửa sổ của hệ thống (window manager), nhưng nó có thể bị hệ thống tiêu diệt (kill) nếu như bộ nhớ [r]

(1)

LẬP TRÌNH ANDROID CĂN BẢN

(2)(3)

Các components

Một ứng dụng Android hình thành từ việc kết hợp thành phần (components) lại với Bao gồm:

 Activity

 Views ViewGroups

 Intents

 Services

 Content Provider

 Broadcast Receiver

(4)

4

Activity

4

 Activity đóng vai trị trung tâm ứng dụng Android

 Một activity thể hình (screen) giao diện người dùng trực quan Thông qua giao diện này, activity nhận thao tác từ người dùng xử l{ chúng

 Một ứng dụng Android có nhiều Activity Trong trình hoạt động, ứng dụng Android chuyển vị từ activity sang activity khác

 Main Activity activity gọi ứng dụng khởi động Main Activity phải khai báo Manifest file

(5)

Services

 Service thành phần tương tự activity khơng có giao diện

 Service chạy chế độ background

 Một service tương tác liệu với activity service khác

(6)

6

Intents

6

 Intent có vai trị thơng điệp bất đồng (asynchronous messages) cho phép ứng dụng gọi thực thi chức component khác Android Ví dụ gọi thực thi Activity hay Service

 Một ứng dụng Android trực tiếp gọi thực thi component (explicit intent) yêu cầu hệ điều hành Android lựa chọn số component đăng k{ để thực thi (implicit intents)

 Ứng dụng Android dùng Intent để chia liệu components Intent cho phép gửi nhận data Activity Service

 Intent phương tiện để đóng gói Service Activity trước chạy chúng Intent broadcast kiện toàn hệ

thống kiện xảy

(7)

Views ViewGroups

 Views đối tượng trực quan hình thành nên giao diện người dùng Ví dụ như: button, tetxfield,…

 View có thuộc tính (attributes) mà người lập trình dùng để thay đổi hình dạng hành vi View

 ViewGroup đóng vai trò Layout Manager đảm nhiệm việc xếp Views hình (screen)

(8)

8

Content Provider

8

 Content Provider cung cấp giao diện có cấu trúc để truy cập liệu Thông qua Content Provider, ứng dụng Android chia sẻ liệu với

 Contain Provider thực tập hợp phương thức cho phép ứng dụng truy cập liệu tổ chức theo cách mà quản l{

 Thực Content Provider khơng lưu trữ liệu mà cung cấp giao tiếp cho phép ứng dụng truy cập liệu Các liệu lưu trữ hệ thống tập tin sở liệu SQLite

 Các tiến trình tương tác với liệu Content Provider thực thông qua đối tượng trung gian, Content Resolver

(9)

Broadcast Receiver

 Broadcast Receiver đăng k{ nhận thơng điệp (messages) hệ thống Intents

 Broadcast Receiver nhận thông báo từ hệ thống có tượng xảy

 Ví dụ: Broadcast Receiver nhận thơng báo hệ thống vừa boot máy hoàn chỉnh có gọi đến, máy hết pin, bạn có email

(10)

10

Application Context

10

 Application Context có vị trí trung tâm (top-level) ứng dụng Android

 Chúng ta dùng Context ứng dụng Android để truy cập thiết lập (settings), tài nguyên (resources) chia sẻ

activity

 Bởi Activity thừa kế từ Context Class nên ta dùng trỏ this để truy cập Context ứng dụng

 Để lấy Context ứng dụng, ta sử dụng method Context.getApplicationContext() Activity.getApplication()

(11)(12)

12

Các bước thực

12

Ta xây dựng ứng dụng Android đơn giản sau Nó có cơng dụng để chuyển đổi giá trị từ độ C (Celsius) sang độ F (Fahrenheit) ngược lại Các bước thực gồm có:

 Tạo project

 Tạo tài nguyên  Thiết kế giao diện  Viết code

 Chạy ứng dụng viết

(sau đó, ta khảo sát nội dung Manifest File ứng dụng)

(13)

Tạo project

(14)

14

Tạo project

14

Nhấp chọn version hệ điều hành Android version thư viện Android API mà chương trình dịch sang Rồi nhấp Next

G

V

: V

õ

Tấ

n D

(15)

Tạo project

Đặt tên cho ứng dụng Đặt tên cho gói (package) mà ứng dụng đóng gói vào Đặt tên cho Activity chương trình Chọn version SDK tối thiểu

(16)

16

Khảo sát Package Explorer

16

Khảo sát Package Explorer project Hãy { đến thành phần ConvertActivity.java, R.java, thư mục res/layout/main.xml res/values/strings.xml, AndroidManifest.xml

G

V

: V

õ

Tấ

n D

(17)

Tạo attribute resource

Các thuộc tính (attribute) tài nguyên (resource) sử dụng ứng dụng Ví dụ chuỗi (string), màu sắc (color) Chúng định nghĩa XML Java source code Ta mở tập tin

“res/values/string.xml” để thêm vào thuộc tính tài nguyên

Nhấp “Add”, chọn “Color” nhập vào tên

(18)

18

Tạo attribute resource

18

Làm tương tự, ta tạo thuộc tính kiểu String với cặp tên giá trị theo bảng sau:

G

V

: V

õ

Tấ

n D

(19)

Thiết kế giao diện

Android SDK cho phép ta thiết kế giao diện rich editor XML

(20)

20

Thiết kế giao diện

20

Ta sử dụng XML source code để viết giao diện sử dụng chức kéo thả từ Palette rich editor

G

V

: V

õ

Tấ

n D

ũng

(21)

Thiết kế giao diện

(22)

22

Thiết kế giao diện

22

Android SDK tự động hiệu chỉnh nội dung file “main.xml” với nội dụng sau:

G

V

: V

õ

Tấ

n D

(23)

Thiết kế giao diện

Có hai cách để chỉnh sửa thuộc tính giao diện

Dùng right-mouse-menu chỉnh sửa file “main.xml“

Ta xóa chuỗi khởi động EditText project vừa tạo cách Mở file “main.xml”, xóa thuộc tính android:text="EditText“ phần EditText Nhấp vào thẻ “Graphical layout” để kiểm tra ta thấy văn bị xóa

Bây ta thay đổi thuộc tính cho radiobutton cách Nhấp vào vào

radiobutton thứ Xuất menu dạng pop-up, chọn “Edit Text…”, gán tài nguyên “celsius” làm thuộc tính văn cho radiobutton

(24)

24

Thiết kế giao diện

24

G

V

: V

õ

Tấ

n D

(25)

Thiết kế giao diện

 Dùng cách cách hai để gán thuộc tính “Checked” “true” cho radiobutton thứ  Gán tài nguyên loại chuỗi có tên “calc” cho thuộc

tính văn button layout

 Gán “myClickHandler” cho thuộc tính “onClick” button

 Gán “numberSigned” “numberDecimal” cho thuộc tính “Input type” EditText

 Như có views (controls) gồm EditText, hai Radiobuttons Button Chúng xếp theo dạng LinearLayout  Trong chế độ Graphics Layout, ta nhấp phải vào

chỗ trống bất kz layout chương trình, chọn Other Properties/All by Name/Background Chọn “Color”, chọn “myColor” danh sách

(26)

26

Thiết kế giao diện

26

G

V

: V

õ

Tấ

n D

(27)

Viết code

Trong ứng dụng thiết kế, tạo activity có tên ConvertActivity Nên nhớ, ứng dụng Android có nhiều Activity Chúng ta viết code cho ConvertActivity cách mở file ConvertActivity.java

Ở bước trên, khai báo sử dụng hàm

“myClickHandler” cho thuộc tính “onClick” button để xử l{ thao tác nhấp vào button

(28)

28

Viết code

28

Nội dung file ConvertActivity.java phải sau:

G

V

: V

õ

Tấ

n D

(29)

Viết code

(30)

30

Chạy ứng dụng viết

30

Chọn tên project, nhấp phải vào tên Xuất menu pop-up Chọn Run-As/Android

Application Kiên nhẫn chờ, thiết bị giả lập (điện thoại Android giả lập) khởi động chậm Kết ta sau:

G

V

: V

õ

Tấ

n D

(31)

Chạy ứng dụng viết

(32)

32

Khảo sát Manifest File

32

G

V

: V

õ

Tấ

n D

ũng

(33)

LIFE CYCLE CỦA

(34)

34

Activity Stack

34

• Một ứng dụng Android gồm nhiều Activity Tại thời điểm, hệ thống Android có nhiều ứng dụng chạy Một Activity tương ứng với screen Tại thời điểm, có screen xuất hình thiết bị

• Dó Activities hệ thống quản lý activity stack

• Khi activity khởi động (started), đặt đỉnh stack activity chạy (running activity) Activity trước (previous activity) phải nằm activity stack trở foreground (tiền cảnh) activity

• Nếu người dùng nhấn Back Button activity stack kích hoạt để trở foreground

(35)

Activity Stack New Activity Activity Activity Activity Last Running Activity Activity n-1 Running Activity New Activity được khởi động

Button Back nhấn hoặc running

activity bị đóng

Activity Stack

Các Previous Activities được lưu trong Stack

(36)

36

Sự chuyển trạng thái activity

36

G

V

: V

õ

Tấ

n D

ũng

Một activity có trạng thái (state) sau đây:

1 Nó active hoặc running

(37)

Các trạng thái activity

Một activity có trạng thái (states):

1 Nó trạng thái active (hay cịn gọi running)

foreground (tiền cảnh) hình thiết bị (screen), tức

tại đỉnh activity stack

(38)

38

Các trạng thái activity

38 G V : V õ Tấ n D ũng

Một activity có trạng thái (states) (tiếp theo):

2 Một activity trạng thái paused khơng cịn focus (được chọn) cịn thấy hình

Đó có activity khác nằm phía activity suốt khơng phủ trùm tồn

(39)

Các trạng thái activity

Một activity có trạng thái (states) (tiếp theo):

3 Một activity trạng thái stopped hồn tồn bị che khuất activity khác

(40)

40

Các hàm tương ứng với trạng thái activity

40

G

V

: V

õ

Tấ

n D

(41)

Các method trạng thái

Method: onCreate()

• Được gọi activity lần tạo

• Vì người ta thường thực cơng việc có tính khởi động trong hàm onCreate như: tạo views, liên kết liệu, khởi

động kết nối,…

Method truyền đối tượng Bundle chứa thơng tin trạng thái trước activity (containing the activity's previous state), trước thơng tin trạng thái lưu giữ lại

(42)

42

Các method trạng thái

42 G V : V õ Tấ n D ũng

Method: onRestart()

• Method gọi trước activity bị stopped Sau đó activity chiếm quyền ưu tiên để khởi động lại

Ln theo sau method onStart()

Method: onStart()

• Được gọi trước activity nhìn thấy người dùng (activity becomes visible to the user)

(43)

Các method trạng thái

Method: onResume()

1 Được gọi trước activity bắt đầu cho phép người dùng tương tác (activity starts interacting with the user)

(44)

44

Các method trạng thái

44 G V : V õ Tấ n D ũng

Method: onPause()

1 Được gọi hệ thống bắt đầu việc resume activity khác 2 Method thường dùng để: lưu lại thay đổi chưa

kịp lưu để bảo toàn liệu, dừng hoạt hình (animations) các cơng việc có tiêu thụ (consume) CPU nhiều, vân… vân…

3 Được theo sau method onResume() activity trở foreground, theo sau method onStop() trở nên khơng thể nhìn thấy người dùng (if it becomes invisible to the user)

(45)

Các method trạng thái

Method: onStop()

1 Được gọi activity khơng cịn nhìn thấy người dùng (no longer visible to the user)

2 Điều xảy activity bị hủy (destroyed), có một activity khác (existing activity new activity) resume

3 Thường theo sau method onRestart() activity trở lại hoạt động tương tác với người dùng, theo sau bởi method onDestroy() bị hệ thống loại bỏ

(46)

46

Các method trạng thái

46 G V : V õ Tấ n D ũng

Method: onDestroy()

1 Được gọi trước activity bị hủy (destroy)

2 Đây lời gọi cuối mà activity nhận

3 Nó gọi activity hồn thành (finishing) (có activity gọi method finish() lên nó), gọi bởi hệ thống hệ thống cần tiết kiệm không gian

4 Ta phân biệt hai trường hợp cách dùng method

isFinishing()

(47)

Các trạng thái dễ bị tiêu diệt

Killable States

• Các activities rơi vào trạng thái killable states bị kết thúc (terminated) lúc hệ thống mà không kịp thực thi thêm dịng code code activity

• Ba methods làm cho activity dễ bị tiêu diệt onPause(), onStop(),

onDestroy()

• Chỉ có method onPause() đảm bảo gọi trước

activity bị tiêu diệt Còn method onStop() onDestroy() khơng

(48)

48

Tài liệu tham khảo

48 G V : V õ Tấ n D ũng

Nội dung slide có tham khảo tài liệu sau:

• [1] Tập slide giảng lập trình Android tác giả Victos Matos (Cleveland State University)

• [2] Trang web “Android Development Tutorial” tác giả Lars Vogel

• [3] HOUR-3 sách "SAMS Teach yourself android application development in 24 hours“ tác giả Lauren Darcey Shane

(49)

Ngày đăng: 16/12/2020, 13:38

TỪ KHÓA LIÊN QUAN