BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG
——————————-
ISO 9001:2015
ĐỒ ÁN TỐT NGHIỆP
NGÀNH: CÔNG NGHỆ THÔNG TIN
Sinh viên : Nguyễn Xuân Việt
Giảng viên hướng dẫn: ThS. Phùng Anh Tuấn
HẢI PHÒNG – 2019
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG
———————————–
XÂY DỰNG ỨNG DỤNG GIẢI TRÍ
TRÊN THIẾT BỊ DI ĐỘNG ANDROID
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
NGÀNH: CÔNG NGHỆ THÔNG TIN
Sinh viên : Nguyễn Xuân Việt
Giảng viên hướng dẫn: ThS. Phùng Anh Tuấn
HẢI PHÒNG – 2019
Sinh viên: Bùi Thị Bích Phương – QT1805K 3
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG
————————————–
NHIỆM VỤ ĐỀ TÀI TỐT NGHIỆP
Sinh viên: Nguyễn Xuân Việt Mã SV: 1412101130
Lớp: CT1801 Ngành: Công nghệ thông tin
Tên đề tài: Xây dựng ứng dụng giải trí trên thiết bị di động Android
Sinh viên: Bùi Thị Bích Phương – QT1805K 4
NHIỆM VỤ ĐỀ TÀI
1. Nội dung và các yêu cầu cần giải quyết trong nhiệm vụ đề tài tốt nghiệp
a. Nội dung:
– Tìm hiểu hệ điều hành android.
– Tìm hiểu môi trường lập trình Android Studio.
– Tìm hiểu các kỹ thuật liên quan đến xây dựng ứng dụng giải trí trên điện thoại
android.
– Xây dựng chương trình giải trí chạy trên điện thoại android thật
b. Các yêu cầu cần giải quyết
– Sử dụng công cụ Android Studio để viết chương trình chạy trên điện thoại android
– Xây dựng được chương trình giải trí, đóng gói chương trình thành file *.apk cho phép
cài đặt và chạy trên điện thoại android thật.
2. Các số liệu cần thiết để thiết kế, tính toán
– Sử dụng số liệu giả lập
3. Địa điểm thực tập
Trường Đại học Dân lập Hải Phòng
QC20-B18
CÁN BỘ HƯỚNG DẪN ĐỀ TÀI TỐT NGHIỆP
Người hướng dẫn thứ nhất:
Họ và tên: Phùng Anh Tuấn
Học hàm, học vị: Thạc sỹ
Cơ quan công tác: Trường Đại học Dân lập Hải Phòng
Nội dung hướng dẫn:
– Tìm hiểu hệ điều hành android.
– Tìm hiểu môi trường lập trình Android Studio.
– Tìm hiểu các kỹ thuật liên quan đến xây dựng ứng dụng giải trí trên điện thoại
android.
– Xây dựng chương trình giải trí chạy trên điện thoại android thật.
Người hướng dẫn thứ hai:
Họ và tên: ……………………………………………………………………………………………
Học hàm, học vị……………………………………………………………………………………
Cơ quan công tác: ………………………………………………………………………………..
Nội dung hướng dẫn: ………………………………………………………………………………………………
………………………………………………………………………………………………………
………………………………………………………………………………………………………
………………………………………………………………………………………………………
………………………………………………………………………………………………………
Đề tài tốt nghiệp được giao ngày 15 tháng 10 năm 2018
Yêu cầu phải hoàn thành trước ngày 07 tháng 01 năm 2019
Đã nhận nhiệm vụ: Đ.T.T.N
Sinh viên
Đã nhận nhiệm vụ: Đ.T.T.N
Cán bộ hướng dẫn Đ.T.T.N
Hải Phòng, ngày …………tháng………năm 2019
Hiệu trưởng
GS.TS.NGƯT Trần Hữu Nghị
QC20-B18
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc
PHIẾU NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN TỐT NGHIỆP
Họ và tên giảng viên: Phùng Anh Tuấn.
Đơn vị công tác: Trường Đại học Dân lập Hải Phòng.
Họ và tên sinh viên: Nguyễn Xuân Việt Ngành: Công nghệ thông tin
Nội dung hướng dẫn:
– Tìm hiểu hệ điều hành android
– Tìm hiểu môi trường lập trình Android Studio
– Tìm hiểu các kỹ thuật liên quan đến xây dựng ứng dụng giải trí trên điện thoại
android.
– Xây dựng chương trình giải trí chạy trên điện thoại android thật.
1. Tinh thần thái độ của sinh viên trong quá trình làm đề tài tốt nghiệp
– Có nghiên cứu tài liệu phục vụ cho nội dung đồ án.
– Khả năng làm việc độc lập còn nhiều hạn chế.
– Chưa nghiêm túc tuân thủ lịch làm việc với cán bộ hướng dẫn
2. Đánh giá chất lượng của đồ án/khóa luận (so với nội dung yêu cầu đã đề ra trong nhiệm
vụ Đ.T. T.N trên các mặt lý luận, thực tiễn, tính toán số liệu…)
– Đã thực hiện được các nội dung đề ra trong đề cương.
– Nội dung đồ án có tính thực tế.
– Cần trình bày nội dung đồ án logic hơn.
3. Ý kiến của giảng viên hướng dẫn tốt nghiệp
Đạt
Không đạt
Điểm:………………………………………
Hải Phòng, ngày ..… tháng 01 năm 2019
Giảng viên hướng dẫn
(Ký và ghi rõ họ tên)
QC20-B19
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc
PHIẾU NHẬN XÉT CỦA GIẢNG VIÊN CHẤM PHẢN BIỆN
Họ và tên giảng viên: ……………………………………………………………………………
Đơn vị công tác: …………………………………………………………………………………
Họ và tên sinh viên: ……………………………… Ngành: …………………………………….
Đề tài tốt nghiệp: ………………………………………………………………………………..
……………………………………………………………………………………………………
1. Phần nhận xét của giảng viên chấm phản biện
……………………………………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………………………………….
2. Những mặt còn hạn chế
……………………………………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………………………………….
……………………………………………………………………………………………………………………………………………….
3. Ý kiến của giảng viên chấm phản biện
Được bảo vệ
Không được bảo vệ
Điểm:…………………………….
Hải Phòng, ngày …… tháng 01 năm 2019
Giảng viên chấm phản biện
(Ký và ghi rõ họ tên)
MỤC LỤC
LỜI CẢM ƠN ……………………………………………………………………………………………………1
LỜI MỞ ĐẦU ……………………………………………………………………………………………………2
CHƯƠNG 1: GIỚI THIỆU HỆ ĐIỀU HÀNH ANDROID
………………………………….3
1.1. Giới thiệu hệ điều hành Android
………………………………………………………………….3
1.2. Lịch sử phát triển ………………………………………………………………………………………..3
1.3. Kiến trúc cơ bản của hệ điều hành Android
…………………………………………………6
1.3.1. Nhân Linux …………………………………………………………………………………………….6
1.3.2. Thư viện …………………………………………………………………………………………………6
1.3.3. Thực thi ………………………………………………………………………………………………….7
1.3.4. Nền tảng Android ……………………………………………………………………………………7
1.3.5. Tầng ứng dụng ………………………………………………………………………………………..8
1.4. Giao diện hệ điều hành android …………………………………………………………………..8
1.5.Quá trình phát triển android
………………………………………………………………………..9
1.5.1. Phiên bản Android 1.5
………………………………………………………………………….. 11
1.5.2. Phiên bản Android 1.6
………………………………………………………………………….. 12
1.5.3. Phiên bản Android 2.0 – 2.1
………………………………………………………………….. 13
1.5.4. Phiên bản Android 2.2
………………………………………………………………………….. 14
1.5.5. Phiên bản Android 2.3
………………………………………………………………………….. 16
1.5.6. Phiên bản Android 3.0
………………………………………………………………………….. 17
1.5.7. Phiên bản Android 4.0
………………………………………………………………………….. 18
1.5.8. Phiên bản Android 4.1
………………………………………………………………………….. 19
1.5.9. Phiên bản Android 4.4
………………………………………………………………………….. 21
1.5.10. Phiên bản Android 5.0 – 5.1.1
……………………………………………………………… 22
1.5.11. Phiên bản Android 6.0
………………………………………………………………………… 23
1.5.12. Phiên bản Android 7.0
………………………………………………………………………… 25
1.5.13. Phiên bản Android 8.0 – 8.1
………………………………………………………………… 26
CHƯƠNG 2: MÔI TRƯỜNG PHÁT TRIỂN ỨNG DỤNG ANDROID
STUDIO
…………………………………………………………………………………………………………. 27
2.1. Sơ lược về Android Studio ……………………………………………………………………….. 27
2.1.1. Cài đặt Android Studio
…………………………………………………………………………. 27
2.1.2. Máy ảo Genymotion …………………………………………………………………………….. 31
2.2. Thành phần trong một dự án Android
……………………………………………………… 34
2.3. Thành phần giao diện ………………………………………………………………………………. 35
2.3.1. View Group…………………………………………………………………………………………. 35
2.3.2. View …………………………………………………………………………………………………… 37
2.4. Bắt và xử lý sự kiện trên giao diện
……………………………………………………………. 38
2.5. Thành phần trong ứng dụng Android ………………………………………………………. 40
2.5.1. Vòng đời hoạt động ……………………………………………………………………………… 40
2.5.2. Services ………………………………………………………………………………………………. 41
2.5.3. BroadcastReceiver ……………………………………………………………………………….. 41
2.5.4. Content providers…………………………………………………………………………………. 41
2.6. Một số công cụ để phát triển ứng dụng …………………………………………………….. 41
2.6.1. Giới thiệu về Seekbar …………………………………………………………………………… 41
2.6.2. Giới thiệu về Checkbox
………………………………………………………………………… 44
2.6.3. Giới thiệu về ImageButton ……………………………………………………………………. 45
2.6.4. Giới thiệu về CountDownTimer…………………………………………………………….. 46
CHƯƠNG 3: CHƯƠNG TRÌNH THỰC NGHIỆM
………………………………………… 48
3.1. Phát biểu bài toán…………………………………………………………………………………….. 48
3.2. Sơ đồ chức năng……………………………………………………………………………………….. 48
3.3. Kĩ thuật lập trình Cuộc Đua Kì Thú ………………………………………………………… 48
3.3.1. Tạo màn hình giao diện trò chơi ……………………………………………………………. 49
3.3.2. Tạo menu giao diện chọn màn đua và nhân vật
……………………………………….. 51
3.3.3. Kĩ thuật cho 3 đường đua chạy ngẫu nhiên. ……………………………………………. 54
3.4. Các giao diện chương trình
………………………………………………………………………. 56
3.4.1. Giao diện chính
……………………………………………………………………………………. 56
3.4.2. Giao diện menu chính
…………………………………………………………………………… 56
3.4.3. Giao diện khi chạy đua …………………………………………………………………………. 60
KẾT LUẬN ……………………………………………………………………………………………………. 62
TÀI LIỆU THAM KHẢO ………………………………………………………………………………. 63
Đồ án tốt nghiệp Xây dựng ứng dụng giải trí trên thiết bị di động Android
Sinh viên: Nguyễn Xuân Việt
1
LỜI CẢM ƠN
Em xin gửi lời cảm ơn chân thành nhất đến quý thầy cô Trường Đại Học Dân
Lập Hải Phòng, những người đã dìu dắt em tận tình, đã truyền đạt cho em những
kiến thức và bài học quý báu trong suốt thời gian em theo học tại trường.
Em xin trân trọng gửi lời cảm ơn đến tất cả các thầy cô trong khoa Công
Nghệ Thông Tin, đặc biệt là thầy giáo ThS. Phùng Anh Tuấn, thầy đã tận tình
hướng dẫn và giúp đỡ em trong suốt quá trình làm tốt nghiệp. Với sự chỉ bảo của
thầy, em đã có những định hướng tốt trong việc triển khai và thực hiện các yêu cầu
trong quá trình làm đồ án tốt nghiệp. Em xin chân thành cảm ơn!
Hải Phòng, ngày…..tháng…..năm 2019
Sinh viên
Nguyễn Xuân Việt
Đồ án tốt nghiệp Xây dựng ứng dụng giải trí trên thiết bị di động Android
Sinh viên: Nguyễn Xuân Việt
2
LỜI MỞ ĐẦU
Hiện nay Công nghệ thông tin vô cùng phát triển thì mọi người đều sử dụng
máy vi tính hoặc điện thoại di động để làm việc và giải trí. Do đó việc xây dựng các
ứng dụng cho điện thoại di động đang là một ngành công nghiệp mới đầy tiềm năng
và hứa hẹn nhiều sự phát triển vượt bậc của ngành khoa học kỹ thuật.
Phần mềm, ứng dụng cho điện thoại di động hiện nay rất đa dạng và phong
phú trên các hệ điều hành di động. Các hệ điều hành J2ME, Adroid, IOS, Hybrid,
Web bases Mobile Application đã rất phát triển trên thị trường truyền thông di
động.
Trong vài năm trở lại đây, hệ điều hành Adroid ra đời với sự kế thừa những
ưu việt của các hệ điều hành ra đời trước và sự kết hợp của nhiều công nghệ tiên
tiến nhất hiện nay. Adroid đã nhanh chóng là đối thủ cạnh tranh mạnh mẽ với các hệ
điều hành trước đó và đang là hệ điều hành di động của tương lai và được nhiều
người ưa chuộng nhất.
Ngày nay, với sự phát triển nhanh chóng của xã hội, nhu cầu giải trí thông
qua điện thoại di động ngày càng phổ biến, vì vậy em đã chọn đề tài “Xây dựng
ứng dụng giải trí trên thiết bị di động android” với mục đích nghiên cứu, tìm
hiểu về ứng dụng trên android để có thể đáp ứng nhu cầu giải trí đó, giúp cho mọi
người có thể thư giãn thông qua ứng dụng.
Đồ án tốt nghiệp Xây dựng ứng dụng giải trí trên thiết bị di động Android
Sinh viên: Nguyễn Xuân Việt
3
CHƯƠNG 1: GIỚI THIỆU HỆ ĐIỀU HÀNH ANDROID
1.1. Giới thiệu hệ điều hành Android
Android là một hệ điều hành dựa trên nền tảng Linux[1], đượ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.
Chính mã nguồn mở của Android cùng với tính không ràng buộc nhiều đã cho
phép các nhà phát triển thiết bị di động và các lập trình viên được điều chỉnh và
phân phối Android một cách tự do. Ngoài ra, Android còn có một cộng đồng lập
trình viên đông đảo chuyên viết các ứng dụng để mở rộng chức năng của thiết bị.
Nhờ yếu tố mở, dễ dàng tinh chỉnh cùng sự phát triển nhanh chóng đã khiến hệ
điều hành này dần trở nên phổ biến, kết quả là mặc dù được thiết kế để chạy trên
điện thoại và máy tính bảng nhưng giờ đây Android đã xuất hiện trên các smart TV,
máy chơi game và một số thiết bị điện tử khác.
Android bắt đầu với bản beta đầu tiên vào tháng 11 năm 2007 và phiên bản
thương mại đầu tiên, Android 1.0, được phát hành vào tháng 9 năm 2008. Kể từ
tháng 4 năm 2009, phiên bản Android được phát triển, đặt tên theo chủ đề bánh kẹo
và phát hành theo thứ tự bảng chữ cái: Cupcake, Donut, Eclair, Froyo, Gingerbread,
Honeycomb, Ice Cream Sandwich, Jelly Bean, Kitkat, Lollipop, Marshmallow,
Nougat, và bây giờ là Oreo.
Kỷ nguyên của Android chính thức bắt đầu vào ngày 22 tháng 10 năm 2008, khi
chiếc điện thoại T-Mobile G1 bắt đầu được bán ra tại Mỹ. Vào thời gian đầu, rất
nhiều tính năng cơ bản bị thiếu sót như: bàn phím ảo, cảm ứng đa điểm và tính năng
mua ứng dụng vẫn chưa xuất hiện. Tuy nhiên, một số tính năng cũng như giao diện
đặc sản của hệ điều hành này đã khởi nguồn từ chiếc G1 và trở thành những yếu tố
không thể thiếu trên Android sau này.[1]
1.2. Lịch sử phát triển
Tổng công ty Android (Android, Inc.) được thành lập tại Palo Alto, California
vào tháng 10 năm 2003 bởi Andy Rubin (đồng sáng lập công ty Danger), Rich
Miner (đồng sáng lập Tổng công ty Viễn thông Wildfire), Nick Sears (từng là Phó
Đồ án tốt nghiệp Xây dựng ứng dụng giải trí trên thiết bị di động Android
Sinh viên: Nguyễn Xuân Việt
4
giám đốc T-Mobile), và Chris White (trưởng thiết kế và giao diện tại WebTV) để
phát triển, theo lời của Rubin, “các thiết bị di động thông minh hơn có thể biết được
vị trí và sở thích của người dùng”. Dù những người thành lập và nhân viên đều là
những người có tiếng tăm, Tổng công ty Android hoạt động một cách âm thầm, chỉ
tiết lộ rằng họ đang làm phần mềm dành cho điện thoại di động. Trong năm đó,
Rubin hết kinh phí. Steve Perlman, một người bạn thân của Rubin, mang cho ông
10.000 USD tiền mặt nhưng từ chối tham gia vào công ty.
Google mua lại Tổng công ty Android vào ngày 17 tháng 8 năm 2005, biến nó
thành một bộ phận trực thuộc Google. Những nhân viên của chủ chốt của Tổng
công ty Android, gồm Rubin, Miner và White, vẫn tiếp tục ở lại công ty làm việc
sau thương vụ này. Vào thời điểm đó không có nhiều thông tin về Tổng công ty,
nhưng nhiều người đồn đoán rằng Google dự tính tham gia thị trường điện thoại di
động sau bước đi này. Tại Google, nhóm do Rubin đứng đầu đã phát triển một nền
tảng thiết bị di động phát triển trên nền nhân Linux. Google quảng bá nền tảng này
cho các nhà sản xuất điện thoại và các nhà mạng với lời hứa sẽ cung cấp một hệ
thống uyển chuyển và có khả năng nâng cấp. Google đã liên hệ với hàng loạt hãng
phần cứng cũng như đối tác phần mềm, bắn tin cho các nhà mạng rằng họ sẵn sàng
hợp tác với các cấp độ khác nhau.
Ngày càng nhiều suy đoán rằng Google sẽ tham gia thị trường điện thoại di
động xuất hiện trong tháng 12 năm 2006. Tin tức của BBC và Nhật báo phố Wall
chú thích rằng Google muốn đưa công nghệ tìm kiếm và các ứng dụng của họ vào
điện thoại di động và họ đang nỗ lực làm việc để thực hiện điều này. Các phương
tiện truyền thông truyền thống lẫn online cũng viết về tin đồn rằng Google đang
phát triển một thiết bị cầm tay mang thương hiệu Google. Một vài tờ báo còn nói
rằng trong khi Google vẫn đang thực hiện những bản mô tả kỹ thuật chi tiết, họ đã
trình diễn sản phẩm mẫu cho các nhà sản xuất điện thoại di động và nhà mạng.
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 sáng chế trong lĩnh vực điện thoại di
động.
Ngày 5 tháng 11 năm 2007, Liên minh thiết bị cầm tay mở (Open Handset
Alliance), một hiệp hội bao gồm nhiều công ty trong đó có Texas Instruments, Tập
Đồ án tốt nghiệp Xây dựng ứng dụng giải trí trên thiết bị di động Android
Sinh viên: Nguyễn Xuân Việt
5
đoàn Broadcom, Google, HTC, Intel, LG, Tập đoàn Marvell Technology, Motorola,
Nvidia, Qualcomm, Samsung Electronics, Sprint Nextel và T-Mobile được thành
lập với mục đích phát triển các tiêu chuẩn mở cho thiết bị di động. Cùng ngày,
Android cũng được ra mắt với vai trò là sản phẩm đầu tiên của Liên minh, một nền
tảng thiết bị di động được xây dựng trên nhân Linux phiên bản 2.6. Chiếc điện thoại
chạy Android đầu tiên được bán ra là HTC Dream, phát hành ngày 22 tháng 10 năm
2008. Biểu trưng của hệ điều hành Android mới là một con rôbốt màu xanh lá cây
do hãng thiết kế Irina Blok tại California vẽ.
Từ năm 2008, Android đã trải qua nhiều lần cập nhật để dần dần cải tiến hệ điều
hành, bổ sung các tính năng mới và sửa các lỗi trong những lần phát hành trước.
Mỗi bản nâng cấp được đặt tên lần lượt theo thứ tự bảng chữ cái, theo tên của một
món ăn tráng miệng; ví dụ như phiên bản 1.5 Cupcake (bánh bông lan nhỏ có kem)
tiếp nối bằng phiên bản 1.6 Donut (bánh vòng). Phiên bản mới nhất hiện nay là 5.0
Lollipop. Vào năm 2010, Google ra mắt loạt thiết bị Nexus-một dòng sản phẩm bao
gồm điện thoại thông minh và máy tính bảng chạy hệ điều hành Android, do các đối
tác phần cứng sản xuất. HTC đã hợp tác với Google trong chiếc điện thoại thông
minh Nexus đầu tiên, Nexus One. Kể từ đó nhiều thiết bị mới hơn đã gia nhập vào
dòng sản phẩm này, như điện thoại Nexus 4 và máy tính bảng Nexus 10, lần lượt do
LG và Samsung sản xuất. Google xem điện thoại và máy tính bảng Nexus là những
thiết bị Android chủ lực của mình, với những tính năng phần cứng và phần mềm
mới nhất của Android.
Năm 2014, Google công báo Android Wear, hệ điều hành dành cho các thiết bị
đeo được.[1]
Đồ án tốt nghiệp Xây dựng ứng dụng giải trí trên thiết bị di động Android
Sinh viên: Nguyễn Xuân Việt
6
1.3. Kiến trúc cơ bản của hệ điều hành Android
– Android gồm 5 phần chính sau được chia trong 4 lớp như trong hình 1.3.1
sau đây:
Hình 1.3.1 Kiến trúc hệ điều hành android
1.3.1. Nhân Linux
Android dựa trên Linux phiên bản 2.6 cho hệ thống dịch vụ cốt lõi như
security, memory management, process management, network stack, and driver
model. Kernel Linux hoạt động như một lớp trừu tượng hóa giữa phần cứng và phần
còn lại của phần mềm stack.
1.3.2. Thư viện
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.Điều này được thể hiện thông qua
nền tảng ứng dụng Android. Một số các thư viện cơ bản được liệt kê dưới đây:
Hệ thống thư viện C: một BSD có nguồn gốc từ hệ thống thư viện tiêu
chuẩn C (libc), điều chỉnh để nhúng vào các thiết bị dựa trên Linux.
Thư viện Media: dựa trên PacketVideo’s OpenCORE; các thư viện hỗ trợ
phát lại và ghi âm của âm thanh phổ biến và các định dạng video, cũng như
Đồ án tốt nghiệp Xây dựng ứng dụng giải trí trên thiết bị di động Android
Sinh viên: Nguyễn Xuân Việt
7
các tập tin hình ảnh tĩnh, bao gồm cả MPEG4, H.264, MP3, AAC, AMR,
JPG, PNG.
Bề mặt quản lý : Quản lý việc truy xuất vào hệ thống hiển thị.
LibWebCore: một công cụ trình duyệt web hiện đại mà quyền hạn cả hai
trình duyệt web Android và xem web nhúng.
SGL: Đồ họa 2D cơ bản của máy.
Thư viện 3D: một thực hiện dựa vào OpenGL ES 1.0 APIs; các thư viện sử
dụng phần cứng tăng tốc 3D (nếu có), tối ưu hóa cao rasterizer phần mềm
3D.
FreeType: vẽ phông chữ bitmap và vector.
1.3.3. Thực thi
Android bao gồm một tập hợp các thư viện cơ bản mà cung cấp hầu hết các
chức năng có sẵn trong các thư viện lõi của ngôn ngữ lập trình Java. Tất cả các ứng
dụng Android đều chạy trong tiến trình riêng. Máy ảo Dalvik đã được viết để cho
một thiết bị có thể chạy nhiều máy ảo hiệu quả. Các VM Dalvik thực thi các tập tin
thực thi Dalvik (dex). Định dạng được tối ưu hóa cho bộ nhớ tối thiểu. VM là dựa
trên register – based, và chạy các lớp đã được biên dịch bởi một trình biên dịch Java
để chuyển đổi thành các định dạng dex. Các VM Dalvik dựa vào nhân Linux cho
các chức năng cơ bản như luồng và quản lý bộ nhớ thấp.
1.3.4. Nền tảng Android
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, thêm các thông báo để các thanh
trạng thái, và nhiều, nhiều hơn nữa. Nhà phát triển có thể truy cập vào các API cùng
một khuôn khổ được sử dụng bởi các ứng dụng lõi. Các kiến trúc ứng dụng được
thiết kế để đơn giản hóa việc sử dụng lại các thành phần; bất kỳ ứng dụng có thể
xuất bản khả năng của và ứng dụng nào khác sau đó có thể sử dụng những khả năng
(có thể hạn chế bảo mật được thực thi bởi khuôn khổ). Cơ chế này cho phép các
thành phần tương tự sẽ được thay thế bởi người sử dụng.
Đồ án tốt nghiệp Xây dựng ứng dụng giải trí trên thiết bị di động Android
Sinh viên: Nguyễn Xuân Việt
8
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, linearlayout
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 (chẳng hạn như Contacts) hoặc là 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ư: localized strings, graphics, and layout files.
Notifycation Manager cho phép tất cả các ứng dụng hiển thị các custom
alerts trong status bar. Activity Maanager được dùng để quản lý chu trình
sống của ứng dụng và điều hướng các activity.
1.3.5. Tầng ứng dụng
Tầng ứng dụng (Application) là tầng giao tiếp với người dùng với các thiết bị
Android như Danh bạ, tin nhắn, trò chơi, tiện ích tính toán, trình duyệt… Mọi ứng
dụng viết đều nằm trên tầng này.
1.4. Giao diện hệ điều hành android
Giao diện người dùng của Android dựa trên nguyên tắc tác động trực tiếp, sử
dụng cảm ứng chạm tương tự như những động tác ngoài đời thực như vuốt, chạm,
kéo giãn và thu lại để xử lý các đối tượng trên màn hình. Sự phản ứng với tác động
của người dùng diễn ra gần như ngay lập tức, nhằm tạo ra giao diện cảm ứng mượt
mà, thường dùng tính năng rung của thiết bị để tạo phản hồi rung cho người dùng.
Những thiết bị phần cứng bên trong như gia tốc kế, con quay hồi chuyển và cảm
biến khoảng cách được một số ứng dụng sử dụng để phản hồi một số hành động
khác của người dùng, ví dụ như điều chỉnh màn hình từ chế độ hiển thị dọc sang chế
độ hiển thị ngang tùy theo vị trí của thiết bị, hoặc cho phép người dùng lái xe đua
bằng xoay thiết bị, giống như đang điều khiển vô-lăng.
Các thiết bị Android sau khi khởi động sẽ hiển thị màn hình chính, điểm khởi
đầu với các thông tin chính trên thiết bị, tương tự như khái niệm desktop (bàn làm
việc) trên máy tính để bàn. Màn hính chính Android thường gồm nhiều biểu tượng
(icon) và tiện ích (widget); biểu tượng ứng dụng sẽ mở ứng dụng tương ứng, còn
Đồ án tốt nghiệp Xây dựng ứng dụng giải trí trên thiết bị di động Android
Sinh viên: Nguyễn Xuân Việt
9
tiện ích hiển thị những nội dung sống động, cập nhật tự động như dự báo thời tiết,
hộp thư của người dùng, hoặc những mẩu tin thời sự ngay trên màn hình
chính. Màn hình chính có thể gồm nhiều trang xem được bằng cách vuốt ra trước
hoặc sau, mặc dù giao diện màn hình chính của Android có thể tùy chỉnh ở mức
cao, cho phép người dùng tự do sắp đặt hình dáng cũng như hành vi của thiết bị
theo sở thích. Những ứng dụng do các hãng thứ ba có trên Google Play và các kho
ứng dụng khác còn cho phép người dùng thay đổi “chủ đề” của màn hình chính,
thậm chí bắt chước hình dáng của hệ điều hành khác như Windows Phone chẳng
hạn. Phần lớn những nhà sản xuất, và một số nhà mạng, thực hiện thay đổi hình
dáng và hành vi của các thiết bị Android của họ để phân biệt với các hãng cạnh
tranh.
Ở phía trên cùng màn hình là thanh trạng thái, hiển thị thông tin về thiết bị và
tình trạng kết nối. Thanh trạng thái này có thể “kéo” xuống để xem màn hình thông
báo gồm thông tin quan trọng hoặc cập nhật của các ứng dụng, như email hay tin
nhắn SMS mới nhận, mà không làm gián đoạn hoặc khiến người dùng cảm thấy bất
tiện. Trong các phiên bản đời đầu, người dùng có thể nhấn vào thông báo để mở ra
ứng dụng tương ứng, về sau này các thông tin cập nhật được bổ sung thêm tính
năng, như có khả năng lập tức gọi ngược lại khi có cuộc gọi nhỡ mà không cần phải
mở ứng dụng gọi điện ra. Thông báo sẽ luôn nằm đó cho đến khi người dùng đã đọc
hoặc xóa nó đi.
1.5.Quá trình phát triển android
Dường như ở thời điểm hiện tại, nếu phải trả lời câu hỏi rằng đâu là nền tảng
xuất hiện nhiều nhất trên các thiết bị từ di động đến Desktop, thì gần như toàn bộ
câu trả lời đều sẽ hướng tới một cái tên duy nhất – Android. Sự đa dạng của
Android là một điều không thể bàn cãi, khi nó không chỉ dừng lại ở sự phổ cập cho
smartphone hay tablet, mà giờ đây, từ Smart TV, tới xe hơi, hay đồng hồ thông
minh… chúng ta đều thấy sự có mặt của nền tảng này để nó có thể giao tiếp một
cách trực tiếp với người dùng của mình.
Dù vậy, để đạt được một thị phần ấn tượng như vậy, Android đã phải trải qua
các thăng trầm trong suốt lich sử phát triển của mình từ những ngày đầu tiên còn ấp
ủ như một dự án nền tảng di động từ những năm 2003. Và với sự ra mắt của phiên
Đồ án tốt nghiệp Xây dựng ứng dụng giải trí trên thiết bị di động Android
Sinh viên: Nguyễn Xuân Việt
10
bản Android 7.0 Nougat trong thời gian gần đây, chúng ta có thể nhìn qua các bước
phát triển của Android thông qua từng phiên bản phát triển tính năng từ Android 1.0
đến nay.
Android và thời điểm trước khi phân phối ra phiên bản thương mại chính
thức như hình 1.5.1 dưới đây:
Hình 1.5.1. Thời điểm ban đầu của android
Vào tháng 10 năm 2003, Android Inc, khi đó được biết đến như là một công
ty công nghệ được thành lập bởi Andy Rubin, Rich Miner, Nick Sears và Chris
White. Theo Andy Rubin cho biết, mục tiêu của Android Inc lúc bấy giờ không
giống như những gì ở thời điểm hiện tại khi mà các nhà sáng lập lúc đó hướng tới
việc tạo ra một nền tảng cao cấp nhưng cho các máy ảnh kĩ thuật số, và biến chúng
thành một thiết bị thông minh hơn trong việc nhận ra vị trí hiện tại của người dùng.
Tuy nhiên, chỉ trong một thời gian ngắn không lâu sau đó, các mục tiêu này
nhanh chóng nhận ra được trở ngại về thị phần khi mà thị trường máy ảnh không
chiếm một số lượng đủ lớn để biến nền tảng này thành một công cụ tiềm năng, và
cũng chính vì lí do đó, mà Android Inc ngay lập tức hướng sự chú ý của họ vào thị
trường béo bở hơn ở mảng smartphone đang lên như diều gặp gió ngay cả khi mà
Symbian và Windows Mobile là những nền tảng lớn đã thống trị từ lâu khi nhắc đến
điều này.
Đồ án tốt nghiệp Xây dựng ứng dụng giải trí trên thiết bị di động Android
Sinh viên: Nguyễn Xuân Việt
11
Ngay cả khi có sự định hướng rõ ràng như vậy, thì với bản thân không hề có
một sự vững chãi trong khả năng phát triển, cũng như các vấn đề liên quan đến các
nhà tài trợ và nguồn vốn rót vào đã đẩy đến thương vụ mua lại hoàn toàn Android
Inc với không khách hàng không ai khác chính là Google vào thời điểm 17/8/2005
với phần lớn đội ngũ phát triển ban đầu của công ty này vẫn được giữ nguyên để
tiếp tục công việc trước đó của họ. Sau đó, Android hoạt động như một đội trong số
các đội khác nhau của Google dưới sự dẫn dắt của Andy Rubin bắt đầu phát triển
một nền tảng mới với phần nhân từ Linux giống như điều họ làm đến thời điểm hiện
tại. Và biểu tượng chú robot màu xanh tượng trưng cho Android được thiết kế bởi
Irina Blok, và nó gắn liền với nền tảng này từ phiên bản thử nghiệm đầu tiên phát
hành vào 5/11/2007.
1.5.1. Phiên bản Android 1.5
Hình 1.5.1.1 Phiên bản Android 1.5
Android 1.5 Cupcake là phiên bản nâng cấp tiếp theo trong hệ sinh thái
Android được ra mắt vào ngày 27/4/2009, và đây đồng thời là phiên bản gây sự chú
ý nhiều nhất khi nó gần như là bản Android đầu tiên mang tên mã của một món
bánh tráng miệng, một trong những đặc trưng cơ bản làm nên thương hiệu của hệ
sinh thái dành cho thiết bị di động này. Kể từ đó, các phiên bản Android khác sau
Đồ án tốt nghiệp Xây dựng ứng dụng giải trí trên thiết bị di động Android
Sinh viên: Nguyễn Xuân Việt
12
này đều được có một tên mã được xây dựng dựa trên các quy luật được đặt ra bởi
trụ sở chính của Google đặt tại Mountain View, California.
Với sự ra mắt của Android 1.5 Cupcake, thì đã có rất nhiều những tính năng
mới mẻ khác được đội ngũ phát triển của Google mang vào cho nền tảng của họ, mà
không thể nào bỏ qua hệ thống widget được xem như là một phiên bản thu nhỏ của
ứng dụng để người dùng có thể tương tác và xử lí ngay trên chính màn hình chính
của thiết bị mà không cần phải mở chúng lên. Bên cạnh đó, Android 1.5 Cupcake
cũng được bổ sung thêm khả năng xử lí các video định dạng MPEG-4 khá phổ biến
tại thời điểm bấy giờ, khả năng tự động kết nối thông qua chuẩn Bluetooth, phát âm
thanh chuẩn Stereo, cũng như cho phép người dùng sử dụng hình ảnh để thêm vào
trong các số liên lạc yêu thích của mình. [2]
1.5.2. Phiên bản Android 1.6
Hình 1.5.2.1. Phiên bản Android 1.6
Chỉ trong vòng chưa đầy 5 tháng sau khi phiên bản Android 1.5 được đưa
đến tay người dùng, thì vào ngày 15/9/2009, Google một lần nữa tung ra bản nâng
cấp Android 1.6 Donut với khả năng hỗ trợ hiển thị nội dung một cách tốt hơn các
Đồ án tốt nghiệp Xây dựng ứng dụng giải trí trên thiết bị di động Android
Sinh viên: Nguyễn Xuân Việt
13
thiết bị với màn hình độ phân giải tiêu chuẩn WVGA (780 x 480 pixels), cũng như
các ứng dụng về Gallery và Camera được tích hợp sâu hơn vào trong nền tảng nhằm
mang lại một trải nghiệm tốt hơn trong việc chụp và xem chúng với tốc độ nhanh
hơn và dễ dàng hơn trước.
Khả năng tìm kiếm bằng kí tự và giọng nói cũng có sự cải tiến trong hệ
thống Bookmarks, History, Contacts và nội dung từ Internet, cũng như cho phép đội
ngũ phát triển ứng dụng từ nhiều bên có thể thêm các nội dung của họ vào trong các
kết quả tìm kiếm được trả về. Điều đó đồng nghĩa với việc Android 1.6 Donut mang
đến một cảm giác tốt hơn trong sự gắn kết giữa các bên phát triển nên hệ sinh thái
này, ngay cả khi đó là từ Google hay một bên thứ 3 nào khác[2].
1.5.3. Phiên bản Android 2.0 – 2.1
Hình 1.5.3.1. Phiên bản Android 2.0 – 2.1
Ngày 26/10/2009 đón nhận phiên bản phân phối thứ 3 của hệ điều hành
Android được ra mắt trong cùng một năm với tên mã Android 2.0 Éclair. Và so với
các phiên bản từng được ra mắt trước đây, Android 2.0 Éclair thực sự là một bước
nhảy vô cùng lớn của nền tảng này trong việc bổ sung hàng loạt những tính năng vô
cùng quan trọng, mà điển hình là khả năng hỗ trợ hệ thống thư điện tử Microsoft
Đồ án tốt nghiệp Xây dựng ứng dụng giải trí trên thiết bị di động Android
Sinh viên: Nguyễn Xuân Việt
14
Exchange, bên cạnh việc nâng cấp các thuật toán tìm kiếm để người dùng có thể tìm
ra được chính xác thư điện tử mà họ cần giữa nhiều tài khoản khác nhau được hiển
thị chung trong cùng một hộp thư đến.
Các tính năng nhắn tin kí tự cũng được cải thiện với việc người dùng giờ đây
cũng có thể tìm kiếm được các nội dung được lưu trong SMS và MMS, hay tốc độ
nhập dữ liệu được nâng cao hơn thông qua sự cải tiến của hệ thống bàn phím ảo trên
màn hình cảm ứng.
Hệ thống camera cũng mang đến nhiều sự hỗ trợ, mà quan trọng là việc cho
phép tích hợp thêm sự có mặt của đèn flash, hay chế độ phóng to kĩ thuật số, các
hiệu ứng màu và chế độ chụp Macro.
Sau đó, các phiên bản Android 2.0.1 được ra mắt vào 3/9/2009 và Android
2.1 ra mắt vào 12/1/2010 là những phiên bản hướng đến sự cải tiến các tính năng
vốn có trên Android 2.0 Éclair và sửa các lỗi hiện có trên nền tảng này theo các bản
báo cáo từ phía người dùng của mình[2].
1.5.4. Phiên bản Android 2.2
Hinh 1.5.4.1. Phiên bản Android 2.2
Android 2.2 Froyo chính thức được cập bến các thiết bị di động vào ngày
20/5/2010. Và không giống như nhiều người lầm tưởng, Froyo không hề là một đồ
chơi cho trẻ em, mà thay vào đó, Froyo là cụm từ viết tắt của “Frozen Yoghurt”, có
Đồ án tốt nghiệp Xây dựng ứng dụng giải trí trên thiết bị di động Android
Sinh viên: Nguyễn Xuân Việt
15
nghĩa là sữa chua đã trong trường hợp nhiều người thắc mắc là tại sao mà Google
không tuân theo quy luật đặt tên cho Android mà họ đã đề ra trước đây.
Phiên bản nâng cấp này hướng đến sự cải thiện lớn trong tốc độ và hiệu năng
của toàn bộ hệ thống các thiết bị mà nền tảng này được cài đặt. Các tính năng trong
sự liên kết dữ liệu thông qua cổng USB và chế độ Wi-Fi Hotspot cũng chính thức
được bổ sung lên các thiết bị di động để biến đây trở thành một trong những bản
Android nhận được nhiều sự đón nhận từ phía người dùng của hãng ở thời điểm lúc
bấy giờ.
Với Android 2.2 Froyo, các nhà phát triển cũng mang đến cho người dùng sự
hạn chế khả năng tải về của người dùng nếu như họ đang sử dụng các kết nối thiết
bị di động được cung cấp bởi các nhà mạng, và đó là một trong những tính năng vô
cùng quan trọng trong việc giảm thiểu cước di động hằng tháng nếu chẳng may họ
đang kết nối 3G và thiết bị đang tải bản cập nhật ứng dụng nào đó. Cũng như bên
cạnh đó, các vấn đề bảo mật cũng được quan tâm đến nhiều hơn để mang đến một
hệ thống mật khẩu bao gồm cả kí tự và số để mở khóa các nội dung lưu trữ trên
thiết bị.
Kho ứng dụng Android Market lúc bấy giờ cũng cải thiện khả năng tương tác
với các nhóm ứng dụng được cài đặt, cũng như cải thiện khả năng tự động nâng cấp
lên các phiên bản mới hơn trong trường hợp nó sẵn sàng để người dùng tải về, cũng
như tự động hỗ trợ các thiết bị có mật độ điểm ảnh cao nhằm mang đến một chất
lượng hình ảnh tốt hơn trong trải nghiệm.
Với những tính năng của mình, Android Froyo là một trong số các phiên bản
vẫn còn được sử dụng nhiều đến thời điểm ngày nay trên các thiết bị có cấu hình
thấp, ngay cả khi thị phần của nó thực sự thấp khi chỉ chiếm đến 0.1%, và Google
cũng có những động thái chấm dứt sự hỗ trợ phiên bản này trong một thời gian dài
trước đó để bắt buộc người dùng lên các phiên bản cao hơn, nhưng nó không thực
sự hiệu quả.[2]
Đồ án tốt nghiệp Xây dựng ứng dụng giải trí trên thiết bị di động Android
Sinh viên: Nguyễn Xuân Việt
16
1.5.5. Phiên bản Android 2.3
Hình 1.5.5.1. Phiên bản Android 2.3
Android 2.3 Gingerbread được biết đến như một trong số phiên bản thành
công nhất của hệ sinh thái Android được phát hành chính thức vào thời điểm
6/12/2010, với một sự nâng cấp mạnh mẽ trong giao diện người dùng mà chú trọng
nhất là tính dễ dàng trong các thao tác sử dụng và tốc độ tương tác với khả năng
giảm thiểu tối đa thao tác cảm ứng cần thực hiện. Bàn phím ảo trên màn hình cũng
được làm lại để mang đến một cảm quan tốt hơn trong cách thức nhập dữ liệu của
người dùng và độ chính xác cũng được cải thiện tốt hơn.
Công nghệ kết nối gần (Near Field Communication – NFC) cũng lần đầu tiên
được giới thiệu khả năng hỗ trợ kể từ phiên bản Android 2.3 Gingerbread trở đi,
cùng với trình quản lý tải về Download Manager cho phép người dùng có thể tiến
trình của các tập tin từ mạng Internet hay Email giờ đây dễ dàng hơn bao giờ hết.
Sự bổ sung khả năng hỗ trợ các dòng cảm biến la bàn số, phong vũ biểu và
nhiều loại khác mở ra một tương lai nâng cấp về tính năng tốt hơn trên các ứng
dụng phục vụ cho nền tảng, mà trong đó, chủ yếu nhất vẫn là theo dõi vị trí của
người dùng, khả năng di chuyển và các hoạt động của họ đối với thiết bị di động
đang sử dụng. [2]