1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Phát triển phần mềm dạy bé tập đọc trên hệ điều hành android

52 284 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 52
Dung lượng 2,87 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Các ứng dụng, phần mềm phát triển trên Android ngày càng nhiều, và mục đích của các ứng dụng ngày càng đáp ứng được yêu cầu của người dùng.. “Android L” đã tích hợp các yếu tố đồ họa đơn

Trang 1

1

LỜI CÁM ƠN

Sau quãng thời gian học tập và rèn luyện dưới mái trường Công nghệ Thông tin và Truyền thông – Thái Nguyên, bằng sự nỗ lực học tập của bản thân, sự giúp đỡ của bạn bè và đặc biệt là sự dìu dắt đầy tâm huyết của các thầy cô trong trường, kết thúc chặng đường 5 năm em thấy mình đã trưởng thành hơn và với kiến thức đã tích lũy được trong quá trình học tập, em sẽ cố gắng sống và làm việc thật tốt, trở thành một người có ích cho gia đình và xã hội

Với lòng biết ơn sâu sắc nhất, em xin gửi lời cảm ơn chân thành đến Th.s Phùng Thế Huân đã cùng với tri thức và tâm huyết của mình truyền đạt vốn kiến thức quý báu cho em, tận tình giúp đỡ và động viên em trong suốt thời gian thực hiện đồ án tốt nghiệp

Em xin chân thành cảm ơn gia đình, bạn bè, các thầy cô trong trường Đại học Công nghệ Thông tin và Truyền thông đã động viên, tạo điều kiện thuận lợi cho

em thực hiện đồ án tốt nghiệp một cách tốt nhất

Sau cùng em xin kính chúc các thầy cô dồi dào sức khỏe, luôn tràn đầy tâm huyết để tiếp tục vững tay chèo lái con thuyền đưa thế hệ sinh viên cập bến bờ tri thức

Trong phạm vi khả năng cho phép, em đã cố gắng để hoàn thành đề tài một cách tốt nhất Nhưng với kiến thức còn có hạn, chắc chắn sẽ không tránh khỏi những thiếu sót Em kính mong nhận được sự thông cảm và đóng góp ý kiến tích cực từ phía các thầy cô và các bạn

Em xin chân thành cám ơn!

Trang 2

2

LỜI CAM ĐOAN

Em tên là: Nguyễn Thị Hảo – sinh viên lớp CNTT-K11A, ngành Công nghệ thông tin, khoa Công nghệ thông tin, trường Đại học Công nghệ Thông tin và Truyền thông - Đại học Thái Nguyên, khóa 2012-2017

Em xin cam đoan đã thực hiện quá trình làm đồ án một cách khoa học, chính xác và trung thực

Toàn bộ kết quả của quá trình làm đồ án là thành quả của quá trình học tập, nghiên cứu của em, dưới sự hướng dẫn của Th.s Phùng Thế Huân Nội dung trong

đồ án nếu có tham khảo, sử dụng tài liệu thông tin từ một số nguồn khác đều được trích dẫn trong phần tài liệu tham khảo

Em xin chịu trách nhiệm toàn bộ trước bài báo cáo của mình!

Thái Nguyên, ngày 04 tháng 5 năm 2017

Sinh viên

Nguyễn Thị Hảo

Trang 3

3

MỤC LỤC

LỜI CÁM ƠN 1

LỜI CAM ĐOAN 2

MỤC LỤC 3

DANH MỤC HÌNH ẢNH 5

MỞ ĐẦU 7

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 8

1.1 Tổng quan về hệ điều hành và lập trình ứng dụng trên android 8

1.1.1 Tổng quan về hệ điều hành android 8

1.1.2 Hệ điều hành (HĐH) Android và lập trình ứng dụng 10

1.1.3 Các thành phần giao diện và control cơ bản trong android 20

1.1.4 Intent 25

1.1.5 Định dạng Json 27

1.1.6 Broadcast Receiver 29

1.1.7 Content Provider 29

1.2 Web Service 30

1.2.1 Khái niệm 30

1.2.2 Đặc điểm của Web service 30

CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 33

2.1 Khảo sát và bài toán ứng dụng 33

2.1.1 Khảo sát một vài ứng dụng thực tế 33

2.1.2 Thống kê về số lượng người sử dụng smartphone 35

