Tải bản đầy đủ (.pdf) (69 trang)

Nghiên cứu và phát triển game 2d trên nền điện thoại di động android

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.62 MB, 69 trang )

ĐẠI HỌC ĐÀ NẴNG

TRƯỜNG ĐẠI HỌC SƯ PHẠM

KHOA TIN HỌC
Tel. (84-511)3841323 - 3841513, Fax. (84-511) 3842953
Website: www.ued.edu.vn E-mail:

KHÓA LUẬN TỐT NGHIỆP
NGÀNH CỬ NHÂN CÔNG NGHỆ THÔNG TIN
ĐỀ TÀI:

NGHIÊN CỨU VÀ PHÁT TRIỂN GAME 2D TRÊN
NỀN ANDROID

Sinh viên
: Trương Thị Tâm
Lớp
: 08CNTT2
Giáo viên hướng dẫn : ThS. Nguyễn Thanh Tuấn

Đà Nẵng, tháng 5 năm 2012


LỜI CẢM ƠN
Đầu tiên em xin chân thành cảm ơn các thầy cô trường Đại học Sư phạm
Đà Nẵng, đã truyền đạt những kinh nghiệm quý báu cho chúng em trong những
năm học vừa qua.
Đặc biệt xin chúng em xin chân thành cảm ơn thầy Nguyễn Thanh Tuấn đã
nhiệt tình hướng dẫn em hoàn thành đề tài luận văn tốt nghiệp này.
Để có được kết quả như ngày hơm nay, xin chân thành cảm ơn Ban lãnh


đạo cũng như các anh chị Công ty TNHH TH-TM AsNet, nơi em thực tập đã
tận tình giúp đỡ, tạo mọi điều kiện tốt nhất cho em hồn thành đề tài của mình.
Tuy nhiên, trong q trình hồn thành đề tài khơng thể tránh khỏi những
thiếu sót. Em mong nhận được nhiều đóng góp của quý thầy cô, cũng như các
anh chị trong công ty để đề tài được hoàn thiện hơn.
Em xin chân thành cảm ơn.
Đà Nẵng, tháng 5/2012
Sinh viên thực hiện:

Trương Thị Tân


LỜI CAM ĐOAN
Tôi xin cam đoan:
1 Những nội dung trong luận văn này là do tôi thực hiện dưới sự
hướng dẫn trực tiếp của thầy thầy Nguyễn Thanh Tuấn.
2 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian
trá, chúng tơi xin chịu hồn tồn trách nhiệm.
Sinh viên thực hiện

Trương Thị Tâm


MỤC LỤC
DANH MỤC CÁC TỪ VIẾT TẮT......................................................................................................... 9
MỞ ĐẦU ............................................................................................................................................... 10
1.

Lý do chọn đề tài ................................................................................................................... 10


2.

Mục đích nghiên cứu ............................................................................................................. 10

3.

Đối tượng và phạm vi nghiên cứu.......................................................................................... 10
3.1.

Đối tượng nghiên cứu ....................................................................................................... 10

3.2.

Phạm vi nghiên cứu .......................................................................................................... 11
Phương pháp nghiên cứu ....................................................................................................... 11

4.
4.1.

Cơ sở lý thuyết. ................................................................................................................. 11

4.2.

Công cụ thiết kế chương trình .......................................................................................... 11

4.3.

Dự kiến kết quả đạt được .................................................................................................. 12

5.


Ý nghĩa khoa học và thực tiễn đề tài...................................................................................... 12

6.

Cấu trúc của luận văn .............................................................................................................. 12

7.

Phân công công việc: ............................................................................................................. 13

