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

Ứng dụng đồ họa 2d vào phát triển game trên hệ điều hành android

51 519 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 51
Dung lượng 1,19 MB

Nội dung

Với việc chọn đề tài “Ứng dụng đồ họa 2D vào phát triển Game trên hệ điều hành Android” để làm khóa luận, em nghĩ rằng nó sẽ giúp một phần nào đó cho việc tìm hiểu và phát triển Game nói

Trang 1

TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2 KHOA CÔNG NGHỆ THÔNG TIN

*************

VŨ QUANG TRUNG

ỨNG DỤNG ĐỒ HỌA 2D VÀO PHÁT TRIỂN GAME TRÊN

HỆ ĐIỀU HÀNH ANDROID

KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC

Chuy n ng nh ho họ m y t nh

HÀ NỘI –2015

Trang 2

TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2 KHOA CÔNG NGHỆ THÔNG TIN

*************

VŨ QUANG TRUNG

ỨNG DỤNG ĐỒ HỌA 2D VÀO PHÁT TRIỂN GAME TRÊN

Trang 3

LỜI CẢM ƠN

Trước tiên, em muốn gửi lời cảm ơn sâu sắc nhất đến thầy giáo, PGS.TS Trịnh Đình Thắng, người đã tận tình hướng dẫn em trong suốt quá trình thực hiện khóa luận tốt nghiệp

Em xin bày tỏ lời cảm ơn sâu sắc đến những thầy cô giáo đã giảng dạy em trong bốn năm qua, những kiến thức mà em nhận được trên giảng đường đại học sẽ

là hành trang giúp em vững bước trong tương lai

Và tôi xin cảm ơn tất cả những người bạn của tôi, những người đã và đang luôn động viên, chia sẻ và giúp đỡ tôi tận tình trong suốt thời gian học tập cũng như thực hiện khóa luận này

Cuối cùng, con kính gửi lời cảm ơn sâu sắc nhất tới gia đình, cảm ơn cha mẹ

đã tạo điều kiện tốt nhất cho con học tập để có được như ngày hôm nay Và xin cảm ơn tất cả mọi người đã tin tưởng, khích lệ và động viên tôi trong suốt thời gian qua

Hà Nội, ngày 08 tháng 05 năm 2015

Sinh viên

Vũ Quang Trung

Trang 4

LỜI CAM ĐOAN

Tên em là: Vũ Quang Trung

Sinh viên lớp: K37A – Tin học, khoa Công nghệ Thông tin, trường Đại học

Sư phạm Hà Nội 2

Em xin cam đoan:

1 Nội dung đề tài: “Ứng dụng đồ họa 2D vào phát triển Game trên hệ điều hành Android” là nghiên cứu của riêng em

2 Kết quả nghiên cứu của em không trùng với bất cứ một kết quả nào của những tác giả khác

Nếu sai em xin hoàn toàn chịu trách nhiệm

Hà Nội, ngày 08 tháng 05 năm 2015

Sinh viên

Vũ Quang Trung

Trang 5

DANH MỤC HÌNH ẢNH

Hình 3.3 Kiểm tra va chạm giữa 2 đối tượng 36

Hình 3.5 Giao diện hiển thị thông tin tác giả 38

Hình 3.6 Giao diện hiển thị phần giới thiệu, hướng dẫn 39

Trang 6

MỤC LỤC

MỞ ĐẦU 1

CHƯƠNG 1 HỆ ĐIỀU HÀNH ANDROID 5

1.1 Giới thiệu hung về hệ điều h nh Android 5

1.2 Hệ điều h nh Android qu từng gi i đoạn 6

1.2.1 Android 1.0 6

1.2.2 Android 1.1 6

1.2.3 Android 1.5 Cupcake 6

1.2.4 Android 1.6 Donut 7

1.2.5 Android 2.0 và 2.1 Eclair 7

1.2.6 Android 2.2 Froyo 8

1.2.7 Android 2.3 Gingerbread 8

1.2.8 Android 3.x HonyComb 9