2.1.3 Khảo sát nhu cầu học của người dùng 36

2.1.4 Bài toán ứng dụng 36

2.2 Phân tích, thiết kế hệ thống 38

2.2.1 Mô tả ứng dụng 38

Trang 4

4

2.2.2 Xác định tác nhân 38

2.2.3 Xác định các UC (ca sử dụng) của chương trình 39

2.2.4 Biểu đồ ca sử dụng( Use Case Diagram ) 39

2.2.5 Biểu đồ trình tự 41

2.2.6 Biểu đồ hoạt động (Activity Diagram) 43

CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH 45

3.1 Công nghệ và công cụ 45

3.2 Giao diện chính của chương trình 45

3.3 Giao diện học chữ số 45

3.4 Giao diện học chữ cái 46

3.5 Giao diện nhận biết hình học 46

3.6 Giao diện nhận biết giờ 47

3.7 Giao diện thực hành chữ cái 47

3.8 Giao diện thực hành chữ số 48

3.9 Giao diện chọn hình đúng 48

3.10 Giao diện chọn giờ đúng 49

KẾT LUẬN 50

TÀI LIỆU THAM KHẢO 51

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 52

Trang 5

5

DANH MỤC HÌNH ẢNH

Hình 1.1: Các phiên bản của Android 9

Hình 1.2 Cấu trúc của hệ điều hành Android 10

Hình 1.3 Mô hình Activity Atack 17

Hình 1.4 Vòng đời của một Activity 18

Hình 1.5 Ví dụ về RelativeLayout 21

Hình 1.6 Ví dụ về TableLayout 21

Hình 1.7: Ví dụ về Button 22

Hình 1.8 Ví dụ về RadioButton 24

Hình 1.9 Mô hình truyền dữ liệu với Intent 25

Hình 1.10 Các thuộc tính của một đối tượng Intent 26

Hình 1.11 Các Action được định nghĩa sẵn 26

Hình 1.12 Cấu trúc một đối tượng Object trong Json 28

Hình 1.13 Cấu trúc một đối tượng Array trong Json 28

Hình 1.14 Cấu trúc của Web service 32

Hình 2.1 Bé học chữ 33

Hình 2.2 Bé học đánh vần 34

Hình 2.3 Học chữ cái 35

Hình 2.4 Các loại smartphone thường được sử dụng 36

Hình 2.5 Sơ đồ use case tổng quát 40

Hình 2.6 Sơ đồ use case chi tiết của chức năng dạy bé tập đọc 40

Hình 2.7 Biểu đồ trình tự của ca sử dụng chọn chủ đề học 41

Hình 2.8 Biểu đồ trình tự của ca sử dụng tập đọc 42

Hình 2.9 Biểu đồ trình tự của ca sử dụng luyện tập 43

Hình 2.10 Biểu đồ hoạt động 44

Hình 3.1: Giao diện chính của chương trình 45

Hình 3.2 Giao diện học chữ số 46

Hình 3.3 Giao diện học chữ cái 46

Hình 3.4 Giao diện nhận biết hình học 47

Hình 3.5 Giao diện nhận biết giờ 47

Hình 3.6 Giao diện thực hành chữ cái 48

Trang 6

6

Hình 3.7 Giao diện thực hành chữ số 48 Hình 3.8 Giao diện chọn hình đúng 49 Hình 3.9 Giao diện chọn giờ đúng 49

Trang 7

7

MỞ ĐẦU

Ngày nay, những chiếc điện thoại di động hay các thiết bị Smartphone là các thiết bị giải trí, học tập, mang đến cho chúng ta các thông tin bổ ích trong cuộc sống hàng ngày Không chỉ những người lớn tuổi yêu thích công nghệ đều sở hữu Smartphone để phục vụ cho nhu cầu của mình mà ngay cả các trẻ em nhỏ tuổi cũng được cha mẹ trang bị cho thiết bị này để học tập và giải trí Nhiều nghiên cứu khoa học đã chứng minh sử dụng các thiết bị Smartphone thường xuyên sẽ gây tác động tích cực lẫn tiêu cực cho người sử dụng và đặc biệt là nhận thức của trẻ em nếu người lớn không biết cách hướng dẫn cho trẻ một cách hợp lý Hiện nay đã có rất nhiều ứng dụng về giáo dục trên Smartphone có khả năng ảnh hưởng tích cực tới trí nhớ và khả năng tiếp thu kiến thức của trẻ trong giai đoạn phát triển Với sự lớn mạnh và phát triển vượt bậc trong những năm gần đây, hệ điều hành Android đã cho thấy được thế mạnh của mình trong các thiết bị Smartphone Các ứng dụng, phần mềm phát triển trên Android ngày càng nhiều, và mục đích của các ứng dụng ngày càng đáp ứng được yêu cầu của người dùng Vì vậy em đã lựa chọn Android làm nền tảng cho đề tài của mình