Chương 1: TỔNG QUAN VỀ ANDROID ........................................................................................... 15
1.1. Giới thiệu Android ..................................................................................................................... 15
1.1.1. Android là gì? ...................................................................................................................... 15
1.1.2. Lịch sử Android................................................................................................................... 15
1.1.3. Những tính năng của Android. ............................................................................................ 16
1.1.4. Mơ hình Android ................................................................................................................. 16
1.1.5. Vịng đời Android ............................................................................................................... 18
1.1.6. Một số gói cơ bản của Android. .......................................................................................... 21
1.2. Cài đặt SDK ............................................................................................................................... 22
1.2.1. Giới thiệu SDK .................................................................................................................... 22
1.2.2. Cài đặt Plugin cho Eclipse................................................................................................... 23
Chương 2. CÁC KĨ THUẬT CƠ BẢN XÂY DỰNG GAME 2D ........................................................ 26
2.1. Các thành phần về đồ họa .......................................................................................................... 26
2.1.1. Các dạng file ảnh ................................................................................................................. 26
2.1.2. Các hệ màu. ......................................................................................................................... 26
2.1.2.1.Hệ màu RGB .............................................................................................................. 26
2.1.2.2. Hệ màu CMYK ......................................................................................................... 28
2.2. Các khái niệm ............................................................................................................................. 30



2.2.1. Sprite ................................................................................................................................... 30
2.2.2. Frame ................................................................................................................................... 30
2.2.3. Frame rate............................................................................................................................ 31
2.2.4. Đồng bộ Frame .................................................................................................................... 31
2.2.5. Animation ............................................................................................................................ 32
2.2.6. Tile ...................................................................................................................................... 33
2.2.7. Map...................................................................................................................................... 33
2.2.8. Layer.................................................................................................................................... 34
2.3. Kĩ thuật xây dựng đồ họa trong Game 2D. ................................................................................ 35
2.3.1. Kĩ thuật đồ họa. ................................................................................................................... 35
2.3.2. Kĩ thuật chuyển tiếp địa hình. ............................................................................................. 37
2.3.3. Kĩ thuật thiết kế map ........................................................................................................... 37
2.3.3.1. Dùng tile ................................................................................................................... 37
2.3.3.2. Dùng background ...................................................................................................... 38
2.3.4. Xử lý đụng độ (Collision Detection) ................................................................................... 39
2.4. Kĩ thuật thiết kế Game ............................................................................................................... 40
2.4.1. Game Loop .......................................................................................................................... 40
2.4.2. Game AI là gì? .................................................................................................................... 41
2.4.3. Game Physics ...................................................................................................................... 41
2.4.4. Sound................................................................................................................................... 42
Chương 3: THIẾT KẾ VÀ CÀI ĐẶT CHƯƠNG TRÌNH .................................................................... 43
3.1. Phân tích Game .......................................................................................................................... 43
3.1.1. Đặc tả game Plant vs Zombies ............................................................................................ 43
3.1.1.1. Giới thiệu về game. ................................................................................................... 43
3.1.1.2.

Mô tả luật chơi................................................................................................... 43

3.1.2. Cách quản lý đối tượng trong game .................................................................................... 44

3.1.3.Thiết kế Game ...................................................................................................................... 45
3.1.4. Cách điều khiển game ......................................................................................................... 46
3.1.5. Cách tạo âm thanh trong game. ........................................................................................... 47
3.1.6. Cách xử lý va chạm trong game. ......................................................................................... 47
3.2. Phân tích và thiết kế hệ thống .................................................................................................... 50
3.2.1. Phân tích yêu cầu................................................................................................................. 50
3.2.2.Thiết kế hệ thống .................................................................................................................. 50
3.2.2.1.

Sơ đồ Use Case.................................................................................................. 50


3.2.2.2. Sơ đồ lớp (class) ....................................................................................................... 55
3.2.2.3.

Sơ đồ tuần tự ..................................................................................................... 63

3.2.2.4.

Sơ đồ hoạt động. ................................................................................................ 65

3.2.1. Giao diện menu ................................................................................................................... 66
1. Kết quả đạt được ........................................................................................................................... 67
1.1. Về lý thuyết ............................................................................................................................ 67
1.2.Về thực nghiệm ....................................................................................................................... 67
2. Hướng phát triển của đề tài ........................................................................................................... 68
TÀI LIỆU THAM KHẢO ..................................................................................................................... 69


DANH MỤC CÁC HÌNH

