1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng game cờ gánh dân gian trên điện thoại android

69 6 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 69
Dung lượng 886,19 KB

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

Nội dung

Xây dӵng game cӡ Gánh dân gian GVHD: PGS.TSKH Trҫn Quӕc ChiӃn LӠI MӢ DҪU Tӯ lâu, các loҥi hình giҧi trí thұt sӵ ÿD Gҥng và phong phú, và khi game xuҩt hiӋQWUrQPi\WtQKWKuQyÿmQKDQKFKyQJWU

Trang 1

z

X^ ]W

NGÀNH: CӰ NHÂN CÔNG NGHӊ THÔNG TIN

Ĉ͈ TÀI:

XÂY D͸NG GAME Cͤ GÁNH DÂN GIAN 75Ç1Ĉ, ͎N THǪI ANDROID

GVHD : PGS.TSKH Trҫ n Quӕ c ChiӃ n SVTH : NguyӉ n Quӕ c Tùng

Trang 2

X^ ]W

KHÓA LUҰN TӔT NGHIӊP

NGÀNH: CӰ NHÂN CÔNG NGHӊ THÔNG TIN

Ĉ͈ TÀI:

XÂY D͸NG GAME Cͤ GÁNH DÂN GIAN 75Ç1Ĉ, ͎N THǪI ANDROID

GVHD : PGS.TSKH Trҫn Quӕc ChiӃn SVTH : NguyӉn Quӕc Tùng

Trang 3

LӠI CҦ0Ѫ1

7Uѭӟc tiên, tôi muӕn gӱi lӡi cҧPѫQVkXVҳc nhҩWÿӃn thҫ\JLiR 3Ky*LiR VѭTiӃQVƭNKRDKӑc Trҫn Quӕc ChiӃQÿmWұQWuQKKѭӟng dүn em trong suӕt quá trình thӵc

tұp và thӵc hiӋn khóa luұn tӕt nghiӋp