Nội dung chính của bài gồm có ba chương:

Chương 1: Cơ sở lý thuyết

Chương 2: Phân tích thiết kế hệ thống

Chương 3: Xây dựng chương trình

Trang 8

- Ngày 23/9/2008: Android 1.0 chính thức ra đời

- Ngày 28/10/2008: HTC G1 ra mắt và là smartphone Android đầu tiên

Từ khi thành lập cho đến nay, Thị phần Android trên thị trường điện thoại di động ngày càng tăng lên mạnh mẽ, phần nào chứng tỏ những ưu thế và tính năng vượt trội của nền tảng này Đồng thời khẳng định những nỗ lực của Android trong việc mang đến cho người tiêu dùng những sản phẩm tốt nhất

b Quá trình phát triển

Dưới đây là hình ảnh các phiên bản của Android trong quá trình phát triển

Trang 9

9

Hình 1.1: Các phiên bản của Android

- Ngày 30/4/2009: Android 1.5 Cupcake ra đời với chợ ứng dụng cùng cải thiện về giao diện

- Ngày 15/9/2009: Android 1.6 Donut ra đời với cải thiện về cảm ứng đa nhiệm, bàn phím ảo, cải thiện dung lượng pin và tính năng nhận diện giọng nói tích hợp

- Ngày 26/10/2009: Android Eclair ra đời với cải thiện về hiệu năng, hỗ trợ HTML 5 cũng như khả năng xử lý đồ họa

- Tháng 5/2010: Android 2.2 Froyo ra mắt với khả năng kết nối Bluetooth, wi-fi Hotspot, bàn phím đa ngôn ngữ, camera và hiệu năng được cải thiện

- Ngày 6/12/2010: Android 2.3 GingerBread ra mắt với giao diện, bàn phím cùng thời lượng pin cải thiện đáng kể, kết nối NFC bắt đầu được hỗ trợ từ phiên bản Android này

- Ngày 22/2/2011: Android 3.0 Honeycomb ra mắt và được thiết kế cho các thiết bị máy tính bảng với hiệu năng cải thiện và đây cũng là phiên bản Android đầu tiên cho phép phần cứng sử dụng chip xử lý đa lõi

- Ngày 19/10/2011, Android 4.0 IC ra mắt, đồng bộ với các thiết bị máy tính bảng và smartphone Tính năng điều chỉnh kích cỡ Widget, folder ở màn hình chính cùng hàng loạt cải thiện xuất hiện

Trang 10

10

- Tháng 6/2012: Android 4.1 Jelly Bean ra mắt, cải thiện hiệu năng, tích hợp Google Now cũng như hàng loạt tiện ích giúp người dùng sử dụng hệ điều hành này đơn giản hơn hết

- Ngày 3/11/2014: Google chính thức ra mắt hệ điều hành mới nhất Android Lollipop 5.0 “Android L” đã tích hợp các yếu tố đồ họa đơn giản của ngôn ngữ phẳng với các hiệu ứng điều hướng rất trực quan để tạo ra Material Design vừa đẹp, vừa tiện dụng, hệ thống thông báo dạng thẻ, Project Volta giúp tìm kiếm pin, mã hóa dữ liệu được mặc định trên smartphone, đồ họa đẳng cấp

Các Smartphone trọng tâm:

- Năm 2008: HTC Dream

- Năm 2010: Samsung Galaxy S

- Năm 2011: Motorola Xoom, Samsung Galaxy S2

- Năm 2012: HTC One X, Samsung Galaxy S3, Nexus 7, Nexus 4

- Năm 2013: Sony Xperia Z, HTC one, Samsung Galaxy S4

- Năm 2014: Zenphone 5, Samsung Galaxy Note 4, Galxy S5, Nexus 9