1.2.9 Android 4.0 Ice Cream Sandwich 9

1.2.10 Android 4.1 Jelly Bean 9

1.2.11 Android 4.2 Jelly Bean 10

1.2.12 Android 4.3 Jelly Bean 10

1.2.13 Android 4.4 Kitkat 11

1.2.14 Android 5.0 Lollipop 11

1.3 iến trú hệ điều h nh Android 12

1.3.1 Tầng hạt nhân Linux 13

Trang 7

1.3.3 Phần Android Runtime 14

1.3.4 Tầng Appli tion Fr mework 15

1.3.5 Tầng Appli tion 15

1.4 Hệ thống tập tin tr n hệ điều h nh Android 16

1.4.1 Tổng qu n về hệ thống file tr n Android 16

1.4.2 C kiểu file tr n Android 17

1.4.3 Tổ hứ quyền sở hữu v quyền hạn tr n file 17

1.5 C th nh phần ủ một ứng dụng tr n Android 17

CHƯƠNG 2 LÝ THUYẾT ĐỒ HỌA 2D 21

2.1 Giới thiệu hung 21

2.2 Lị h sử ph t triển 21

2.3 C hệ m u thông dụng 22

2.3.1 Hệ m u RGB 22

2.3.2 Hệ m u CMY (hệ m u trừ) 24

2.3.3 Hệ m u HSB (hệ tổng hợp) 24

2.3.4 Hệ m u L b (hệ tổng hợp) 24

2.4 C ứng dụng ủ đồ họ 25

2.5 Đồ họ 2D 25

2.6 Đồ họ 2D trong Android 26

CHƯƠNG 3 ỨNG DỤNG ĐỒ HỌA 2D VÀO PHÁT TRIỂN GAME TRÊN HỆ ĐIỀU HÀNH ANDROID 27

3.1 Ý tưởng thự hiện 27

Trang 8

3.2.1 Sơ đồ hoạt động ủ g me 29

3.2.2 X định tor v mô hình use se 29

3.2.2.1 Danh sách actor 29

3.2.2.2 Sơ đồ Use Case 30

3.3 Thiết kế thuật to n 34

3.4 Thiết kế gi o diện hương trình 38

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 42

TÀI LIỆU THAM KHẢO 43

Trang 9

MỞ ĐẦU

1 Lý do chọn đề tài

Ngày nay nền công nghiệp giải trí đang phát triển rất mạnh trên thế giới, bao gồm các thành phần cơ bản như: Game, âm nhạc, thời trang, chương trình truyền hình, điện ảnh, Gameshow, Các mảng nằm trong ngành giải trí không chỉ mang tính giải trí mà còn mang nhiều giá trị về văn hóa, lối sống, phong tục của con người từng vùng miền, từng quốc gia, đồng thời quảng bá hình ảnh của đất nước tới các nước khác trên thế giới

Có thể nói một trong những ngành giải trí mang lại nhiều lợi nhuận nhất đó

là game Game là lĩnh vực giải trí tương tác quan trọng hàng đầu trong ngành công nghiệp hiện đại Theo báo cáo thị trường toàn cầu Newzoo năm 2014, ngành công nghiệp Game ước tính doanh thu 81,5 tỷ USD, tăng trưởng 7,8%, dự kiến lên đến 102,9 tỷ USD (2017) Lý do quan trọng nhất của sự phát triển chính là thị trường Châu Á chiếm đến 82% doanh thu và 45% thị phần ngành game thế giới (2014) Với doanh thu hơn 1,2 tỷ USD (2014), tăng trưởng 6%, Việt Nam hiện là thị trường game lớn nhất Đông Nam Á và top 10 thị trường game online phát triển nhanh nhất thế giới Riêng game online thu hút sự tham gia của khoảng 40 công ty phát hành game, giải quyết việc làm cho hơn 7.500 người

Trong đó, thị trường nội dung di động toàn cầu trị giá 10,5 tỷ đô (2014) và