Chương 1.
Hình 1. 1. Biểu tượng hệ điều hành Android ........................................................................................ 15
Hình 1. 2. Mơ hình Android .................................................................................................................. 17
Hình 1. 3. Mơ hình vịng đời Android ................................................................................................... 18
Hình 1. 4. Hình ảnh một device emulator ............................................................................................. 23
Hình 1. 5. Biểu diễn bước đầu tiên cài đặt plugin ................................................................................. 24
Hình 1. 6. Hình biểu diễn địa chỉ trang web cài đặt plugin ................................................................... 24
Hình 1. 7. Hình biểu diễn qua trình cài đặt tự động của plugin ............................................................ 25

Chương 2
Hinh 2. 1. File ảnh vector và bitmap ..................................................................................................... 26
Hinh 2. 2. Hệ màu RGB ........................................................................................................................ 27
Hinh 2. 3. Hệ màu CMYK .................................................................................................................... 29
Hinh 2. 4. Sprite .................................................................................................................................... 30
Hinh 2. 5. Quá trình đồng bộ frame ...................................................................................................... 32
Hinh 2. 6. Tile ....................................................................................................................................... 33
Hinh 2. 7. Thứ tự sắp xếp các layer....................................................................................................... 34
Hinh 2. 8. Isometric tile......................................................................................................................... 35
Hinh 2. 9. Các hướng di chuyển của Isometric tile ............................................................................... 35
Hinh 2. 10. Sơ đồ Isometric tile trên map ............................................................................................. 36
Hinh 2. 11. Hexagon tile ....................................................................................................................... 36
Hinh 2. 12. Các hướng di chuyển của Hexagon tile .............................................................................. 36
Hinh 2. 13. Sơ đồ Hexagon tile trên map .............................................................................................. 36
Hinh 2. 14. Chưa chuyển tiếp ................................................................................................................ 37
Hinh 2. 15. Sau khi chuyển tiếp ............................................................................................................ 37
Hinh 2. 16. Map dùng tile ..................................................................................................................... 38
Hinh 2. 17. Dùng background ............................................................................................................... 39
Hinh 2. 18. Xảy ra va chạm................................................................................................................... 39



Hinh 2. 19. Chưa xảy ra va chạm .......................................................................................................... 40

Chương 3
Hình 3. 1. Mơ hình tổng qt của BrainStorm.

45

Hình 3. 2. Thiết kế chi tiết cho một đối tượng plants trong game

46

Hình 3. 3. Mơ hình thiết kế nhân vật Zombie.

46

Hình 3. 4. Va chạm giữa plants và zombies

48

Hình 3. 5. Hình ảnh Zombies tiến vào nhà

49

Hình 3. 6. Plants phát hiện zombies và bắn đạn

49

Hình 3. 7. Va chạm giữa đạn và zombies

50


Hình 3. 8. Kiểm tra va chạm giữa đạn và zombies

50

Hình 3. 9.. Mơ hình Use Case Menu

51

Hình 3. 10. Mơ hình Use Case Game Play

53

Hình 3. 11. Sơ đồ lớp

55

Hình 3. 12. Lớp Zombies_Activity

56

Hình 3. 13. Lớp ZombiesView

57

Hình 3. 14. Lớp LinkList

58

Hình 3. 15. Lớp Animation


59

Hình 3. 16. Lớp Zombie

60

Hình 3. 17. Lớp Plant

61

Hình 3. 18. Lớp Bullet

62

Hình 3. 19. Sơ đồ tuần tự hiển thị menu

63

Hình 3. 20. Sơ đồ tuần tự quá trình chơi game

64

Hình 3. 21. Sơ đồ hoạt động

65

Hình 3. 22. Giao diện menu của chương trình

66


Hình 3. 23. Giao diện playing game.

66


DANH MỤC CÁC TỪ VIẾT TẮT
1. UML: Unified Modeling Language
2. SDK : Software Development Kit
3. ADT: Android Development Tools
4. AI: Artificial Intelligence


Nghiên cứu và phát triển game 2D trên Android