1.1.2 Hệ điều hành (HĐH) Android và lập trình ứng dụng

a Cấu trúc của hệ điều hành

Mô hình sau mô tả tổng quát cấu trúc của HĐH Android

Hình 1.2 Cấu trúc của hệ điều hành Android

Trang 11

11

Tầng ứng dụng (Applications)

Là tầng trên cùng của kiến trúc Android, nằm cách xa với phần cứng nhất, là nơi chứa các ứng dụng của lập trình viên Hầu hết các ứng dụng được viết bằng ngôn ngữ java

Tầng Application Framework

Bằng cách cung cấp một nền tảng phát triển mở, Android cung cấp cho các nhà phát triển khả năng xây dựng các ứng dụng cực kỳ phong phú và sáng tạo Nhà phát triển được tự do tận dụng các thiết bị phần cứng, thông tin địa điểm truy cập, các dịch vụ chạy nền, thiết lập hệ thống báo động và nhiều hơn nữa

Google xây dựng cho các developer để phát triển các ứng dụng của họ trên Android chỉ bằng cách gọi các API

Cơ bản tất cả các ứng dụng là một bộ các dịch vụ và các hệ thống, bao gồm:

 Một tập hợp rất nhiều các View có khả năng kế thừa lẫn nhau dùng để thiết

kế phần giao diện ứng dụng như: GridView, TableView…

 Content Provider: Cho phép các ứng dụng có thể truy xuất dữ liệu từ các

ứng dụng khác hoặc chia sẻ dữ liệu giữa các ứng dụng đó

 Resource Manager: Cung cấp truy xuất tới các tài nguyên không phải là mã

nguồn, chẳng hạn như: graphics, image, music, video…

 Notification Manager: Cho phép tất cả các ứng dụng hiển thị thông báo của mình trên hệ điều hành

 Activity Manager: Quản lý vòng đời của các ứng dụng và điều hướng các Activity

Tầng Library

Android bao gồm một tập hợp các thư viện C/C++ được sử dụng bởi nhiều thành phần khác nhau trong hệ thống Android Các thư viện này sẽ được các lập trình viên phát triển ứng dụng Android thông qua tầng Android Framework Có thể

kể đến một vài thư viện quen thuộc như:

 android.app - Cung cấp truy cập đến các mô hình ứng dụng và là nền tảng của tất cả các ứng dụng Android

 android.content - Tạo điều kiện truy cập nội dung, publishing và messaging giữa các ứng dụng và các thành phần ứng dụng

Trang 12

 android.opengl - Một giao diện Java với đồ họa OpenGL ES dựng hình 3D API

 android.os - Cung cấp các ứng dụng với quyền truy cập vào các dịch vụ hệ điều hành chuẩn bao gồm tin nhắn, các dịch vụ hệ thống và quá trình liên lạc

 android.media - Cung cấp các lớp để cho phép phát âm thanh và video

 android.net - Một tập các API cung cấp quyền truy cập vào các mạng stack Bao gồm android.net.wifi, cung cấp truy cập không dây đến ngăn xếp của thiết bị

 android.text - Được sử dụng để thao tác văn bản trên màn hình điện thoại

 android.util - Một tập các lớp tiện ích cho công việc biểu diễn chuỗi, chuyển đổi số lượng, xử lý XML, ngày tháng, thời gian

 android.view - Các khối xây dựng cơ bản của giao diện người dùng của ứng dụng

 android.widget - Một bộ sưu tập phong phú của các thành phần giao diện người dùng được xây dựng trước buttons, labels, list views, layout managers, radio buttons, vv

 android.webkit - Một tập các lớp nhằm cho phép khả năng duyệt web được xây dựng vào các ứng dụng

Tầng Android Runtime

Đây là phần thứ 2 nằm ở tầng 3 của kiến trúc Android Phần này cung cấp một thành phần quan trọng được gọi là Dalvik Virtual Machine - một loại máy ảo Java được thiết kế đặc biệt và tối ưu hóa cho Android

Máy ảo Dalvik: Dalvik là máy ảo trong hệ điều hành Android của Google

Nó là một loại JVM được sử dụng trong các thiết bị Android để chạy các ứng dụng

và được tối ưu hóa cho sức mạnh xử lý thấp và môi trường bộ nhớ thấp Đây là phần mềm chạy các ứng dụng trên thiết bị Android Do đó Dalvik là một phần của Android, thường được sử dụng trên các thiết bị di động như điện thoại di động và