dự kiến đạt 18,6 tỷ đô (2017), tỷ lệ tăng trưởng hàng năm 19% (2014-2017) Riêng khu vực Châu Á, thị trường nội dung di động trị giá 7,4 tỷ đô (2014), dự kiến đạt 11,4 tỷ đô (2017) - chiếm trên 60% doanh thu toàn cầu Tháng 10/2013, Mercer, Talentnet (2 công ty hàng đầu thế giới về tư vấn nhân sự) khảo sát 418 doanh nghiệp Việt Nam cho thấy: Việc đầu tư công nghệ quay trở lại mạnh mẽ Vì thế, nhu cầu nhân lực CNTT tăng nhanh, trong đó lập trình di động là ngành mới nên

Trang 10

Tuy nhiên, ngành game đang đứng trước khó khăn nguồn nhân lực Theo PGĐ.Trung tâm dự báo nhu cầu nhân lực và thị trường lao động Tp.HCM: “Ngành lập trình game không có trường Đại học hay Cao đẳng chuyên nghiệp đào tạo chuyên sâu Học phí lập trình phần mềm nói chung, lập trình game nói riêng khá đắt đỏ, nhưng lại xứng đáng vì mức lương và thu nhập không có điểm dừng, giống như trường hợp của tác giả game Flappy Bird”

Với sự phát triển bùng nổ của ngành CNTT như hiện nay, việc nghiên cứu và phát triển Game là một hướng đi khá tốt cho các lập trình viên Với việc chọn đề tài

“Ứng dụng đồ họa 2D vào phát triển Game trên hệ điều hành Android” để làm khóa luận, em nghĩ rằng nó sẽ giúp một phần nào đó cho việc tìm hiểu và phát triển Game nói riêng cũng như ngành công nghiệp giải trí nói chung trong tương lai gần

2 Mụ đ h nghi n ứu

Tìm hiểu hệ điều hành Android, ứng dụng của đồ họa 2D vào việc lập trình game cho hệ điều hành Android

3 Nhiệm vụ nghiên cứu

Nhiệm vụ của khóa luận là nghiên cứu về đồ họa 2D và hệ điều hành Android Từ những kiến trúc hệ thống của hệ điều hành Android đến ưu nhược điểm của hệ điều hành cho đến nay, em sẽ ứng dụng đồ họa 2D vào lập trình game

để phù hợp với hệ điều hành và thân thiện với người chơi

4 Đối tƣợng và phạm vi nghiên cứu

Hệ điều hành Android, các công cụ hỗ trợ lập trình game và đồ họa 2D

5 Giả thuyết khoa học

Đồ họa 2D sử dụng để lập trình game giúp hiểu rõ hơn các kỹ năng lập trình, khả năng sáng tạo Chương trình được xây dựng nếu được đưa vào thị trường cho người sử dụng sẽ giúp người dùng có thời gian thư giãn chơi game bên chiếc điện

Trang 11

6 Phương ph p nghi n ứu

Phương pháp nghiên cứu lý luận

Nghiên cứu qua việc đọc sách, báo và các tài liệu liên quan nhằm xây dựng

cơ sở lý thuyết của đề tài và các biện pháp cần thiết để giải quyết các vấn đề của

đề tài

Phương pháp chuyên gia

Tham khảo ý kiến của các chuyên gia để có thể thiết kế chương trình phù hợp với yêu cầu thực tiễn Nội dung xử lý nhanh đáp ứng nhu cầu ngày càng cao của người dùng

Phương pháp thực nghiệm

Thông qua kinh nghiệm chơi game, quan sát thực tế, yêu cầu của cơ sở, những lý luận được nghiên cứu và kết quả đạt được qua những phương pháp trên

7 Cấu trúc khóa luận

 Chương 1: Hệ điều hành Android

Nội dung chính của chương một là giới thiệu một cách tổng quan về

hệ điều hành Android Hệ điều hành Android qua từng giai đoạn phát triển

và kiến trúc, hệ thống tệp tin trên hệ điều hành này

 Chương 2: Lý thuyết đồ họa 2D

- Giới thiệu lý thuyết đồ họa 2D

- Những thành phần cơ bản của đồ họa máy tính