Tôi xin bày tӓ lӡi cҧPѫQVkXVҳFÿӃn nhӳng thҫ\F{JLiRÿmJLҧng dҥy tӕi trong

suӕt bӕQQăPTXDQKӳng kiӃn thӭc mà tôi nhұQÿѭӧc trên giҧQJÿѭӡQJÿҥi hӑc sӁ là

hành trang giúp tôi vӳQJEѭӟFWURQJWѭѫQJODL

7{LFNJQJPXӕn gӱi lӡi cҧPѫQÿӃn các anh chӏ và các bҥn trong Công ty Cә

phҫ n Phҫ n mӅ m KӃ toán BRAVO ± QѫL W{L ÿDQJ F{QJ tác ± ÿm JL~S ÿӥ và cho tôi

nhӳng lӡi khuyên bә ích vӅ chuyên môn trong quá trình nghiên cӭu

Cuӕi cùng, em muӕn gӱi lӡi cҧPѫQVkXVҳFÿӃn tҩt cҧ bҥQEqYjÿһc biӋt là cha

mҽ và anh chӏ em, nhӳQJQJѭӡi luôn kӏp thӡLÿӝQJYLrQYjJL~Sÿӥ HPYѭӧt qua nhӳng

NKyNKăQWURQJFXӝc sӕng

Tôi xin chân thành cҧPѫQ

Sinh viên thӵc hiӋ n

NguyӉn Quӕc Tùng

Trang 4

Nhӳng nӝi dung trong báo cáo này là do tôi thӵc hiӋQGѭӟi sӵ Kѭӟng dүn trӵc

tiӃp cӫa thҫy PGS.TSKH Trҫn Quӕc ChiӃn

Mӑi tham khҧo dùng trong cáo FiRQj\ÿӅXÿѭӧc trích dүn rõ ràng tên tác giҧ,

tên công trình, thӡLJLDQÿӏDÿLӇm công bӕ

Mӑi sao chép không hӧp lӋ, vi phҥm quy chӃ ÿjRWҥo hay gian trá tôi xin chӏu

hoàn toàn trách nhiӋm

Sinh viên thӵc hiӋ n

NguyӉn Quӕc Tùng

Trang 5

MӨC LӨC

LӠI MӢ DҪU 1

TӘ1*48$1Ĉ ӄ TÀI 2

I Phát biӇ u bài toán 2

II MөFÿtFKêQJKƭDSK ҥPYLÿ Ӆ tài 2

II.1 7rQÿӅ tài 2

II.2 MөFÿtFKYjêQJKƭD 2

II.3 PhҥPYLÿӅ tài 3

III Nhӳng viӋ c sӁ giҧ i quyӃ WWURQJÿ Ӆ tài 3

III.1 &iFEѭӟc thӵc hiӋn 3

III.2 Dӵ kiӃn kӃt quҧ ÿҥWÿѭӧc 3

IV Nӝ i dung cӫDÿ Ӆ tài 4

PHҪN 1: &Ѫ6 Ӣ LÝ THUYӂT 5

I Tìm hiӇ u vӅ Android 5

I.1 Android và hӋ ÿL Ӆ u hành Android 5

I.2 Các phiên bҧ n cӫa hӋ ÿL Ӆ u hành Android 6

I.3 Các thành phҫ n ӭng dө ng cӫa Android 9

I.3.1 Activity là gì? 9

I.3.2 Services 15

I.3.3 Content Providers 16

I.3.4 Intent 16

I.3.5 Broadcast receivers 17

II Lұ p trình ӭng dөng Android 18

II.1 ThiӃ t lұ SP{LWUѭ ӡng phát triӇ n ӭng dөng 18

II.2 Các thành phҫ n trong Android Project 18

II.2.1 Tҥo mӟi Android Project 18

II.2.2 ThiӃt kӃ giao diӋn trong Android 20

Trang 6

III.1 Giӟi thiӋu vӅ Cӡ Gánh 25

III.2 LuұWFKѫLJDPHFӡ gánh 26

PHҪN 2: THIӂT Kӂ VÀ XÂY DӴNG ӬNG DӨNG GAME CӠ GÁNH 29

I Phân tích hӋ thӕ ng 29

I.1 Mô tҧ bài toán 29

I.2 Phân tích yêu cҫu 30

II Thuұ t toán tìm kiӃ PFyÿ ӕi thӫ 30

II.1 &k\WUzFKѫLÿҫ\ÿӫ 31

II.2 ChiӃQOѭӧc Minimax 33

II.3 3KѭѫQJSKiSFҳt tӍa Alpha ± Beta 36

III ThiӃ t kӃ hӋ thӕ ng thông tin 39

III.1 Xây dӵng kiӃQWU~FFKѭѫQJWUuQK 39

III.2 Xây dӵng cҩu trúc dӳ liӋu và thuұt toán 42

III.3 BiӇXÿӗ trҥng thái 50

IV BiӇ Xÿ ӗ lӟp 51

PHҪN 3: KӂT QUҦ CӪA ӬNG DӨNG 52

I Màn hình Menu chính 52

II MàQKuQKFKѫLJDPH 53

II.1 Lӵa chӑn mӭFÿӝ 53

II.2 BҳWÿҫu game 53

II.3 Các QѭӟFÿLKӧp lӋ 54

II.4 Khi mӣ gánh 55

III KӃ WWK~FWUzFKѫL 56

III.1 Màn hình khi chiӃn thҳng 56

III.2 Màn hình khi thua 56

KӂT LUҰ19¬+Ѭ ӞNG PHÁT TRIӆN 57

TÀI LIӊU THAM KHҦO 58

Trang 7

DANH MӨC HÌNH ҦNH

Hình 1.1: Hình ̫ nh v͉ Android 5

Hình 1.2: Các phiên b̫ n cͯ a h͏ ÿL ͉u hành Andoid 6

Hình 1.3: B̫ n báo cáo mͣ i nh̭ t cͯ a Google v͉ tình hình các phiên b̫ n Android 9

Hình 1.4: Activity Lifecycle 13

Hình 1.5: Service Lifecycle 15

Hình 1.6: Truy͉ n Intent và s͙ li͏ u sang Activity khác 16

Hình 1.7: T̩ o mͣ i 1 ͱng dͭ ng Android 19

Hình 1.8: C̭ u trúc 1 Project 20

+uQK&iFHPEpÿDQJFK˯LF ͥ gánh trên bãi cát 26

Hình 1.10: Mô hình bàn cͥ gánh 26

+uQK&iFQ˱ ͣc quân cͥ có th͋ ÿLWKHRFKL ͉ XPNJLWrQ 27

Hình 1.12:Quân cͥ ÿDQJYjRăQKDLF ̿p gánh 27

Hình 1.13: Các quân cͥ [DQKÿmEySFK ͇ t ṱ t c̫ các quân cͥ ÿ ͗ 28

+uQK4XkQÿ ͗ di chuy͋ n theo chi͉ XPNJLWrQWKuÿ ͋ mͧ gánh 28

Hình 2.1: V͓ WUtEDQÿ ̯u cͯa bàn cͥ Gánh 32

Hình 2.2:Bi͋ u di͍ QFk\WUzFK˯L& ͥ Gánh vͣLĈ ͗ ÿLWU˱ ͣc 33

Hình 2.3: C̷ t b͗ cây con g͙ c a, n͇ u eval(u)> eval(v) 36

Hình 2.4: Minh h͕ a gi̫ i thu̵ t Alpha-beta 39

Hình 2.5: Ki͇ n trúc menu trong game 39

Hình 2.6: Ki͇ n trúc Game Loop cͯ a game 40

Hình 2.7: Các thu͡ c tính cͯ a ChessBoard 41

+uQK0i\WuPQ˱ ͣFÿLW ͙t nh̭t theo chi͇ QO˱ ͫc Minimax 43

Hình 2.9: Khͧ i t̩ o giá tr͓ bàn cͥ EDQÿ ̯u 44

Hình 2.10: Ví dͭ quân cͥ ch͑ di chuy͋ n theo hàng ngang, c͡ t d͕ c 46

+uQK1˱ ͣc ÿLK ͫp l͏ cͯ a quân cͥ 46

Hình 2.12: Ví dͭ quân cͥ [DQKÿDQJP ͧ JiQKÿ ͙LSK˱˯QJSK ̫LYjRăQJiQK 47

Hình 2.13: Ví dͭ FiFE˱ ͣc tìm các quân cͥ b͓ bóp ch͇ t 49

Hình 2.14: Bi͋ Xÿ ͛ tr̩ng thái InGame 50

Hình 2.15: Bi͋ Xÿ ͛ tr̩ng thái cho c̫ h͏ th͙ ng 50

Hình 2.16: Bi͋ Xÿ ͛ lͣp 51

Hình 3.1: Giao di͏ n main_menu cͯ DWUzFK˯L 52

Hình 3.2: L͹ a ch͕ n mͱFÿ ͡ WUzFK˯L 53

Trang 8

+uQK0jQKuQKFKtQKNKLFK˯LJDPH 53

+uQK&iFQ˱ ͣFÿLK ͫp l͏ cͯ a quân cͥ 54

Hình 3.5: Mͧ JiQKWURQJWUzFK˯L 55

Hình 3.6: Màn hình chi͇ n th̷ ng 56

Hình 3.7: Màn hình khi thua 56

Trang 9

DANH MӨC TӮ VIӂT TҲT

- JDK : Java Development Kit

- SDK : Software Development Kit

- IDE : Integrated Development Environment

- Menu 7UuQKÿѫQ

- User 1Jѭӡi sӱ dөng

- Touch : chҥm (trӓ)

Trang 10

Xây dӵng game cӡ Gánh dân gian GVHD: PGS.TSKH Trҫn Quӕc ChiӃn

LӠI MӢ DҪU

Tӯ lâu, các loҥi hình giҧi trí thұt sӵ ÿD Gҥng và phong phú, và khi game xuҩt

hiӋQWUrQPi\WtQKWKuQyÿmQKDQKFKyQJWUӣ thành công cө giҧi trí sӕ mӝt trên toàn thӃ

giӟi Sӕ OѭӧQJQJѭӡLFKѫLJDPHWUrQPi\WtQKQKҩt là máy tính bҧng và các thiӃt bӏ ÿLӋn

thoҥLGLÿӝng lên tӟi con sӕ hàng tӍ, không phân biӋt vӅ tuәi tác, giӟi tính hay màu da

Mӝt trong sӕ ÿyOjJDPH6QDNHÿѭӧc bҳt nguӗn tӯ mӝt chiӃc GLÿӝng mà Nokia

WUuQKOjQJQăPFyWrQOj1RNLDÿmPӣ ra mӝt kӹ nguyên mӟLFKROƭQKYӵc

lұSWUuQKJDPHWUrQGLÿӝQJ1KѭQJYӟi sӵ hҥn chӃ vӅ ÿӗ hӑa, tӕFÿӝ xӱ lý, cӕt truyӋn

JDPHÿmQKDQKFKyQJJk\UDQKjPFKiQÿӕi vӟLQJѭӡLFKѫL9jFiFF{QJQJKӋ lұp trình

JDPHÿmUDÿӡLQKѭ%UHZ$SS6WRUH-0(Yjÿһc biӋt là Android

Các thiӃt bӏ GLÿӝng sӱ dөng hӋ ÿLӅu hành Android vӟi phҫn cӭng mҥnh mӁ, các

nút bҩPFKѫLJDPHFKX\rQGөng ThӃ giӟi game trên Smart phone lҥi gҫQQKѭWKӕng trӏ

cҧ thӃ giӟi Game ÿѭӧc xây dӵng trên các thiӃt bӏ GL ÿӝng này có hình ҧQKPѭӧt mà

KѫQWӕFÿӝ xӱ lý mҥnh mӁ KѫQFQJYӟi nhӳng hiӋu ӭng rҩt gҫn vӟi thӵc tӃ KѫQ&QJ

vӟLÿyOjFiFORҥi hình game trí tuӋ luôn có khҧ QăQJWKXK~Wÿ{QJVӕ QJѭӡLFKѫLÿһc

biӋt là sӕ QJѭӡLFKѫLthích thӱ WKiFKÿҩu trí

Vì vұy em quyӃWÿӏnh chӑQÿӅ WjL³1JKLrQFӭu công nghӋ phát triӇn game trên

ÿLӋn thoҥi Android Xây dӵng game cӡ JiQKGkQJLDQ´OjPÿӅ tài khóa YăQWӕt nghiӋp

cӫa mình Vӟi mөFÿtFKWuPKLӇXU}KѫQYӅ $QGURLGFiFWtQKQăQJFӫa nó, nâng cao kӻ

thuұt lұSWUuQKFiQKkQYjÿһc biӋt là quҧn bá hình ҧQKFiFWUzFKѫLGkQJLDQFӫa ViӋt 1DPNK{QJÿӇ nó bӏ mai mӑt Hy vӑng sӁ tҥRUDÿѭӧc mӝt sҧn phҭPFytFKÿҽp mҳt và

WKXK~WQJѭӡLFKѫL

Trang 11

Xây dӵng game cӡ Gánh dân gian GVHD: PGS.TSKH Trҫn Quӕc ChiӃn

TӘ1*48$1Ĉ ӄ TÀI

7UzFKѫLGkQ gian Cӡ Gánh là mӝt trong sӕ WUzFKѫLGkQJLDQWѭѫQJÿӕi phә biӃn

ӣ các vùng nông thôn ViӋW1DP1KѭQJQyYjFiFWUzNKiFQJj\FjQJEӏ quên lãng do

xã hӝi ngày càng phát triӇn diӋQWtFKÿҩt ngày càng thu hҽSKѫQYjYӟi nhӳng nhu cҫu

giҧLWUtFDRKѫQ9uYұy viӋc tin hӑFKyDWUzFKѫLGkQJLDQFNJQJÿѭӧc coi là hoàn toàn

hӧp lý

Ĉk\OjPӝWWUzFKѫLFyFҩXWU~FYjFiFKFKѫLKRjQWRjQJLӕng vӟLWUzFKѫLGkQ

gian Cӡ *iQK7UzFKѫLJL~SFKRYLӋc tә chӭc mӝWYiQFKѫLFӡ gánh trӣ nên dӉ dàng

KѫQ9ӟi nhӳng hình ҧnh và các hӛ trӧ khác tҥo nên mӝWNK{QJNKtFKѫLKҩp dүn và tҥo

ÿѭӧc sӵ hӭng thú Vӟi luұWFKѫLÿѫQJLҧQWUzFKѫLSKKӧp vӟi mӑi lӭa tuәi, hӭa hҽn

sӁ là mӝWWUzFKѫLSKә biӃn trên các máy tính hiӋn nay

II.1 7rQÿ Ӆ tài

³; ây d͹ng game cͥ JiQKGkQJLDQWUrQÿL ͏n tho̩L$QGURLG´

II.2 MөFÿtFKYjêQJKƭD

Xây dӵng game vӟi các mөFÿtFKêQJKƭDVDX

- Tҥo ӭng dөng game cӡ JiQKGkQJLDQWUrQÿLӋn thoҥi Android có giao diӋn trӵc

quan, phөc vө nhu cҫu giҧi trí cӫa nhiӅXQJѭӡLFKѫLYj giúp mӑLQJѭӡi biӃt rõ

KѫQYӅ WUzFKѫLQj\

- Nҳm bҳt và hiӇXÿѭӧc công nghӋ lұp trình game trên hӋ ÿLӅu hành Android

Nâng cao kӻ QăQJOұp trình, kӻ QăQJJLҧi quyӃt vҩQÿӅ

- Ӭng dөng trí tuӋ nhân tҥRÿӇ máy có khҧ QăQJVX\QJKƭWӕLѭXFKRPӛLQѭӟc

Trang 12

Xây dӵng game cӡ Gánh dân gian GVHD: PGS.TSKH Trҫn Quӕc ChiӃn

- Sӱ dөng thành thҥo mӝt sӕ công cө hә trӧ FKRP{LWUѭӡng làm viӋc, lұp trình game

II.3 Phҥ PYLÿ Ӆ tài

Ӭng dөng trên các thiӃt bӏ GLÿӝng sӱ dөng trên hӋ ÿLӅu hành Android có kích WKѭӟFPjQKuQK[iFÿӏnh, là mӝt game trí tuӋ có khҧ QăQJWә chӭFFKѫLJLӳD1Jѭӡi và Máy vӟi các mӭFÿӝ khác nhau

III.1 &iFEѭ ӟc thӵc hiӋ n

- Tìm hiӇu thông tin liên quan

- Xem xét bàn bҥc tính khҧ thi cӫa các yêu cҫu trong ӭng dөng

- ;iFÿӏnh thӡi gian thӵc hiӋn và hoàn thành dӵ án

- Lên kӃ hoҥFKÿӇ thӵc hiӋn dӵ án

- Phân tích các yêu cҫu cӫa dӵ án

- Phân tích thiӃt kӃ tӯng chi tiӃt cӫa tӯng module

- Dӵa vào bҧng phân tích thiӃt kӃ tiӃn hành code ӭng dөng

- TiӃn hành kiӇm thӱ ӭng dөng

- Báo cáo sӁ ÿѭӧc viӃt song song trong suӕt quá trình làm dӵ án

III.2 Dӵ kiӃ n kӃ t quҧ ÿҥ Wÿѭ ӧc

Hi vӑQJFKѭѫQJWUuQKVӁ ÿiSӭQJÿѭӧc các yêu cҫXQKѭVDX

- Xây dӵng hoàn chӍnh game cӡ JiQK FKѫL JLӳD QJѭӡi và máy vӟi các mӭF ÿӝ khác nhau

- Ĉӗ hӑa bҳt mҳWFiFWKDRWiFÿѫQJLҧn, tiӋn dөng

- TӕLѭXNKҧ QăQJVX\QJKƭFӫa máy

Trang 13

Xây dӵng game cӡ Gánh dân gian GVHD: PGS.TSKH Trҫn Quӕc ChiӃn

Toàn bӝ khóa luұn bao gӗm 3 phҫn:

Trang 14

Xây dӵng game cӡ Gánh dân gian GVHD: PGS.TSKH Trҫn Quӕc ChiӃn

chӕt Android là hӋ ÿLӅXKjQKWUrQÿLӋn thoҥLGLÿӝng (và hiӋn nay là cҧ trên mӝt sӕ ÿҫu

SKiW+'+'3OD\HU79« SKiWWULӇn bӣi Google và dӵa trên nӅn tҧng LLQX[7Uѭӟc ÿk\$QGURLGÿѭӧc phát triӇn bӣi công ty liên hӧS$QGURLG VDXÿyÿѭӧc Google mua

lҥLYjRQăP 

Các nhà phát triӇn viӃt ӭng dөng cho Android dӵa trên ngôn ngӳ java Sӵ ra mҳt

cӫD$QGURLGYjRQJj\WKiQJQăPJҳn vӟi sӵ thành lұp cӫa liên minh thiӃt bӏ

cҫm tay mã nguӗn mӣ, bao gӗm 78 công ty phҫn cӭng, phҫn mӅm và viӉn thông nhҵm

mөFÿtFKWҥo nên mӝt chuҭn mӣ FKRÿLӋn thoҥLGLÿӝQJWURQJWѭѫQJODL

phép các nhà phát triӇQÿӇ tҥo ra các ӭng dөQJGLÿӝng hҩp dүn tұn dөng tҩt cҧ mӝt

chiӃFÿLӋn thoҥLÿmFXQJFҩS1yÿѭӧc xây dӵQJÿӇ ÿѭӧc thӵc sӵ mӣ$QGURLGÿѭӧc

Trang 15

Xây dӵng game cӡ Gánh dân gian GVHD: PGS.TSKH Trҫn Quӕc ChiӃn

xây dӵng trên mӣ Linux HUQHO+ѫQQӳa, nó sӱ dөng mӝt máy ҧo tùy chӍQKÿѭӧc thiӃt

kӃ ÿӇ tӕLѭXKyDEӝ nhӟ và tài nguyên phҫn cӭQJWURQJP{LWUѭӡQJGLÿӝng NӅn tҧng

này sӁ tiӃp tөc tiӃn triӇQ QKѭ FӝQJ ÿӗng nhà phát triӇn công viӋF FQJ QKDX ÿӇ xây

dӵng các ӭng dөQJGLÿӝng sáng tҥo

các ӭng dөng lõi cӫDÿLӋn thoҥi và các ӭng dөng cӫa bên thӭ ba Hӑ tҩt cҧ có thӇ ÿѭӧc

xây dӵQJÿӇ có thӇ truy cұp bҵng khҧ QăQJFӫa mӝWQJѭӡi cung cҩSFKRQJѭӡi sӱ dөng

ÿLӋn thoҥi vӟi mӝt dҧi rӝng các ӭng dөng và dӏch vө Vӟi các thiӃt bӏ xây dӵng trên HӋ

ÿLӅXKjQK$QGURLGQJѭӡi dùng có thӇ hoàn toàn thích ӭng vӟLÿLӋn thoҥLÿӃn lӧi ích

cӫa hӑ Hӑ có thӇ WUDRÿәi trên màn hình cӫDÿLӋn thoҥi nhӳng phong cách cӫa dialer,

Trang 16

Xây dӵng game cӡ Gánh dân gian GVHD: PGS.TSKH Trҫn Quӕc ChiӃn

Android 1.1 (Petit Four): Ra mҳt ngày 9-2-2009 Không bao gӗm nhiӅu tính

QăQJSKLrQEҧn này bә sung mӝt sӕ chӭFQăQJPӟi cho Google Maps hiӇn thӏ chi tiӃt

KѫQEjQSKtPҧo gӑLÿLӋn thoҥLÿmFyWKӇ hiӇn thӏ hoһc ҭn khi gӑLFKѭѫQJWUuQK606

FKRSKpSQJѭӡLGQJOѭXWұSWLQÿtQKNqPPetit Four sӱa mӝt sӕ lӛi trong Android 1.0

Android 1.5 (Cupcake): 5DPҳW ngày 30-4-2009 Cupcake, tên mã ÿҫXWLrQ áp

GөQJFKR SKLrQEҧQ$QGURLGCupcake PDQJQKLӅX WtQKQăQJPӟLQKѭEjQSKtPҧRFy

NKҧQăQJGӵÿRiQWӯÿDQJJ}WӯÿLӇQWӯQJӳGRQJѭӡLGQJÿһWUDKӛWUӧZLGJHWWUrQ

JLDRGLӋQFKӫTXD\SKLPYjSKiWOҥLYLGHRFOLSOѭӧFVӱWKӡLJLDQFXӝFJӑLFKӃÿӝWӵÿӝQJ[RD\PjQKuQKWKHRKѭӟQJVӱGөQJ VFUHHQURWDWLRQ 

Android 1.6 (Donut): 5DPҳW ngày 30-9-2009 Donut NKҳFSKөFFiFFKӭF QăQJ

OӓQJOҿRWURQJCupcake, PӣUӝQJFKӭFQăQJWuPNLӃPEҵQJJLӑQJQyLYjNêWӵÿӃQ

ERRNPDUN Yj GDQK Eҥ $QGURLG 0DUNHW WUӣ WKjQK FKӧ ÿҫX PӕL ÿӇ QJѭӡL GQJ WuP

NLӃPYj[HPFiFӭQJGөQJ$QGURLGӬQJGөQJFKөSҧQKYjTXD\SKLPWURQJDonut

QKDQKKѫQ+ӋÿLӅXKjQKKӛWUӧPjQKuQKFyÿӝSKkQJLҧLOӟQKѫQKѭӟQJÿӃQFiFWKӃ

KӋVPDUWSKRQHPjQKuQKOӟQ

Android 2.0 (Eclair): 5DPҳWQJj\-10-&KӍ VDXJҫQPӝWWKiQJUDPҳW

Donut, Google tung ra EclairSKLrQEҧQÿѭӧFQKұQÿӏQKOjEѭӟFÿLOӟQFӫDKӋÿLӅX

hành này Eclair FҧLWLӃQUҩWQKLӅXWӯJLDRGLӋQ ÿӃQӭQJGөQJErQWURQJKӋWKӕQJӬQJ

GөQJFKөSҧQKWăQJFѭӡQJWKrPFKӭFQăQJ]RRPVӕ SKyQJWR FkQEҵQJWUҳQJKӛWUӧ

ÿqQ IODVKYj FiF KLӋXӭQJPjX VҳFEclair Oj SKLrQ EҧQ $QGURLG ÿҫX WLrQ Kӛ WUӧ ҧQK

QӅQ ÿӝQJ OLYHZDOOSDSHU GW\FKӑQQj\WLrXWӕQNKiQKLӅXSLQ

Android 2.2 (Froyo): 5DPҳWQJj\-5-2010 7ӯ SKLrQEҧQ WUӣÿLAndroid

GҫQ KRjQ WKLӋQ KѫQFroyo PDQJ $GREH )ODVK ÿӃQ $QGURLG NpR WKHR KjQJ ORҥW ӭQJ

GөQJYjJDPHWUrQQӅQ)ODVK1JѭӡLGQJFNJQJFyWKӇ[HPYLGHRFOLSQӅQ)ODVKQKѭ

<RX7XEHYjUDOӋQKWKӵFKLӋQFXӝFJӑLTXD%OXHWRRWK

Trang 17

Xây dӵng game cӡ Gánh dân gian GVHD: PGS.TSKH Trҫn Quӕc ChiӃn

Android 2.3 (Gingerbread): Ra mҳW QJj\ 6-12- ĈӃQ FXӕL QăP 2,

FKRWKӃKӋ$QGURLG[KӧSQKҩWNKҳFSKөFVӵSKkQPҧQJFӫD$QGURLG

Android 4.0 (Ice Cream Sandwich) 5D PҳW QJj\ -10-2011 "Bánh kem

VDQGZLFK ,&6  Oj WKӃ KӋ $QGURLG ÿѭӧF PRQJ ÿӧL QKҩW ÿӃQ QD\ UD ÿӡL FQJ GzQJ

VPDUWSKRQH ERP WҩQ 6DPVXQJ *DOD[\ 1H[XV WKӃ KӋ VPDUWSKRQH ÿҫX WLrQ WUDQJ Eӏ

ICS Ice Cream Sandwich KRҥWÿӝQJPѭӧWPjQKDQKYjÿҽSKѫQ

Android 4.1 (Jelly Bean): Ra mҳt: 9-7-2012 Máy tính bҧng Nexus 7, sҧn phҭm

hӧp tác giӳa Google và Asus, là thiӃt bӏ dùng Jelly Bean ÿҫu tiên ra mҳt Android 4.1

nâng tҫm hoҥWÿӝng cho hӋ ÿLӅu hành cӫa Google, trӣ thành hӋ ÿLӅu hành cho thiӃt bӏ di

ÿӝQJKjQJÿҫu hiӋQQD\ÿHGӑa cҧ "ông lӟn" Windows

Android 4.2 (vү n là Jelly Bean) Ra mҳt: tháng 11-2012 ChӍ sau gҫQQăPWKiQJ

ra mҳt Android 4.1, Google tiӃp tөc bӗi thêm sӭc nһng cho Android vӟi phiên bҧn 4.2

và vүn mang tên mã Jelly Bean

Android 4.3 (vү n là Jelly Bean) Ra mҳt: tháng 24-7-2012

Android 4.4 (KitKat): ra mҳt cuӕL WKiQJ  ÿҫX WKiQJ  QăP  Kitkat

mӟi nhanh chóng chiӃPÿѭӧc cҧPWuQKQJѭӡi dùng Các sӕ liӋu sau có thӇ cho thҩy

ÿLӅu này

Trang 18

Xây dӵng game cӡ Gánh dân gian GVHD: PGS.TSKH Trҫn Quӕc ChiӃn

Bҧn báo cáo mӟi nhҩt cӫa Google vӅ tình hình các phiên bҧn hӋ ÿLӅu hành

Android trong tháng 3 cho thҩy sӵ JLDWăQJÿӅXÿһn cӫa các phiên bҧn Android mӟi,

WURQJÿyFó Android 4.4 KitKat

I.3 Các thành phҫ n ӭng dөng cӫa Android

I.3.1 Activity là gì?

Activity là mӝt thành phҫQFѫEҧn cӫa ӭng dөng Android Mӛi activity thӵc hiӋn

mӝt chӭFQăQJFӫa ӭng dөng, trong mӛi ӭng dөng Android luôn có mӝt MainActivity,

Trang 19

Xây dӵng game cӡ Gánh dân gian GVHD: PGS.TSKH Trҫn Quӕc ChiӃn

khi ta chҥy ӭng dөng thì Activity này sӁ ÿѭӧc gӑi thӵFWKLWUѭӟc và thӇ hiӋn nhӳng giao

diӋn hay FRQWUROOrQPjQKuQKÿӇ QJѭӡi dùng có thӇ WѭѫQJWiF

Mӝt ӭng dөQJWKѭӡng bao gӗm nhiӅu Activity có mӕi liên quan vӟi nhau, và các

activity này hoҥWÿӝQJWKHRFѫFKӃ KjQJÿӧLFyQJKƭDNKLPӝWDFWLYLW\ÿDQJKRҥWÿӝng

QKѭQJ PӝW DFWLYLW\ NKiF ÿѭӧc kích hoҥt hoһF DFWLYLW\ ÿy Fy ÿӝ ѭX WLrQ OӟQ KѫQ WKu

DFWLYLW\WUѭӟFÿyVӁ chuyӇn sang trҥng thái Stop hoһF3DXVHÿӇ activity này thӵc hiӋn

¾ Tҥo mӝt Activity

ĈӇ tҥo mӝt Activity bҥn cҫn phҧi tҥo mӝt lӟp con kӃ thӯa tӯ lӟp Activity Trong

lӟp con bҥn cҫn thӵc hiӋn FiF SKѭѫQJ WKӭc callback mà hӋ thӕng sӁ thӵc hiӋn khi

chuyӇQÿәi giӳDFiFDFWLYLW\WURQJYzQJÿӡi cӫa nó, bao gӗm các trҥQJWKiLQKѭNKӣi

tҥo, dӯng, chҥy, hay ngӯng hҷn

¾ Thӵc hiӋn mӝt giao diӋQQJѭ ӡi dùng

Giao diӋQQJѭӡi dùng cho mӝt hoҥWÿӝQJÿѭӧc cung cҩp bӣi mӝt hӋ thӕng các

TXDQÿLӇPÿӕLWѭӧng dүn xuҩt tӯ lӟp View MӛLÿӕLWѭӧQJ9LHZÿѭӧc trình bày trên

không gian hình chӳ nhұt (Màn hình mobile) và ta có thӇ xӱ lý nhӳng sӵ kiӋn thông

qua các câu lӋQKWUrQFiFÿӕLWѭӧQJ9LHZÿy

¾ Khai báo activity trong Manifest

Bҥn cҫn khai báo Activity trong tұSWLQ$QGURLG0DQLIHVWÿӇ nó có thӇ truy cұp

vào hӋ thӕQJ ĈӇ có thӇ khai báo bҥn cҫn phҧi mӣ tұp tin AndroidManifest trong

Project cӫa bҥn rӗi thêm mӝt thҿ <activity> ӣ bên trong cһp thҿ DSSOLFDWLRQ!QKѭVDX

Trang 20

Xây dӵng game cӡ Gánh dân gian GVHD: PGS.TSKH Trҫn Quӕc ChiӃn

Ngoài ra, bҥn còn có thӇ thêm mӝt sӕ thuӝF WtQK NKiF FKR DFWLYLW\ QKѭ ODEHOicon, theme style

¾ Sӱ dөng intent filters

MӝW $FWLYLW\ FNJQJ Fy WKӇ chӍ ÿӏnh nhӳng bӝ lӑc khác nhau tùy mөF ÿtFK Vӱ

dөng, các yӃu tӕ lӑF ÿѭӧF ÿӇ trong thҿ <intent-filter> bao gӗm các yӃu tӕ ÿӇ có thӇ

kích hoҥWDFWLYLW\ÿy

Các phҫn tӱ trong thҿ WDEDFWLRQ![iFÿӏnh thӵc hiӋQKjQKÿӝng cӫa ӭng dөng

ÿӕi vӟL DFWLYLW\ ÿy &zQ FiF SKҫn tӱ trong thҿ FDWHJRU\! [iF ÿӏnh activity này nên

ÿѭӧc liӋt kê khi khӣi tҥo ӭng dөng hӋ thӕng (cho pKpSQJѭӡi dùng gӑLDFWLYLW\ÿy 

Tuy nhiên, khi ӭng dөng cӫa bҥn muӕn thӵc hiӋn mӝW YjL DFWLRQ QKѭ Oj VHQG

mail, test message, hay cұp nhұt trҥng thái, sӱ dөng dӳ liӋu activity cӫa bҥn Trong

WUѭӡng hӧp này, ӭng dөng cӫa bҥn có thӇ không có nhӳng hoҥWÿӝng riêng cӫDPuQKÿӇ

thӵc hiӋn action này, vì vұy bҥn cҫn tұn dөng nhӳQJDFWLYLWLHVÿѭӧc cung cҩp bӣi thiӃt

Trang 21

Xây dӵng game cӡ Gánh dân gian GVHD: PGS.TSKH Trҫn Quӕc ChiӃn

bӏ mà có thӇ thӵc hiӋQ DFWLRQ ÿy FKR Eҥn NӃu có nhiӅu hoҥW ÿӝng có thӇ xӱ lý các

LQWHQW WKu QJѭӡi dùng có thӇ cӑn bҩt kǤ mӝWWURQJFiF LQWHQWÿӇ sӱ dөng Ví dө bҥn

muӕQFKRQJѭӡi dùng gӱi mail, bҥn có thӇ tҥRUDFiFLQWHQWVDXÿk\

&iF(;75$B0$,/ÿѭӧc thêm vào intent là mӝt mҧng các chuӛLÿӏa chӍ email

mà sӁ ÿѭӧc gӱi Khi mӝt ӭng dөng mail hӗLÿiSLQWHQWQj\QyVӁ ÿӑc mҧng chuӛLÿѭӧc

cung cҩp bên trong extra và thay thӃ FK~QJ WURQJ WUѭӡQJ ³7R´ Fӫa Form gӱi mail

7URQJWUѭӡng hӧp này activity cӫa ӭng dөng sӁ ÿѭӧc gӑLNKLQJѭӡLGQJÿmWKӵc hiӋn

YjDFWLYLW\ÿyVӁ ÿѭӧc resume lҥi

¾ Dӯng mӝt Activity

ĈӇ tҳt mӝt activity thì bҥn cҫn gӑLSKѭѫQJWKӭc finish() BҥQFNJQJFyWKӇ tҳt mӝt

activity mà bҥQÿmJӑLWUѭӟFÿyEҵQJSKѭѫQJWKӭc finishActivity()

¾ 9zQJÿ ӡi cӫa mӝt Activity

Trang 22

Xây dӵng game cӡ Gánh dân gian GVHD: PGS.TSKH Trҫn Quӕc ChiӃn

Hình 1.4: Activity Lifecycle

Trang 23

Xây dӵng game cӡ Gánh dân gian GVHD: PGS.TSKH Trҫn Quӕc ChiӃn

7URQJÿy

x onCreate: Khӣi tҥo activity

x onStart: thӵc hiӋn activity

x onResume: Thӵc hiӋn tiӃp tөc mӝt activity

x onPause: Tҥm dӯng mӝt activity

x onStop: Dӯng hҷn mӝt activity

x onRestart: Thӵc hiӋn lҥi activity

$QGURLGFyFѫFKӃ quҧn lý các tiӃn trình theo chӃ ÿӝ ѭX tiên Các tiӃn trình có

ÿӝ ѭX WLrQ WKҩp sӁ bӏ Android giҧi phóng mà không hӅ cҧnh báo nhҵP ÿҧm bҧo tài

nguyên

¾ Mӝt Activity bao gӗm 4 trҥng thái

x Active (running): $FWLYLW\ÿDQJKLӇn thӏ lên màn hình (foreground)

x Paused: Activity vүn hiӇn thӏ (visible) nhѭQJ NK{QJ WKӇ WѭѫQJ WiF ORVWfocus)

x Stop: MӝWDFWLYLW\ÿѭӧc thay thӃ hoàn toàn bӣ mӝt activity khác sӁ chuyӇn

sang trҥng thái stop

x Killed: Khi hӋ thӕng thiӃu bӝ nhӟ nó sӁ giҧi phóng các tiӃn trình theo

nguyên tҳFÿӝ ѭXWLrQCác activity ӣ trҥng thái stop hoһFSDXVHFNJQJFyWKӇ

bӏ giҧLSKyQJYjNKLQyÿѭӧc hiӇn thӏ lҥi thì các Activity này phҧi khӣLÿӝng

lҥi hoàn toàn và phөc hӗi lҥi trҥQJWKiLWUѭӟFÿy

¾ Vұy ta có thӇ hiӇXYzQJÿ ӡi cӫD$FWLYLW\QKѭVDX

x Entire lifetime: BҳW ÿҫX SKѭѫQJ WKӭc onCreate() cho tӟL SKѭѫQJ WKӭc

onDestroy()

x ӭc onStart() cho tӟLSKѭѫQJWK ӭc onStop()

Trang 24

Xây dӵng game cӡ Gánh dân gian GVHD: PGS.TSKH Trҫn Quӕc ChiӃn

x Foreground lifetime: Tӯ SKѭѫQJ WKӭc onResume() ÿӃQ SKѭѫQJ WKӭc

onPause()

I.3.2 Services

Services là nhӳng thành phҫn chҥy ҭn trong ӭng dөng Android Service

sӱ dөQJÿӇ cұp nhұt thông tin, dӳ liӋXKD\ÿѭDUDFiFFҧnh cáo, nhҳc nhӣ Mӝt service

có thӇ chҥy nӅn và có thӇ tiӃp tөc chҥ\NKLQJѭӡi dùng chuyӇn sang mӝt Activity khác

ĈӇ bҳW ÿҫu mӝt service bҥn cҫn gӑL SKѭѫQJ WKӭc startService() khi mӝt thành

phҫn cӫa ӭng dөQJÿѭӧc bҳWÿҫu, ví dө QKѭ Pӝt Activity Service cҫQÿѭӧc khai báo

trong file AndroidManifest.xml cӫa ӭng dөng:

Hình 1.5: Service Lifecycle

Trang 25

Xây dӵng game cӡ Gánh dân gian GVHD: PGS.TSKH Trҫn Quӕc ChiӃn

I.3.3 Content Providers

&RQWHQW3URYLGHUVJL~SOѭXWUӳ và lҩy dӳ liӋu và làm cho nó có thӇ truy cұSÿӃn

tҩt cҧ các ӭng dөQJNKiFĈk\OjFiFKGX\QKҩWÿӇ chia sҿ dӳ liӋu qua các ӭng dөng

Dӳ liӋX WKѭӡQJ ÿѭӧF OѭX WUӳ ӣ file hӋ thӕng hoһc trong mӝt Sqlite Database

Content Provider thӵc hiӋn mӝt tұSSKѭѫQJWKӭc chuҭn mà các ӭng dөng khác có thӇ

truy xuҩWYjOѭXGӳ liӋu cӫa loҥLQyÿLӅu khiӇn Tuy nhiên nhӳng ӭng dөng không thӇ

gӑL FiF SKѭѫQJthӭc trӵc tiӃS  +ѫQthӃ chúng dùng content resolver và gӑi nhӳng

SKѭѫQJWKӭFÿy0ӝt content resolver có thӇ giao tiӃSÿӃn nhiӅu content provider; nó

cӝng tác vӟLFiFSURYLGHUÿӇ quҧn lý bҩt kǤ giao tiӃp nào liên quan

Mӛi ӭng dөng Android chҥy trên Process cӫa nó Bҩt cӭ lúc nào Content

3URYLGHUFNJQJFyWKӇ quҧQOêÿѭӧc các thành phҫn bên trong nó

x Android phҧLÿҧm bҧo các process thành phҫn phҧLÿDQJFKҥy

Intent là mӝt cҩu trúc dӳ liӋu mô tҧ cách thӭF ÿӕL Wѭӧng thӵc hiӋn cӫa mӝt

Activity Intent còn là cҫu nӕi giӳa các Activity: ӭng dөQJ$QGURLGWKѭӡng bao gӗm nhiӅu Activity, mӛi Activity hoҥWÿӝQJÿӝc lұp vӟi nhau và thӵc hiӋn nhӳng công viӋc

khác nhau

Trang 26

Xây dӵng game cӡ Gánh dân gian GVHD: PGS.TSKH Trҫn Quӕc ChiӃn

,QWHQWFKtQKOjQJѭӡLÿѭDWKѭJL~SFK~QJWDWULӋu gӑLFNJQJQKѭWUX\Ӆn các dӳ

liӋu cҫn thiӃWÿӇ thӵc hiӋn mӝt Activity tӯ mӝt Activity khác

Intent là mӝt khái niӋm then chӕt YjÿһFWUѭQJFӫa Android Platform Có thӇ nói

lұp trình Android chính là lұp trình Intent base

¾ Các thuӝc tính cӫDÿ ӕLWѭ ӧng Intent

Intent vӅ Fѫbҧn là mӝt cҩu trúc dӳ liӋX ÿѭӧc mô tҧ trong lӟp

android.content.Intent

x Action: Tên (string) cӫa action mà Intent sӁ yêu cҫu thӵc hiӋn, có thӇ

là action ÿѭӧc android ÿӏQKQJKƭD sҹn (built-in standard action) hoһc GRQJѭӡi lұp trình tӵ ÿӏQKQJKƭD

x Data: Dӳ liӋXPjDFWLYLW\ÿѭӧc gӑi sӁ xӱ Oêÿӏnh dҥng URI thông qua

hàm Uri.parse(data)

x Category: thông tin vӅ nhóm cӫa action

x Typeÿӏnh dҥng kiӇu dӳ liӋu (chuҭQ0,0( WKѭӡQJÿѭӧc tӵ ÿӝng xác

ÿӏnh

x Component: chӍ ÿӏnh cө thӇ lӟp sӁ thӵF WKL $FWLYLW\ NKL ÿѭӧc xác

ÿӏnh các thuӝc tính khác trӣ thành không bҳt buӝc (optional)

x Extras: chӭa tҩt cҧ các cһp (key, value) do ӭng dөQJ WKrP YjR ÿӇ

truyӅn qua Intent(cҩu trúc Bundle)

I.3.5 Broadcast receivers

Là mӝt thành phҫn cӫa ӭng dөng có chӭFQăQJWKXQKұn và phҧn ӭng lҥi nhӳng

WK{QJ EiR ÿѭӧc broadcast NhiӅu broadcast gӕc trong mã hӋ thӕng và các ӭng dөng

FNJQJFyWKӇ khӣi tҥo broadcast

Trang 27

Xây dӵng game cӡ Gánh dân gian GVHD: PGS.TSKH Trҫn Quӕc ChiӃn

Broadcast receivers không hiӇn thӏ giao diӋQQJѭӡi dùng Tuy nhiên chúng có

thӇ khӣi tҥo mӝt Activity phҧn hӗi lҥi nhӳQJWK{QJWLQÿѭӧc nhұQ&K~QJFNJQJFyWKӇGQJ1RWLILFDWLRQ0DQDJHUÿӇ WK{QJEiRÿӃn QJѭӡi dùng

II.1 ThiӃ t lұ SP{LWUѭ ӡng phát triӇ n ӭng dөng

0{LWUѭӡQJÿѭӧc thiӃt lұp trên các hӋ ÿLӅu hành Windows và cө thӇ ӣ ÿk\ W{L

dùng Windows 8 bҧQELWĈӇ thӵc hiӋn viӋc này bҥn cҫQFyFiFJyLFjLÿһt sau:

¾ JDK Java for windows

II.2 Các thành phҫ n trong Android Project

II.2.1 Tҥ o mӟi Android Project

Mӣ eclipse, chӑn File Æ New Æ Android Application Project WUѭӡng hӧp

không có Android Application Project thì ta bҩ m vào Orther)

Trang 28

Xây dӵng game cӡ Gánh dân gian GVHD: PGS.TSKH Trҫn Quӕc ChiӃn

- Application Name: Tên ӭng dөng mà bҥn mong muӕn

- Project Name: Tӵ ÿӝng cұp nhұSNKLFK~QJWDÿLӅn Application Name

- Package Name: Tên package, bҥQÿһWVDRFNJQJÿѭӧFQKѭQJVDRFKRGӉ nhӟ và không có các ký tӵ ÿһc biӋt (chӍ gӗm chӳ WKѭӡng và các chӳ sӕ tӯ 0 ~ 9)

- Minimum Required SDK: Phiên bҧn Android thҩp nhҩt chҥy ӭng dөng này

- Target SDK: Phiên bҧn hiӋn tҥi cӫa ӭng dөng

- Compile With: Phiên dӏch sang phiên bҧn khác

Sau khi tҥo mӟi xong 1 Android Application Project ta sӁ tìm hiӇu cҩu trúc cӫa

mӝt Android Project Mӝt Android Project gӗm:

- /src folder: chӭa các mã nguӗn (source code) là các file Java

- /gen: ChӭDILOH5MDYDGQJÿӇ quҧQOêFiFWjLQJX\rQÿѭӧc tҥo ra tӯ các tұp tin nguӗn, file này tӵ tҥRQrQNK{QJÿѭӧc chӍnh sӱDWKD\ÿәi

Trang 29

Xây dӵng game cӡ Gánh dân gian GVHD: PGS.TSKH Trҫn Quӕc ChiӃn

- /Android 4.4: bao gӗPFiF$3,WѭѫQJӭng vӟi hӋ ÿLӅu hành Android 4.4,

FiFWKѭviӋQQj\ÿѭӧc Import khi ta khӣi tҥo Project bҵng cách chӑn Target ӣ

trên

- /assets: chӭDFiFILOHWjLQJX\rQQKѭGDWDEDVHVӁ ÿLkèm vӟL3URMHFWNKLWDÿyQJJyLӭng dөng

- /res/drawable-hdpiQѫLOѭXKuQKҧnh sӱ dөng cho ӭng dөng hdpi +LJKGSLÿӝ phân giҧLFDR WѭѫQJWKtFK

vӟL ÿLӋn thoҥi có màn hình WVGA800 (480x800), WVGA854 (480x854)

- /res/drawable-ldpi FNJQJ Oj WKѭ PөFÿӇ chӭa các file ҧQK Fy ÿӝ phân giҧi thҩS KѫQ /RZ GSL 49*$

(240x320), WQVGA400 (240x400), WQVGA432 (240x432)

- /res/drawable-mdpi: chӭa các file ҧQKFyÿӝ phân giҧi trung bình Medium dpi: HVGA (320x480), WVGA800 (480x800), WVGA854 (480x854)

- /res/layout/main.xml: file thiӃt kӃ giao diӋn cho ӭng dөng, có thӇ tҥo thêm

nhiӅu file khác FKRQKѭQJPjQKuQKNKiFQKDX

- /res/values/strings.xml: ÿӏQK QJKƭD JLitrӏ cho các tài nguyên trong project,

giúp tӕL ѭX KyD WURQJ viӋc quҧn lý giá trӏ mһc ÿӏnh các ÿӕi Wѭӧng String trên

mӛi layout

- /AndroidManifest.xml: file cҩu hình cho ӭng dөng

Ngoài ra còn có mӝt sӕ IROGHUYjILOHGRQJѭӡi lұp trình tӵ ÿӏQKQJKƭD

II.2.2 ThiӃ t kӃ giao diӋ n trong Android

Không giӕQJQKѭOұSWUuQKMDYDWK{QJWKѭӡng, lұp trình android ngoài các lӟp

Hình 1.8: C̭ u trúc 1 Project

Trang 30

Xây dӵng game cӡ Gánh dân gian GVHD: PGS.TSKH Trҫn Quӕc ChiӃn

dòng ;0/QjRQKѭQJVӱ dөng XML sӁ ÿѫQJLҧn công viӋFÿLUҩt nhiӅXĈӗng thӡi sӱ

dөng XML sӁ giúp viӋc chӍnh sӱa ӭng dөng sau này trӣ nên dӉ dàng

VӅ nguyên tҳc, khi lұp trình ӭng dөng ta thiӃt kӃ giao diӋn bҵQJ;0/YjFjLÿһt

các xӱ OêNKLWѭѫQJWiFYӟi giao diӋn trong code

¾ Các Layout

/D\RXWÿѭӧFGQJÿӇ quҧn lý các thành phҫn giao diӋn khác theo 1 trұt tӵ nhҩt

ÿӏQK/D\RXWÿѭӧc sӱ dөng nhҵm mөFÿtFKWKLӃt kӃ giao diӋn cho nhiӅXÿӝ phân giҧi

7Kѭӡng khi lұp trình nên kӃt hӧp nhiӅu layout vӟLQKDXÿӇ tҥo ra giao diӋn bҥn mong

muӕn

x FrameLayout: /D\RXW ÿѫQ JLҧn nhҩt, thêm các thành phҫn con vào

góc trên bên trái cӫa màn hình

x LinearLayout: thêm các thành phҫn con theo 1 chiӅu nhҩW ÿӏnh

(ngang hoһc dӑF ... class="page_container" data-page="29">

Xây dӵng game cӡ Gánh dân gian GVHD: PGS.TSKH Trҫn Quӕc ChiӃn

- /Android 4.4: bao gӗPFiF$3,WѭѫQJӭng vӟi hӋ ÿLӅu hành Android 4.4,

FiFWKѭviӋQQj\ÿѭӧc... class="page_container" data-page="32">

Xây dӵng game cӡ Gánh dân gian GVHD: PGS.TSKH Trҫn Quӕc ChiӃn

- Paint: Paint mӝt lӟp quan trӑng Android, mӝt ӭng dөng android chҷng

khi thiӃu... data-page="33">

Xây dӵng game cӡ Gánh dân gian GVHD: PGS.TSKH Trҫn Quӕc ChiӃn

R.drawable.image);

Canvas.drawBitmap(bitmap,0,0,bPaint); }

¾ Âm Android

Android cung

Ngày đăng: 26/06/2021, 13:17

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w