Trang 13

13

máy tính bảng cũng như trên các thiết bị nhúng như TV thông minh và các dòng phương tiện truyền thông Các chương trình thường được viết bằng Java và biên dịch thành bytecode Sau đó được chuyển từ tệp tin class của JVM tương thích sang tệp tin dex (Dalvik Executable) trước khi cài đặt lên thiết bị Tệp tin có định dạng Dalvik Exec nhỏ gọn được thiết kế phù hợp với hệ thống đang bị hạn chế về

bộ nhớ và tốc độ xử lý

Ngoài ra Android runtime cũng cung cấp một tập các thư viện Core Java: có

sự pha trộn của Java SE và Java ME Tuy nhiên thư viện cung cấp hầu hết các chức năng được xác định trong thư viện Java SE

Tầng Linux kernel

Là tầng dưới cùng của hệ điều hành Android Bộ nhân này làm nhiệm vụ như một lớp trung gian kết nối phần cứng thiết bị và phần ứng dụng Toàn bộ hệ thống Android được xây dựng dựa trên Linux phiên bản 2.6 [2] với một vài thay đổi bởi Google

b Cấu trúc của một project android

Thư mục src (viết tắt của source): Nơi chứa các source code ứng dụng

Gồm các package và các class Các file có đuôi ngầm định là *.java hoặc *.aidl

Thư mục gen (viết tắt của Generated Java File): Nơi chứa các file tự động

phát sinh, hay chính là các file java tạo ra bởi ADT plug-in, như là file R.java hoặc các giao diện tạo ra từ file AIDL

 File R.java là một file tự động sinh ra ngay khi tạo ứng dụng, file này được

sử dụng để quản lý các thuộc tính được khai báo trong file XML của ứng dụng và các tài nguyên hình ảnh

Mã nguồn của file R.java được tự động sinh khi có bất kì một sự kiện nào xảy ra làm thay đổi các thuộc tính trong ứng dụng Chẳng hạn như, bạn kéo và thả một file hình ảnh từ bên ngoài vào project thì ngay lập tức thuộc tính đường dẫn đến file đó cũng sẽ được hình thành trong file R.java hoặc xoá một file hình ảnh thì đường dẫn tương ứng đến hình ảnh đó cũng tự động bị xoá

Có thể nói file R.java hoàn toàn không cần phải đụng chạm gì đến trong cả quá trình xây dựng ứng dụng

Trang 14

14

Dưới đây là nội dung của một file R.java:

public static final class drawable {

public static final int abc_ab_bottom_solid_dark_holo=0x7f020000;

public static final int abc_ab_bottom_solid_light_holo=0x7f020001;

public static final int abc_ab_share_pack_holo_light=0x7f020005;

public static final int abc_ab_solid_dark_holo=0x7f020006;

public static final int abc_ab_solid_light_holo=0x7f020007;

public static final int abc_ab_stacked_solid_dark_holo=0x7f020008;

public static final int abc_ab_stacked_solid_light_holo=0x7f020009;

public static final int abc_ab_transparent_light_holo=0x7f02000d;

Thư mục res (viết tắt của resource-tài nguyên): Nơi chứa các resource

dùng trong ứng dụng Chẳng hạn như file hình ảnh, file layout, các chuỗi (string)…

Các thư mục con của res bao gồm:

 Anim/ : Chứa các file xml dùng cho việc thiết lập các hiệu ứng động

(animation)

 Color/ : chứa các file xml dùng định nghĩa màu sắc

 Drawable/ : Chứa file hình ảnh (png, jpeg, gif), file xml định nghĩa cách vẽ

các loại hình dạng khác nhau (shape)

 Layout/ : Chứa các file xml dùng để dựng giao diện người dùng

 Menu/ : Chứa file xml qui định application menu

 Raw/ : Chứa các file media, chẳng hạn như mp3 hay ogg