MỞ ĐẦU
1. Lý do chọn đề tài
Ngày nay do nhu cầu đời sống con người ngày càng được nâng cao, có sự
hiểu biết rộng rãi hơn, cơng nghệ và những tính năng mới trên điện thoại càng
được con người chú ý và đặt mối qua tâm. Thêm vào đó nhu cầu giải trí của con
người cũng được quan tâm, xuất phát từ những nhu cầu đó game trên di động trở
thành cơng cụ không thể thiếu trong cuộc sống của con người trong thời hiện
đại. Từ thưc tế đó, với kiến thức đã học kết hợp với nền tảng Android trên di
động chúng em chọn đề tài tốt nghiệp cho mình là:
Nghiên cứu và phát triển game 2D trên nền điện thoại di động Android
Xây dựng ứng dụng game Plants vs Zombies
2. Mục đích nghiên cứu
Với sự phát triển cơng nghệ như hiên nay, thế giới được ví là thế giới của
cơng nghệ thơng tin. Thêm vào đó nhu cầu giải trí của con người ngày càng cao,
người ta chọn một giải pháp hoàn hảo cho sự xả stress sau mỗi ngày làm việc

mệt mỏi là game vì thế mà thị trường game ngày càng sơi động và nóng bỏng,
đặc biệt là game trên di động, thiết bị di động trở thành một trợ thủ không thể
thiếu của con người. Với những lý do chính đáng đó, nhóm chúng em nghiên
cứu và tìm hiểu về cơng nghệ và nền tảng Android và kĩ thuật làm game 2D,
giúp người đọc và cả bản thân chúng em có một cái nhìn tổng qt về Android
và những lợi ích mà nó mang lại.
3. Đối tượng và phạm vi nghiên cứu
3.1.

Đối tượng nghiên cứu

Android là một hệ điều hành mở cho nền tảng di động và là một sự chọn
lựa đúng đắn của người tiêu dùng. Với đề tài này chúng em sẽ đi nghiên cứu
công nghệ, nền tảng và ứng dụng của Android trên thiết bị di động và những kĩ
thuật cơ bản làm game 2D.

SVTH: Trương Thị Tâm – Lớp 08CNTT2

Trang 10


Nghiên cứu và phát triển game 2D trên Android

3.2.

Phạm vi nghiên cứu

Phạm vi nghiên cứu của đề tài này là các kiến thức cơ bản liên quan đến
Android và các kĩ thuật làm game 2D. Trên cơ sở đó xây dựng thành công ứng
dụng game 2D “Plants Vs Zombies” trên nền Android. Đây là một game lớn, có

nhiều level và nhiều chức năng và với các mức độ khó dần sau mỗi màn chơi.
Nhưng vì thời gian có hạn nên chúng em chỉ xây dựng được một level với các kĩ
thuật xử lý cơ bản trong game như xử lý va chạm giữa các đối tượng, xử lý bắn
đạn, thiết lập các chức năng chính của các cây trồng trong game và cách quản lý
các đối tượng trong game.
4. Phương pháp nghiên cứu
4.1.

Cơ sở lý thuyết.

Tìm hiểu cơng nghệ và nền tảng di động mở Android của Google, quy
trình phát triển game 2D, nhằm xây dựng thành công một ứng dụng game 2D
trên nền di động Android. Với mục đích đó, yêu cầu phải nắm được các kiến
thức cơ bản sau đây trên nền tảng cơng nghệ Android:
 Quy trình phát triển một ứng dụng game trên nền di động.
 Các cơng cụ và ngơn ngữ lập trình.
 Kiến thức và kĩ thuật làm game 2D.
 Thực thi chương trình trên thiết bị thực (điện thoại di động chạy
trên nền Android).

4.2.

Cơng cụ thiết kế chương trình

 Eclipse 3.6.
 Thiết kế đồ họa Photoshop CS5.
 Android SDK_r06-window tích hợp trên Eclipse.
 Thiết kế sơ đồ UML.

SVTH: Trương Thị Tâm – Lớp 08CNTT2


Trang 11


Nghiên cứu và phát triển game 2D trên Android

4.3. Dự kiến kết quả đạt được
Nắm rõ lý thuyết thiết kế game 2D nói chung và game 2D trên nền tảng
Android nói riêng. Xây dựng ứng dụng game Plants vs Zombies thõa mãn các
yêu cầu sau đây:
 Game phải hiển thị rõ phần chơi với các chức năng: thắng, thua,
thiết lập được các chức năng chính của các vật cây trồng được sử
dụng trong game
 Đảm bảo đồ họa đẹp và tuân thủ theo các yêu cầu kĩ thuật làm