- Các ứng dụng sử dụng kỹ thuật đồ họa 2D

- Tìm hiểu lý thuyết đồ họa của hệ điều hành Android, một số thành

phần quan trọng của đồ họa 2D của hệ điều hành này

Trang 12

 Chương 3: Ứng dụng đồ họa 2D vào phát triển game trên hệ điều hành Android

Xây dựng ý tưởng và lập trình game mobile

 Chương 4: Kết luận và hướng phát triển

- Trình bày các kết quả đạt được và những khó khăn cần giải quyết

- Định hướng phát triển

Trang 13

CHƯƠNG 1 HỆ ĐIỀU HÀNH ANDROID

1.1 Giới thiệu chung về hệ điều hành Android

Android là một hệ điều hành dựa trên nền tảng Linux được thiết kế dành cho các thiết bị di động có màn hình cảm ứng như điện thoại thông minh và máy tính bảng Ban đầu, Android được phát triển bởi Tổng công ty Android, với sự hỗ trợ tài chính từ Google và sau này được chính Google mua lại vào năm 2005 Android ra mắt vào năm 2007 cùng với tuyên bố thành lập Liên minh thiết bị cầm tay mở: Một hiệp hội gồm các công ty phần cứng, phần mềm, và viễn thông với mục tiêu đẩy mạnh các tiêu chuẩn mở cho các thiết bị di động Hiện tại thì Android xuất hiện hầu như trong các sản phẩm của các nhà sản xuất lớn như Samsung, Sony, Htc… từ điện thoại thông minh cho tới máy tính bảng, ti vi… Và có thể nói đây là một trong những nguyên nhân để nó phát triển mạnh tới vậy

Chính mã nguồn mở cùng với một giấy phép không có nhiều ràng buộc đã cho phép các nhà phát triển thiết bị, mạng di động và các lập trình viên nhiệt huyết được điều chỉnh và phân phối Android một cách tự do khiến cho kho ứng dụng của

hệ điều hành Android phát triển một cách nhanh chóng

Tính đến thời điểm hiện tại, Android đã trở thành hệ điều hành dành cho nền tảng di động phổ biến nhất thế giới (chiếm đến 85%) Android phổ biến tới mức mặc dù được thiết kế để chạy trên điện thoại và máy tính bảng, nó còn được các nhà sản xuất tùy chỉnh để cài đặt trên các Smart TV, máy chơi game và các thiết bị điện tử khác Bản chất mở của Android cũng khích lệ một đội ngũ đông đảo lập trình viên và những người đam mê sử dụng mã nguồn mở để tạo ra những dự án do cộng đồng quản lý Những dự án này bổ sung các tính năng cao cấp cho những người dùng thích tìm tòi hoặc đưa Android vào các thiết bị ban đầu chạy hệ điều hành khác

Trang 14

1.2 Hệ điều hành Android qua từng gi i đoạn

Cho đến nay, hệ điều hành Android đã trải qua hàng loạt các thay đổi, nâng cấp

 Màn hình chính gồm các biểu tượng chương trình người dùng hay truy cập

 Tiện ích là các ứng dụng nhỏ trên màn hình chính, hoạt động và cung cấp thông tin liên tục

 Bàn phím ảo lần đầu tiên xuất hiện

 Cải tiến Tiện ích: Kho ứng dụng tiện ích phong phú và đa dạng hơn

 Hỗ trợ khả năng quay phim cho camera

 Cải tiến vùng đệm để nâng cao khả năng Copy, Cut, Paste

Trang 15

 Quick Contact: Gửi email, gọi điện, nhắn tin với thao tác đơn giản

 Cải tiến bàn phím ảo

 Trình duyệt mới: hỗ trợ HTML5, bao gồm luôn khả năng phát video ở chế

độ toàn màn hình Hộp địa chỉ kết hợp với thanh tìm kiếm cũng lần đầu xuất hiện trên Android

 Giao diện mới: các biểu tượng đẹp hơn, sang trọng hơn, gọn gàng hơn nhiều