 Values/ : Chứa file xml định nghĩa các giá trị Khác với các resource trong

các thư mục khác, resource ở thư mục này khi được định danh trong lớp R thì sẽ không sử dụng file name để định danh, mà sẽ được định danh theo qui định bên trong file xml đó

Thư mục assets: Chứa các resource file mà ứng dụng cần dùng (dưới dạng file) File AndroidManifest.xml: Trong bất kì một project Android nào khi tạo ra

đều có một file AndroidManifest.xml, file này được dùng để định nghĩa các screen

sử dụng, các permission cũng như các theme cho ứng dụng Đồng thời nó cũng chứa thông tin về phiên bản SDK cũng như main activity sẽ chạy đầu tiên

Trang 15

15

File này được tự động sinh ra khi tạo một Android project Trong file Manifest bao giờ cũng có 3 thành phần chính đó là: application, permission và version

Dưới đây là nội dung của một file AndroidManifest.xml:

Trang 16

Ở đây chỉ ra phiên bản SDK nhỏ nhất mà ứng dụng hiện đang sử dụng

c Vòng đời của một ứng dụng android

Vòng đời của mỗi thành phần

Các thành phần ứng dụng có một vòng đời, tức là mỗi thành phần từ lúc bắt đầu khởi tạo và đến thời điểm kết thúc Giữa đó, đôi lúc chúng có thể là active hoặc

inactive, hoặc là trong trường hợp activies nó có thể visible hoặc invisible

chu kì sống của ứng dụng android

active, inactive Start end

Trang 17

17

Hình 1.3 Mô hình Activity Atack

Có hai kiểu để mở Activity mới

 Mở Activity mới lên làm che khuất toàn bộ Activity cũ (không nhìn thấy Activity cũ): Sảy ra sự kiện onPause rồi onStop đối với Activity cũ

 Mở Activity mới lên làm che khuất một phần Activity cũ (vẫn nhìn thấy Activity cũ): Sảy ra sự kiện onPause với Activity cũ

Khi quay trở về Activity cũ thì sau khi thực hiện xong các hàm cần thiết, chắc chắn nó phải gọi hàm onResume để phục hồi lại trạng thái ứng dụng

Như vậy ta thường lưu lại trạng thái của ứng dụng trong sự kiện onPause và rồi đọc lại trạng thái của ứng dụng trong sự kiện onResume

Trang 18

18

Các trạng thái của một vòng đời

Hình 1.4 Vòng đời của một Activity

Activity bao gồm 4 trạng thái

 Active (running): Activity đang hiển thị trên màn hình (foreground)

 Paused: Activity vẫn hiển thị (visible) nhưng không thể tương tác (lost

focus)

Ví dụ: Một Activity mới xuất hiên hiển thị giao diện đè lên trên Activity cũ, nhưng giao diện này nhỏ hơn giao diện của Activity cũ, do đó ta vẫn thấy được một phần giao diện của Activity cũ nhưng lại không thể tương tác với nó

 Stop: Activity bị thay thế hoàn toàn bởi Activity mới sẽ tiến đến trạng thái

Stop

 Killed: Khi hệ thống bị thiếu bộ nhớ, nó sẽ giải phóng các tiến trình theo

nguyên tắc ưu tiên Các Activity ở trạng thái Stop hoặc Paused cũng có thể bị giải phóng và khi nó được hiển thị lại thì các Activity này phải khởi động lại hoàn toàn

và phục hồi lại trạng thái trước đó

Giải thích về các phương thức trong vòng đời

 onCreate(): Gọi khi Activity được bắt đầu khởi tạo Đây là nơi thực hiện

mọi các khai báo cũng như thiết lập giao diện

Luôn được theo sau bởi phương thức onStart()

Trang 19

 onResume(): Chỉ được gọi khi Activity bắt đầu tương tác với người dùng

Luôn được theo sau bởi phương thức onPause()

 onPause(): Gọi trước khi Activity bắt đầu vào trạng thái “paused” Trong

phương thức này ta thường sẽ giải phóng bộ nhớ, hoặc dừng các hành động nào đó

có thể chiếm dụng nhiều RAM, CPU để cho Activity được kích hoạt tiếp theo làm việc trơn tru

Theo sau bởi phương thức onResume() nếu Activity được kích hoạt lại (quay

về foreground) hoặc onStop() nếu nó ẩn đi

 onStop(): Gọi khi Activity không còn được sử dụng nữa Nó có thể sẽ bị

hủy bỏ hoặc có thể sẽ lại được kích hoạt lại từ một Activity khác

Theo sau bởi onRestart() nếu nó được kích hoạt lại, hoặc onDestroy() nếu nó

bị hủy bỏ bởi hệ thống