game 2D.
 Cài đặt trên các thiết bị di động dùng hệ điều hành Android.
5. Ý nghĩa khoa học và thực tiễn đề tài
Xây dựng thành công game 2D trên nền tảng di động sử dụng hệ điều
hành Android. Game Plants Vs Zombies mang tính giải trí cao, giúp con người
giải lao sau những giờ làm việc mệt mỏi.
Đề tài giúp chúng ta hiểu rõ hơn về sự phát triển công nghệ hiện nay và
đặc biệt hiểu rõ hơn về nền tảng, những ứng dụng và vai trò của Android trong
lĩnh vực di động.
6. Cấu trúc của luận văn
 Mở đầu: giới thiệu sơ lược về đề tài, hướng nghiên cứu và dự kiến
kết quả đạt được.

 Chương 1: Tổng quan về Android
Khái niệm, lịch sử phát triển, các tính năng, mơ hình, vịng đời và
các gói trong Android.


SVTH: Trương Thị Tâm – Lớp 08CNTT2

Trang 12


Nghiên cứu và phát triển game 2D trên Android

 Chương 2. Các kĩ thuật cơ bản xây dựng gam 2D
Các kĩ thuật làm game 2D, đồ họa và kĩ thuật xây dựng đồ họa
trong game.
 Chương 3: Phân tích thiết kế và cài đặt: Vẽ các sơ đồ phân
tích, thiết kế và kết quả đạt được.
 Phần kết luận và hướng phát triển: nêu ra những nhận xét
về kết quả đạt được từ đó đưa ra hướng phát triển cho đề tài.
7. Phân công công việc:
Các công việc thực hiện trong game rất nhiều, tuy nhiên có thể phân thành
các cơng việc chính sau:
Người thực hiện

Cơng việc
Xây dựng ý tưởng

Mỹ Lệ + Thị Tâm

Nghiên cứu nền tảng Android

Mỹ Lệ + Thị Tâm

Nghiên cứu kĩ thuật làm game


Mỹ Lệ + Thị Tâm

Design hình ảnh và nhân vật

Mỹ Lệ + Thị Tâm

Thiết kế giao diện

Mỹ Lệ + Thị Tâm

Nghiên cứu cách tạo Animation

Mỹ Lệ

Đồng bộ frame

Mỹ Lệ

Phân tích và thiết kế game

Mỹ Lệ + Thị Tâm

Phân tích và thiết kế lớp

Mỹ Lệ + Thị Tâm

SVTH: Trương Thị Tâm – Lớp 08CNTT2

Trang 13



Nghiên cứu và phát triển game 2D trên Android

Quản lý đối tượng

Thị Tâm

Sự kiện Ontough

Mỹ Lệ

Bảng chọn

Thị Tâm

Xử lý va chạm

Thị Tâm

Xử lý đạn bắn

Mỹ Lệ + Thị Tâm

Âm thanh

Mỹ Lệ

Debug


Mỹ Lệ

Viết báo cáo + Slide

Mỹ Lệ + Thị Tâm

SVTH: Trương Thị Tâm – Lớp 08CNTT2

Trang 14


Nghiên cứu và phát triển game 2D trên Android

Chương 1: TỔNG QUAN VỀ ANDROID
1.1. Giới thiệu Android
1.1.1. Android là gì?
Là nền tảng phần mềm dựa trên nền tảng Linux OS ( Kernel 2.6) cho máy
di động và những phần mềm trung gian (middleware) để hỗ trợ các ứng dụng mà
người sử dụng cần đến.

Hình 1. 1. Biểu tượng hệ điều hành Android

1.1.2. Lịch sử Android
Tháng 7 năm 2005, Google mua lại Android, một cơng ty nhỏ mới thành
lập có trụ sở ở Palo Alto, California, Mỹ. Những nhà đồng sáng lập của Android
chuyển sang làm việc tại Google gồm có Andy Rubin (đồng sáng lập công
ty Danger), Rich Miner (đồng sáng lập cơng ty Wildfire Communications), Nick
Sears (từng là phó chủ tịch của T-Mobile), và Chris White (trưởng nhóm thiết kế
và phát triển giao diện tại WebTV).
Tại Google, nhóm do Rubin đứng đầu đã phát triển một nền tảng thiết bị