so với trước

Trang 16

Android 2.1

Ra mắt chủ yếu để sửa lỗi và thêm hàm API để lập trình viên can thiệp sâu hơn vào hệ thống và nó hỗ trợ thêm vài tính năng như Live Wallpaper, chuyển giọng nói thành văn bản và một màn hình khóa mới

1.2.6 Android 2.2 Froyo

Android 2.2 được ra mắt trong năm 2010 Giao diện màn hình chính đã được thay đổi, từ 3 màn hình chính tăng lên thành 5 màn hình Dãy nút kích hoạt nhanh chế độ gọi điện, web và App Drawer cũng đã xuất hiện

Tính năng trạm phát Wifi (Wifi Hotspot) cũng xuất hiện, cách copy, paste mới tốt hơn Nhiều tính năng bảo mật mới cũng xuất hiện Việc hỗ trợ duyệt web với Flash là điểm đáng quan tâm Bổ sung thêm tính năng di chuyển một phần ứng dụng từ bộ nhớ máy sang thẻ nhớ, giúp tiết kiệm dung lượng cho điện thoại

Trang 17

1.2.9 Android 4.0 Ice Cream Sandwich

Cuối năm 2011, Google chính thức giới thiệu điện thoại Galaxy Nexus, thiết

bị đầu tiên trên thị trường sử dụng Android 4.0 Ice Cream Sandwich Android 4.0

hỗ trợ một bộ font mới tên là Roboto được cho là tối ưu hóa để dùng trên các màn hình độ phân giải càng ngày càng cao, đồng thời để hiển thị được nhiều thông tin hơn trên màn hình Hệ thống thông báo của Android đã được làm mới hoàn toàn, đẹp hơn, tiện dụng hơn, nhất là tính năng trượt ngang để xóa từng thông báo riêng

lẻ Bàn phím cũng được làm mới với khả năng tự động sửa lỗi cao hơn, việc sao chép, cắt dán chữ và nội dung cũng tốt hơn bao giờ hết

1.2.10 Android 4.1 Jelly Bean

 Giao diện đơn giản hơn giúp chúng ta dễ dàng theo dõi những thông tin xuất hiện trên màn hình, đặc biệt là khi điều khiển các ứng dụng

 Sự xuất hiện của Google Now với việc nâng cao khả năng tìm kiếm, thay đổi giao diện, tự động theo dõi thói quen sử dụng để đưa ra những thông tin chính xác và thích hợp với người dùng hơn

Trang 18

 Nhưng quan trọng hơn hết của Jelly Bean không phải là về giao diện hay ứng dụng mới mà về Project Butter giúp mang lại độ mượt chưa từng có cho Android

1.2.11 Android 4.2 Jelly Bean

Ngày 30/10/2012, Google chính thức tuyên bố cập nhật hệ điều hành Android của hãng lên phiên bản 4.2 và vẫn giữ nguyên tên gọi “Jelly Bean” Android 4.2 mang trong mình nhiều tính năng mới như hỗ trợ Miracast, bàn phím

có thể nhập liệu bằng cách vẽ các đường nét từ kí tự này đến kí tự khác, chế độ chụp ảnh toàn cảnh, ứng dụng Gmail mới và còn rất nhiều thứ khác nữa

Trong quá trình giới thiệu Android 4.2, Google rất tập trung nói về Miracast Google cũng đã áp dụng một số kĩ thuật từ camera Street View của hãng cho tính năng chụp ảnh toàn cảnh mới có tên Photo Sphere

Một cải tiến lớn và quan trọng của Android 4.2 đó là việc hỗ trợ nhiều tài khoản người dùng trên máy tính bảng để có thể dễ dàng chia sẻ trong gia đình hoặc nơi làm việc Mỗi tài khoản sẽ có dữ liệu ứng dụng của riêng họ

1.2.12 Android 4.3 Jelly Bean

Ngày 24/7/2013, Google đã chính thức ra mắt hệ điều hành này Đây là phiên bản Android mới nhất đang có mặt trên thị trường và đi kèm những tính năng mới như hỗ trợ kết nối Bluetooth Smart, bộ API OpenGL ES 3.0, bổ sung tính năng