 onDestroy(): Gọi trước khi Activity bị hủy khỏi hệ thống, đây là lời gọi

cuối cùng mà Activity có thể thực hiện Phương thức này có thể được gọi bởi vì ở đâu đó có lời gọi finish() hoặc finishActivity(), cũng có thể vì hệ thống cần phải hủy

bỏ để giải phóng bộ nhớ

Không được theo sau bởi phương thức nào

 onRestart(): Gọi khai Activity từ trạng thái Stop khởi động trở lại

Trong một ứng dụng của Android có chứa nhiều thành phần và mỗi thành phần đều có một vòng đời riêng và Android chỉ được gọi là kết thúc khi tất cả các thành phần trong ứng dụng kết thúc Activity là một thành phần cho phép người dùng giao tiếp với ứng dụng Tuy nhiên, khi tất cả các Activity kết thúc và người dùng không còn giao tiếp được với ứng dụng nữa nhưng không có nghĩa là ứng dụng đã kết thúc Bởi vì ngoài Activity là thành phần có khả năng tương tác người dùng thì còn có các thành phần không có khả năng tương tác với người dùng như Service… Có nghĩa là những thành phần không tương tác người dùng có thể chạy background dưới sự giám sát của hệ điều hành cho đến khi người dùng tự tắt chúng

Trang 20

20

Thời gian sống của ứng dụng

Bảy phương thức chuyển tiếp định nghĩa trong vòng đời của một Activity Thời gian sống của một Activity diễn ra giữa lần đầu tiên gọi onCreate() đến trạng thái cuối cùng gọi onDestroy() Một Activity khởi tạo toàn bộ trạng thái toàn cục

trong onCreate(), và giải phóng các tài nguyên đang tồn tại trong onDestroy()

Thời gian hiển thị của Activity

Visible lifetime của một activity diễn ra giữa lần gọi một onStart() cho đến khi gọi onStop() Trong suốt khoảng thời gian này người dùng có thể thấy Activity trên màn hình, có nghĩa là nó không bị foreground hoặc đang tương tác với người dùng Giữa 2 phương thức người dùng có thể duy trì tài nguyên để hiển thị Activity đến người dùng

1.1.3 Các thành phần giao diện và control cơ bản trong android

a View

Trong một ứng dụng Android, giao diện người dùng được xây dựng từ các đối tượng View và ViewGroup Có nhiều kiểu View và ViewGroup Mỗi một kiểu

là một hậu duệ của class View và tất cả các kiểu đó được gọi là các Widget

Tất cả mọi widget đều có chung các thuộc tính cơ bản như là cách trình bày

vị trí, background, kích thước, lề… Tất cả những thuộc tính chung này được thể hiện hết ở trong đối tượng View

Trong Android Platform, các screen luôn được bố trí theo một kiểu cấu trúc phân cấp như hình dưới Một screen là một tập hợp các Layout và các widget được

bố trí có thứ tự Để thể hiện một screen thì trong hàm onCreate của mỗi Activity cần phải được gọi một hàm là setContentView(R.layout.main)- hàm này sẽ load giao diện từ file

Trang 21

Ví dụ: Xem xét layout được xác định dưới đây Nút “Cancel” được đặt tương đối, ở bên phải song song với nút “Login”

Trang 23

23

<TextView Android:layout_width ="fill_parent"

android:layout_width =”wrap_content”

android:layout_height =”wrap_content”

<RadioButton android:id =”@+id/radio1”

android:layout_width =”wrap_content”

android:layout_height =”wrap_content”

android:text =”Male” />

<RadioButton android:id=”@+id/radio2”

android:layout_height =”wrap_content”

Trang 24

Để thể hiện được một list thông tin lên một screen thì cần phải có 3 yếu tố chính:

 Data Source: Data Source có thể là một ArrayList, HashMap hoặc bất kỳ một cấu trúc dữ liệu kiểu danh sách nào

 Adapter: Adapter là một class trung gian giúp ánh xạ dữ liệu trong Data Source vào đúng vị trí hiển thị trong ListView Chẳng hạn, trong Data Source có một trường name và trong ListView cũng có một TextView để thể hiện trường name này Tuy nhiên, ListView sẽ không thể hiển thị dữ liệu trong Data Source lên được nếu như Adapter không gán dữ liệu vào cho đối tượng hiển thị