di động dựa trên hạt nhân Linux, được họ tiếp thị đến các nhà sản xuất thiết bị
cầm tay và các nhà mạng trên những tiền đề về việc cung cấp một hệ thống mềm
dẻo, có khả năng nâng cấp mở rộng cao.

SVTH: Trương Thị Tâm – Lớp 08CNTT2

Trang 15


Nghiên cứu và phát triển game 2D trên Android

Tháng 9 năm 2007, InformationWeek đăng tải một nghiên cứu của
Evalueserve cho biết Google đã nộp một số đơn xin cấp bằng sang chế trong
lĩnh vực điện thoại di động.
Vào đầu tháng 11 năm 2007, Google đã tung ra bộ SDK được thiết kế để
cho phép các nhà phát trển “mở rộng, thay thế và tái sử dụng” các thành phần
phần mềm, có nhiều cơng cụ debug, thư viện, dự án mẫu. Có bộ plugin tích hợp
SDK với nền tảng phát triển Eclipse.

1.1.3. Những tính năng của Android.
Các tính năng mà Android hỗ trợ rất rộng, bao gồm đồ họa 2D và 3D (dựa
trên OPENGL_ES), khả năng định vị, Blutooth, EDGE, 3G, Wifi, hỗ trợ GSM,
dữ liệu có thể được lưu trữ trong cơ sở dữ liệu SQLLite…
Android phá bỏ rào cản để xây dựng các ứng dụng mới và sáng tạo. Ví
dụ, một nhà phát triển có thể kết hợp thơng tin từ các trang web với dữ liệu trên
điện thoại di động của một cá nhân – ví dụ như địa chỉ liên hệ của người dùng,
lịch, hoặc vị trí địa lý.
Android sẽ mang nhiều lợi ích cho khách hàng, các lập trình viên, các nhà
sản xuất và nhà cung cấp di động. Điều này cũng có nghĩa các sản phẩm, dịch
vụ có giá rẻ hơn, điện thoại dễ sử dụng hơn, ứng dụng nhiều hơn, khai thác dịch

vụ internet dễ dàng hơn.
Chính vì Android có những tính năng đó nên Android trở thành một hệ
điều hành cho di động mà cả thế giới tin dùng và không ngừng phát triển đáp
ứng nhu cầu của người tiêu dùng.

1.1.4. Mơ hình Android
Mơ hình sau thể hiện các thành phần chính của hệ điều hành Android.
Mỗi phần được mô tả như sau:
SVTH: Trương Thị Tâm – Lớp 08CNTT2

Trang 16


Nghiên cứu và phát triển game 2D trên Android

Hình 1. 2. Mơ hình Android



Tầng Application: Bao gồm các ứng dụng: email client, SMS

program, calendar, maps,…



Application framework ( Nền tảng ứng dụng): Cấu trúc ứng dụng

được thiết kế để đơn giản hóa việc tái sử dụng bởi các ứng dụng chính.




Libraries layer: Android bao gồm bộ 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ác thư viện như: thư viện
hệ thống C, thư viện media, Surface Manager, LibWebCore, SQL…



Android Runtime:

Mỗi ứng dụng Android chạy trên bộ xử lý riêng của nó,với mỗi một máy
ảo Dalvik.
Dalvik được thiết kế để một thiết bị có thể chạy nhiều máy ảo hữu hiệu.
Máy ảo Dalvik thực thi nhiều file định dạng (.dex).
Máy ảo Dalvik dựa trên hệ điều hành Linux cho những chức năng tầng
dưới như phân luồng và quản lý bộ nhớ cấp thấp.


Linux Kernel : Android dựa trên Linux version 2.6 những dịch vụ

hệ thống nền tảng như bảo mật, quản lý bộ nhớ, quản lý tiến trình, network stack
và mơ phỏng ổ đĩa.
SVTH: Trương Thị Tâm – Lớp 08CNTT2

Trang 17


Nghiên cứu và phát triển game 2D trên Android

1.1.5. Vòng đời Android


Hình 1. 3. Mơ hình vịng đời Android