sử dụng Wifi để định vị ngay cả khi người dùng tắt kết nối này đi cùng nhiều thay đổi lớn nhỏ khác

Google bổ sung thêm một tính năng mới cho Android 4.3 đó là Restricted Profile Mỗi thành viên sẽ có một “hồ sơ” riêng của mình và chỉ có thể làm được những gì được chỉ định trong “hồ sơ”

Trang 19

1.2.13 Android 4.4 Kitkat

 Google tiết lộ rằng “mục tiêu của chúng tôi với Android KitKat đó là mang trải nghiệm Android đáng kinh ngạc đến cho mọi người” Những cải tiến trên Android Kitkat bao gồm chế độ toàn màn hình, hiệu ứng chuyển cảnh màn hình, Storage Access Framework, Chromium WebView, NFC, cổng hồng ngoại…

 Giao diện: Font chữ màu đen, thể hiện rõ các dòng chữ trên thanh thông báo

Có bộ biểu tượng thư mục mới, giao diện nhìn chung được làm phẳng bớt, loại bỏ các chi tiết đổ bóng và thêm hiệu ứng trong suốt vào nhiều phần

 Thao tác nhanh hơn, kết hợp dịch vụ tìm kiếm Google Search cho phép dò và

tự động liên kết các danh bạ có sẵn trên Internet vào số điện thoại mới

 Nhắn tin Text Messages được gộp chung với ứng dụng nhắn tin và liên lạc online

 Bàn phím mặc định được bổ sung thêm các biểu tượng

 Thay đổi giao diện dễ dàng hơn

1.2.14 Android 5.0 Lollipop

Sau hơn một năm Android 4.0 KitKat ra mắt, Google đã chính thức ra mắt phiên bản mới nhất với tên gọi Android Lollipop, được đánh giá là hệ điều hành có những thay đổi rõ rệt và đáng kể nhất trong lịch sử Android từ trước đến nay

 Thiết kế "Material" mới

 Ngôn ngữ đồ họa mới của Android được lấy cảm hứng từ thiên nhiên, vật lý

và phong cách đậm, đổ bóng giống như in ấn

 Android trên mọi màn hình

 Thiết kế báo nhắc hoàn toàn mới

 Hỗ trợ chip 64 bit

Trang 20

 Mở khóa dựa trên bối cảnh

 Tách bạch công việc và giải trí

 Tìm kiếm bối cảnh cải tiến

1.3 Kiến trúc hệ điều hành Android

Hệ điều hành Android có 4 tầng từ dưới lên trên là tầng hạt nhân Linux (phiên bản 2.6), tầng Libraries & Android runtime, tầng Application Framework và trên cùng là tầng Application

Hình 1.1: Kiến trúc hệ điều hành Android

Trang 21

1.3.1 Tầng hạt nhân Linux

Hệ điều hành Android được phát triển dựa trên hạt nhân Linux, cụ thể là hạt nhân Linux phiên bản 2.6, điều đó được thể hiện ở lớp dưới cùng này Tất cả mọi hoạt động của điện thoại muốn thi hành được thì đều thực hiện ở mức cấp thấp Ở lớp này bao gồm quản lý bộ nhớ, giao tiếp với phần cứng, thực hiện bảo mật, quản

lý tiến trình

Tuy được phát triển dựa vào nhân Linux nhưng thực ra nhân Linux đã được nâng cấp và chỉnh sửa rất nhiều để phù hợp với tính chất của những thiết bị cầm tay, như hạn chế về bộ vi xử lý, dung lượng bộ nhớ, kích thước màn hình, nhu cầu kết nối mạng không dây

- Bluetooth Driver: Điều khiển thiết bị thu và phát sóng Bluetooth

- USB driver: Quản lý hoạt động của các cổng giao tiếp USB

- Keypad driver: Điều khiển bàn phím

- Wifi driver: Chịu trách nhiệm về việc thu phát sóng wifi