 ListView: ListView là đối tượng để hiển thị các thông tin trong Data Source

ra một cách trực quan và người dùng có thể thao tác trực tiếp trên đó

Trang 25

25

Ví dụ:

<CheckBox android:id="@+id/CheckBox01"

a Khái niệm Intent

 Là một cấu trúc dữ liệu mô tả cách thức, đối tượng thực hiện của một Activity

 Là cầu nối giữa các Activity: ứng dụng Android thường bao gồm nhiều Activity, mỗi Activity hoạt động độc lập với nhau và thực hiện những công việc khác nhau Intent chính là người đưa thư, giúp các Activity có thể triệu gọi cũng như truyền các dữ liệu cần thiết tới một Activity khác Điều này cũng giống như việc di chuyển qua lại giữa các Forms trong lập trình Windows Form

Hình 1.9 Mô hình truyền dữ liệu với Intent

b Dữ liệu của Intent

 Intent về cơ bản là một cấu trúc dữ liệu, được mô tả trong lớp android.content.Intent

 Các thuộc tính của một đối tượng Intent:

Trang 26

26

Hình 1.10 Các thuộc tính của một đối tượng Intent

c Các Action được định nghĩa sẵn

Dưới đây là những hằng String đã được định nghĩa sẵn trong lớp Intent Đi kèm với nó là các Activity hay Application được xây dựng sẵn sẽ được triệu gọi mỗi khi Intent tương ứng được gửi (tất nhiên khi được cung cấp đúng data)

Hình 1.11 Các Action được định nghĩa sẵn

d Tự định nghĩa action

Về nguyên tắc chúng ta có thể đặt tên action của một intent là bất cứ thứ gì theo chuẩn đặt tên thông thường, hay thậm chí dùng luôn hằng action đã định nghĩa sẵn như ACTION_VIEW (hay “Android.intent.action.VIEW”) Cái tên VIEW thực chất chỉ là một tên gợi tả, chúng ta có thể dùng nó với mục đích thực hiện một activity để gửi mail! Tuy nhiên điều đó rõ ràng là rất “ngớ ngẩn” Thay vào đó ta hãy dùng ACTION_SEND hay ACTION_SENDTO

Việc đặt tên action cho intent đúng tên gợi tả còn có một ý nghĩa khác đó là app của chúng ta có thể được triệu gọi từ một app khác Ví dụ chúng ta viết một app

có activity đáp ứng intent ACTION_SEND và để chia sẻ một bức ảnh lên trang web

Ngày đăng: 07/11/2017, 11:23

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. Nguyễn Anh Tuấn, Slide môn học Phát triển ứng dụng trên thiết bị di động, Đại học Công nghệ Thông tin Sách, tạp chí
Tiêu đề: Slide môn học Phát triển ứng dụng trên thiết bị di động
[2]. Võ Thành Nhật - Phan Thành Trung, Luận văn tốt nghiệp tìm hiểu hệ điều hành android và xây dựng ứng dụng minh họa, Đại học Khoa học Tự nhiên TP. HCM, 2010 Sách, tạp chí
Tiêu đề: Luận văn tốt nghiệp tìm hiểu hệ điều hành android và xây dựng ứng dụng minh họa
[1]. Rick Rogers. Android Application Developmen. Gravenstein Highway North, Sebastopol, CA 95472: O’Reilly Media Inc, May 2009 Sách, tạp chí
Tiêu đề: Android Application Developmen
[2]. Kyle Merrifield Mew. Android 3.0 Application Development Cookbook. B27 6PA, UK: 32 Lincoln RoadOlton Birmingham, July 2011 Sách, tạp chí
Tiêu đề: Android 3.0 Application Development Cookbook
[3]. Wei-Meng Lee. Beginning Android™ Application Development. Indianapolis, Indiana: Wiley Publishing, Inc., 2011 Sách, tạp chí
Tiêu đề: Beginning Android™ Application Development
[4]. Mark L. Murphy. Beginning Android 2. 233 Spring Street, 6th Floor, New York, Mar 2010 Sách, tạp chí
Tiêu đề: Beginning Android 2
[3]. Giáo trình lập trình hướng đối tượng, Trường ĐH CNTT &amp; TT Tài liệu tiếng anh Khác

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w