Actitvity là thành phần quan trọng nhất và đóng vai trị chính trong xây
dựng ứng dụng Android. Hệ điều hành Android quản lý Activity theo dạng
stack: khi một Activity mới được khởi tạo, nó sẽ được xếp lên đầu của stack và
SVTH: Trương Thị Tâm – Lớp 08CNTT2

Trang 18


Nghiên cứu và phát triển game 2D trên Android

trở thành Running activity, các Activity trước đó sẽ bị tạm dừng và chỉ hoạt động
trở lại khiActivity mới được giải phóng.
Activity bao gồm 4 state:


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). VD: 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 1 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 ngun 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
hồn tồn và phục hồi lại trạng thái trước đó.
Activity có những phương thức sau:


OnCreate():sẽ được gọi khi lần đầu activity được tạo. Đây là

phương thức dùng để khởi tạo activity. Khi gọi phương thứconCreate(), Android
sẽ truyền một đối tượng chứa trạng thái hoạt động nào đó đã được lưu của
activity khi được gọi trước đó.


OnRestart(): được gọi sau khi activity đã bị stop trước đó, trước

khi nó được bắt đầu trở lại.


OnStart(): được gọi trước khi activity xuất hiện trên màn hình. Khi

phương thức này hoàn thành, nếu activity được hiển thị trên mànhình, điều
SVTH: Trương Thị Tâm – Lớp 08CNTT2


Trang 19


Nghiên cứu và phát triển game 2D trên Android

khiển sẽ được chuyển cho onResume(), nếu activity không hiển thị trên màn
hình vì lý do nào đó, điều khiển sẽ được chuyển cho onStop().


OnResum() : được gọi ngay sau onStart() nếu activity được hiển

thị trên màn hình, onResume() cũng được gọi khi activity nhường quyền lại cho
một activity khác, khi activity đó kết thúc, lúc đó sẽ được hiển thị lại trên màn
hình.


OnPause(): được gọi khi hệ điều hành ưu tiên activity khác, để

activity đó được hiển thị. Ở thời điểm này, activity sẽ khơng xuất hiện trên màn
hình.


OnStop(): được gọi khi activity khơng cịn được hiển thị nữa, và đã

bị destroy.


OnDestroy(): nơi activity có thể thực hiện bất kì việc gì trước khi

bị destroy.

Vịng đời (chu trình) của một Activity được bắt đầu từ hàm onCreate đến
hàm onDestroy. Khi ứng dụng được gọi thì Activity được khởi tạo. Hệ điều
hành sẽ gọi đến hàm onCreate đầu tiên. Do vậy khi viết một ứng dụng Android
các vấn đề khởi tạo giao diện ta sẽ cho vào trong hàm này. Khi gọi xong hàm
onCreate ta thu được giao diện chương trình.
Sau hàm onCreate hệ điều hành sẽ gọi đến hàm onStart. Khi hệ điều hành
gọi đến onResume tức là ứng dụng của chúng ta đã sẵn sàng làm việc.
Khi một Activity bị hủy bởi hệ điều hành thì hệ điều hành sẽ khơng thơng
báo mà sẽ tự động hủy.
Một ứng dụng có thể có một hoặc nhiều Activity. Nếu ứng dụng có nhiều
Activity thì hệ điều hành sẽ quản lý nó theo cơ chế stack. Tức là, khi một

SVTH: Trương Thị Tâm – Lớp 08CNTT2

Trang 20


Nghiên cứu và phát triển game 2D trên Android

Activity mới được gọi thì Activity cũ sẽ được cất xuống dưới. Activity mới
được để lên trên. Khi đó chỉ nhìn thấy Activity mới còn Activity cũ sẽ ẩn đi.

1.1.6. Một số gói cơ bản của Android.
Trong Android có một số gói chính sau đây:


Android.util: Chứa những lớp tiện ích cấp độ thấp, chẳng hạn như

các lớp container được đặc biệt hóa, tiện ích XML,…



Android.os: Cung cấp những dịch vụ hệ điều hành nền tảng,

chuyển các gói tin, giao tiếp giữa các tiến trình.


Android.graphics: Cung cấp những cơng cụ đồ họa mức độ thấp

như canvas, bộ lọc màu, point trong map, và các khối chữ nhật giúp bạn có thể
trang trí trực tiếp lên giao diện.