- Audio Driver: Điều khiển các bộ thu phát âm thanh, giải mã các tín hiệu dạng audio thành tín hiệu số và ngược lại

- Binder IPC Driver: Chịu trách nhiệm về việc kết nối và liên lạc với mạng vô tuyến như CDMA, GSM, 3G, 4G, E để đảm bảo những chức năng truyền thông được thực hiện

Trang 22

- M-System Driver: Quản lý việc đọc, ghi… lên các thiết bị như thẻ nhớ SD, flash

- Power Management: Giám sát việc tiêu thụ điện năng

1.3.2 Tầng Library

Phần này có nhiều thư viện được viết bằng C/C++ để các phần mềm có thể

sử dụng, các thư viện đó được tập hợp thành một số nhóm như:

- Thư viện hệ thống (System C library): Thư viện dựa trên chuẩn C, được sử dụng bởi hệ điều hành

- Thư viện Media (Media Libraries): Có nhiều codec để hỗ trợ việc phát và ghi các loại định dạng âm thanh, hình ảnh, video thông dụng

- Thư viện web (LibWebCore): Đây là thành phần để xem nội dung trên web, được sử dụng để xây dựng phần mềm duyệt web (Android Browse) cũng như để các ứng dụng khác có thể nhúng vào Nó cực kỳ mạnh, hỗ trợ được nhiều công nghệ mạnh mẽ như HTML5, JavaScript, CSS, DOM, AJAX…

- Thư viện SQLite: Hệ cơ sở dữ liệu để các ứng dụng có thể sử dụng

1.3.3 Phần Android Runtime

Phần này chứa các thư viện mà một chương trình viết bằng ngôn ngữ Java có thể hoạt động Runtime có 2 bộ phận tương tự như mô hình chạy Java trên máy tính thường Thứ nhất là các thư viện lõi (Core Library), chứa các lớp như Java IO, Collection, File Access Thứ hai là một máy ảo Java (Dalvik Virtual Machine) Mặc dù cũng được viết từ ngôn ngữ Java nhưng một ứng dụng Java của Android không được chạy trên JRE của Sun mà là chạy bằng máy ảo Dalvik do Google phát triển

Trang 23

1.3.4 Tầng Application Framework

Tầng này xây dựng bộ công cụ – các phần tử ở mức cao để các lập trình viên

có thể nhanh chóng xây dựng ứng dụng Nó được viết bằng Java, có khả năng sử dụng chung để tiết kiệm tài nguyên

Đây là một nền tảng mở, điều đó có 2 điều lợi:

- Với các hãng điện thoại: Có thể tùy biến để phù hợp với cấu hình điện thoại

mà họ sản xuất cũng như để có thể có nhiều mẫu mã, style hợp thị hiếu người dùng

Vì thế nên tuy cùng chung nền tảng Android mà điện thoại của Google có thể khác với Motorola, HTC, T-Mobile, Samsung…

- Với lập trình viên: Cho phép lập trình viên có thể sử dụng các API ở tầng trên mà không cần phải hiểu rõ cấu trúc bên dưới, tạo điều kiện cho lập trình viên

tự do sáng tạo bởi vì chỉ cần quan tâm đến nội dung mà ứng dụng họ làm việc Một tập hợp API rất hữu ích được xây dựng sẵn như hệ thống định vị, các dịch vụ chạy nền, liên lạc giữa các ứng dụng, các thành phần giao diện cấp cao…

1.3.5 Tầng Application

Đây là tầng ứng dụng giao tiếp với người sử dụng, bao gồm các ứng dụng như:

- Các ứng dụng cơ bản, được cài đặt đi liền với hệ điều hành: Gọi điện, quản

lý danh bạ, duyệt web, nhắn tin, lịch làm việc, đọc email, bản đồ, quay phim chụp ảnh…

- Các ứng dụng được cài thêm như các phần mềm học tiếng Anh, các trò chơi,

từ điển…

Các chương trình có đặc điểm là:

- Viết bằng Java có phần mở rộng là apk

Trang 24

- Khi mỗi ứng dụng được chạy, nó có một phiên bản Virtual Machine (máy ảo) được dựng lên để phục vụ cho nó

- Android là hệ điều hành đa nhiệm, điều đó có nghĩa là trong cùng một thời điểm, có thể có nhiều chương trình cùng chạy một lúc, tuy nhiên với mỗi ứng dụng chỉ có duy nhất một thực thể được phép chạy Điều đó có tác dụng hạn chế sự lạm dụng tài nguyên, giúp hệ thống hoạt động tốt hơn

- Các ứng dụng được gán số ID của người sử dụng nhằm phân định quyền hạn khi sử dụng tài nguyên, cấu hình phần cứng và hệ thống

- Android là một hệ điều hành có tính mở, khác với nhiều hệ điều hành di động khác, Android cho phép một ứng dụng của bên thứ 3 chạy nền Các ứng dụng

đó chỉ có một hạn chế là không được phép sử dụng quá 5% công suất CPU Điều

đó nhằm để tránh độc quyền trong sử dụng CPU

- Ứng dụng không có điểm vào cố định, không có phương thức main để bắt đầu

1.4 Hệ thống tập tin trên hệ điều hành Android

1.4.1 Tổng quan về hệ thống file trên Android

Trong Android các file được tổ chức lưu trữ thành các thư mục theo mô hình phân cấp Tham chiếu đến 1 file bằng tên hoặc đường dẫn Các câu lệnh thao tác file cho phép thực hiện các chức năng như dịch chuyển, sao chép toàn bộ thư mục cùng với các thư mục con chứa trong nó

Có thể sử dụng các ký tự, dấu gạch dưới, chữ số, dấu chấm và dấu phảy để đặt tên file Không được bắt đầu một tên file bằng dấu chấm hay chữ số Những ký

tự khác như “/”, “?”, “*”, là ký tự đặc biệt được dành riêng cho hệ thống Chiều dài của tên file có thể tới 256 ký tự Trong hệ điều hành Android có sự phân biệt tên file chữ hoa và chữ thường, điều đó có nghĩa là trong cùng một thư mục có thể tồn

Trang 25

Tất cả các file trong Android có chung cấu trúc vật lý là chuỗi các byte Cấu trúc thống nhất này cho phép Android áp dụng khái niệm file cho mọi thành phần

dữ liệu trong hệ thống Thư mục cũng như các thiết bị được xem như file Chính việc xem mọi thứ như các file cho phép Android quản lý và chuyển đổi dữ liệu một cách dễ dàng Một thư mục chứa các thông tin về thư mục, được tổ chức theo một định dạng đặc biệt Các thành phần được xem như file, chúng được phân biệt dựa trên kiểu file: Ordinary file, directory file, character device file và block device file

1.4.2 Các kiểu file trên Android

Trong hệ điều hành như Windows, người ta phân biệt rõ file (tập tin) và folder (hay directory: thư mục) là 2 thành phần khác hẳn nhau Tuy nhiên trên hệ điều hành Android (cũng như Linux) thì coi directory cũng là file và nó là một loại file đặc biệt

1.4.3 Tổ chức quyền sở hữu và quyền hạn trên file

Tương tự trên Linux, với hệ điều hành Android một file có thể liên kết với một người sử dụng và một nhóm người sử dụng Sự liên kết đó là một tập hợp các quyền hạn truy cập bao gồm quyền được phép đọc (read), được phép ghi (write) và được phép thực thi (execute)

Cụ thể như sau: Một file sẽ có những quyền hạn tương ứng với 9 ký tự theo mẫu sau: Với ký tự r w x nghĩa là có quyền tương ứng với ký hiệu viết tắt đó, “-” nghĩa là không có quyền hạn đó

1.5 Các thành phần của một ứng dụng trên Android

Các thành phần: Việc hiểu được các thành phần tạo nên một ứng dụng Android là rất cần thiết cho việc lập trình Các thành phần này được chia làm 6 loại bao gồm:

Ngày đăng: 23/09/2015, 15:40

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w