Android.text, Android.text.method, Android.text.style: Cung

cấp bộ công cụ xử lý văn bản mạnh mẽ, hỗ trợ rich text, những phương thức
nhập…


Android.database: Chứa APIs cấp độ thấp để làm việc với cơ sở

dữ liệu.


Android.content: Cung cấp các dịch vụ khác nhau truy cập dữ liệu

trên thiết bị: những ứng dụng được cài đặt trên thiết bị và những tài nguyên gắn
liền với chúng, và những bộ cung cấp dữ liệu chung lâu dài của riêng android.



Android.view: Cung cấp những lớp tạo ra lớp giao diện cơ bản.



Android.widget: Chứa hầu hết các yếu tố về giao diện sử dụng trên

màn hình ứng dụng.

SVTH: Trương Thị Tâm – Lớp 08CNTT2

Trang 21


Nghiên cứu và phát triển game 2D trên Android



Android.app: Lớp cấp độ cao đóng gói mơ hình ứng dụng tầng

trên của android.


Android.opengl: Cung cấp tiện ích OPENGL ES, thư viện hỗ trợ

đồ họa 3D.


Android.media: Cung cấp các lớp xử lý các phương tiện như

audio, video, image…



Android.net: Cung cấp các hỗ trợ cho việc truy cập web.

1.2. Cài đặt SDK
1.2.1. Giới thiệu SDK
Google đã phát hiện bộ SDK (Software Development Kit- Bộ phát triển
phần mềm) cho Android giúp các lập trình viên tạo các ứng dụng trên nền tảng
di động một cách dễ dàng.
Bộ SDK được thiết kế cho phép các nhà phát triển “mở rộng, thay thế và
tái sử dụng ” các thành phần phần mềm và đi kèm công cụ gỡ lỗi, một chương
trình device emulator (thiết bị giả lập) và các dự án mẫu.

SVTH: Trương Thị Tâm – Lớp 08CNTT2

Trang 22


Nghiên cứu và phát triển game 2D trên Android

Hình 1. 4. Hình ảnh một device emulator

SDK cũng chứa chương trình hỗ trợ để kết hợp với các công cụ với nền
tảng phát triển nguồn mở Eclipse. Sử dụng cho Eclipse từ 3.2 trở lên.

1.2.2. Cài đặt Plugin cho Eclipse
Sử dụng Eclipse như một môi trường để phát triển ứng dụng Android.
Bạn có thể cài đặt plugin ADT (Android Development Tools), cơng cụ hỗ trợ
các cơng cụ lập trình Android gắn liền với Eclipse với các chức năng bao gồm:
tạo, chạy, gỡ rối các ứng dụng trên Android dễ dàng hơn nhiều.

Sau đó hãy tải bộ SDK tại địa chỉ www.code.google.com/android.
Để cài đặt Android plugin ta làm như sau:


Bước 1 : Trước hết chúng ta cần tải bộ Eclipse 3.2 trở lên (tốt nhất

là bộ Eclipse 3.7) tại website />

Bước 2: Giải nén và khởi động eclipse.



Bước 3: Vào Help chọn Install New Software

SVTH: Trương Thị Tâm – Lớp 08CNTT2

Trang 23


Nghiên cứu và phát triển game 2D trên Android

Hình 1. 5. Biểu diễn bước đầu tiên cài đặt plugin



Bước 4: Chọn nút add trên hộp thoại để hiện cửa sổ Add site

Lưu ý: Hộp name có thể đặt tên tùy ý của bạn cịn hộp Location thì bắt
buộc là />
Hình 1. 6. Hình biểu diễn địa chỉ trang web cài đặt plugin




Bước 5: Đợi eclipse lấy thông số plugin từ địa chỉ trên.



Bước 6: Bạn check vào Developer chọn Next để tiếp tuc.



Bước 7: Chọn Finish nếu bạn chấp nhận cài đặt.

SVTH: Trương Thị Tâm – Lớp 08CNTT2

Trang 24


Nghiên cứu và phát triển game 2D trên Android

Hình 1. 7. Hình biểu diễn qua trình cài đặt tự động của plugin

SVTH: Trương Thị Tâm – Lớp 08CNTT2

Trang 25


×