Môn học Phát triển ứng dụng cho thiết bị di động. Android là nền tảng di động phổ biến nhất. Nội dung báo cáo gồm: Giới thiệu nền tảng Android Phát biểu bài toán Phân tích thiết kế hệ thống Cài đặt cà kiểm thử ứng dụng Đồ án, đồ án môn học, bài tập lớn, project.
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á
KHOA CÔNG NGHỆ THÔNG TIN
GIÁO VIÊN HƯỚNG DẪN : TRẦN XUÂN THANH
Bắc Ninh, ngày 21 tháng 10 năm 2021
Năm học 2020 – 2021
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á
KHOA CÔNG NGHỆ THÔNG TIN
số
Bằng chữ
1 187480201087 Trương
Thị Trinh
6/11/2000
(Kí và ghi rõ họ tên) ( Kí và ghi rõ họ tên)
Bắc Ninh, ngày 21 tháng 10 năm 2021
Trang 3BẢNG PHÂN CÔNG CÔNG VIỆC
Trang 4LỜI MỞ ĐẦU
Cùng với sự phát triển như vũ bão của công nghệ số là sự phát triển vượt trội của hàng loạt các loại thiết bị mobile Với chức năng liên lạc gần như thiết yếu đối với cuộc sống của con người thì mobile đã được phổ biến trong xã hội Ngoài ra thiết
bị mobile còn có thêm nhiều chức năng nhằm hỗ trợ người dùng trong cuộc sống Nó
có thể là một công cụ làm việc như một chiếc máy tính mini, có thể là công cụ giải trí, học tập…
Cùng với sự bùng nổ của smartphone hiện nay, và sự phát triển của các hệ điều hành dành cho điện thoại, điển hình là Android và iOS đã tạo nên một thị trường đa dạng cho xu hướng về các ứng dụng học tập phát triển mạnh mẽ Thay vì học trên máy tính thì ngày nay xu thế người dùng chuyển dịch sang mobile đang tăng cao và khá mạnh
mẽ nhờ ưu điểm tiện lợi và nhanh
Bởi những ứng dụng học tập trên mobile sẽ gọn nhẹ hơn, dễ dùng và thuận tiện hơn
so với trên máy tính Chúng ta có thể sử dụng và học tập mọi lúc, mọi nơi, phù hợp với nhu cầu tranh thủ của cu hướng ngày nay Một ứng dụng về học tiếng anh cho trẻ
em mẫu giáo là cần thiế và đang là xu hướng trên thị trường ứng dụng mobile
Nhận thấy tầm quan trọng đó, nhóm em đã quyết định tìm hiểu và thực hiện về đề tài:
“Phát triển ứng dụng học tiếng anh cho trẻ” Trong đề tài, nhóm sẽ trình bày về việc
thiết kế ứng dụng trên Android Studio và demo ứng dụng đó
Trang 5MỤC LỤC
LỜI MỞ ĐẦU 4
DANH MỤC HÌNH ẢNH 7
MỞ ĐẦU 8
1 Mục đích và yêu cầu của đề tài: 8
2 Đối tượng nghiên cứu 8
3 Phạm vi nghiên cứu 8
4 Phương pháp nghiên cứu 8
5 Bố cục đề tài 8
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 9
1.1 Tổng quan về Android 9
1.1.1 Tầng hạt nhân Linux: 10
1.1.2 Tầng hạt nhân Library: 10
1.1.3 Android runtime: 11
1.1.4 Tầng Application Framework: 11
1.1.5 Tầng Application: 12
1.2 Tổng quan Android Studio 12
1.2.1 Khái niệm 12
1.2.2 Mục đích: 12
1.2.3 Tính năng: 13
CHƯƠNG 2: XÂY DỰNG ỨNG DỤNG 14
2.1 Thiết kế ứng dụng 14
2.1.1 Tạo và cấu hình game 15
2.1.2 Hình ảnh trong game: 19
2.1.3 Cách biên dịch ra file APK trong Android Studio: 20
2.2 Quy luật của game 21
2.2.1 Giới thiệu ứng dụng: 21
2.2.2 Quy luật game: 21
CHƯƠNG 3: CÀI ĐẶT ỨNG DỤNG 24
Trang 63.1 Project: 24
3.2 CODE 25
3.2.1 Avtivity_main.xml 25
3.2.2 MainActivity.java 27
3.2.3 Answer.java 30
3.2.4 Question.java 30
3.3 Kết quả 31
3.3.1 Link sản phẩm trên Amazon Appstore: 31
3.3.2 Link chạy demo sản phẩm: 31
3.4 Ưu và nhược điểm: 32
3.4.1 Ưu điểm: 32
3.4.2 Nhược điểm: 32
TÀI LIỆU THAM KHẢO 33
Trang 7DANH MỤC HÌNH ẢNH
Hình 1 1 Tầng kiến trúc Android 9
Hình 2 1 Giao diện của game 15
Hình 2 2 Tạo Project 16
Hình 2 3 Tạo Class 17
Hình 2 4 Tên các Class 18
Hình 2 5 Tên các Class(tiếp) 18
Hình 2 6 Thêm thư mục ảnh 19
Hình 2 7 Ảnh và vị trí lưu ảnh 19
Hình 2 8 Biên dịch file APK 20
Hình 2 9 Giao diện bắt đầu game 21
Hình 2 10 Giao diện các chủ đề 22
Hình 2 11 Quy luật trò chơi 23
Hình 3 1 Avtivity_main.xml 26
Hình 3 2 MainActivity.java 29
Trang 8MỞ ĐẦU
1 Mục đích và yêu cầu của đề tài:
Xây dựng ứng dụng nhằm giúp trẻ em được học tiếng anh tiện lợi và tốt hơn Ứng dụng hiển thị các chức năng cơ bản và thông tin đầy đủ
2 Đối tượng nghiên cứu
Ứng dụng phù hợp với trẻ em lứa tuổi 1-5 tuổi
4 Phương pháp nghiên cứu
Phương pháp nghiên cứu lý thuyết: tiến hành thu nhập các tài liệu, thông tin liên quan tới đề tài
Khảo sát thực tế
Xây dựng chướng trình theo mục tiêu đề ra
Phân tích, thiết kế chương trình phù hợp
Trang 9CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
1.1 Tổng quan về 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 Android, Inc 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 Vào năm 2007 android
ra mắt 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 Tháng 10 năm 2008, chiếc điện thoại đầu tiên chạy Android được đưa vào thị trường tiêu dùng
Kiến trúc hệ điều hành Android gồm có 4 tầng từ dưới lên là tầng hạt nhân Linux, tầng Libraries & Android runtime, tầng Application Framework và tầng Application
Hình 1 1 Tầng kiến trúc Android
Trang 101.1.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 phiê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ớ (memory management), giao tiếp với phần cứng (driver model), thực hiện bảo mật (security), quản lý tiến trình (process)
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ế 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ề 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
- 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
- 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
Trang 11dụng khác có thể nhúng vào Nó cực kỳ mạnh, hỗ trợ được nhiều công nghệ cao 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.1.3 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 bằng 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à chạy bằng máy ảo Dalvik do Google phát triển
1.1.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 lợi ích:
- 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ì vậy nên tuy chung nền tàng Android mà điện thoại của Google có thể khác với Samsung, T-Mobile, HTC, Motorola, …
- 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
Một số thành phần của phần này:
- Activity Manager: quản lý các chu kỳ sống của một ứng dùng cuungx như cung cấp công cụ điều khiển Activity
- Telephony Manager: cung cấp công cụ để thực hiện liên lạc như gọi điện thoại
- XMPP Service: cung cấp công cụ để liên lạc trong thời gian thực
- Location Manager: cho phép xác định vị trí điện thoại dựa vào hệ thống định vị toàn cầu GPS và Google Maps
- Window Manager: quản lý việc xây dựng và hiển thị các giao diện người dùng cũng như tổ chức quản lý các giao diện giữa các ứng dụng
- …
Trang 121.1.5 Tầng Application:
Đây là tầng ứng dụng giao tiếp với người 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 gmail, quay phim chụp ảnh,…
- Các ứng dụng cài thêm như các trò chơi, từ điển, các phần mềm học tiếng anh Các chương trình có đặc điểm là:
- Viết bằng ngôn ngữ Java có phần mở rộng là APK
- Khi mỗi ứng dụng được chạy, nó có một phiên bản Virtual Machine đượ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 chạy cùng một lúc, tuy nhiên với mỗi ứng dụng thì có duy nhất một thực thể (instance) được phép chạy mà thôi Đ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 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 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.2 Tổng quan Android Studio
1.2.1 Khái niệm
Android Studio là một trong những môi trường phát triển dạng tích hợp dành cho nền tảng Android với các chức năng chính như: Thiết kế các giao diện cho người dùng, thực hiện thay đổi sản phẩm trong thời gian thực,…
Bởi vì đây là một phần mềm hoàn toàn miễn phí nên bạn có thể tải về cũng như cho phép bạn có thể triển khai code thành một ứng dụng trên Android vô cùng dễ dàng
1.2.2 Mục đích:
Android Studio được tạo nên với mục đích chính là để thay thế các phiên bản của plugin android được dùng cho Eclipse thời trước với sự hợp tác của Google và JetBrains
Trang 13Chức năng quan trọng nhất của Android Studio là cung cấp giao diện giúp người sử dụng có thể tạo được các ứng dụng và xử lý được các công cụ có file phức tạp sau hậu trường Java là ngôn ngữ lập trình được Android Studio sử dụng và được cài sẵn trên các thiết bị
1.2.3 Tính năng:
Vì những đặc điểm đặc trưng về cấu tạo của Android Studio nên trong quá trình soạn thảo mã và công cụ phát triển mạnh mẽ của IntelliJ thì Android Studio sẽ cung cấp những tính năng đã được nâng cao để làm tăng hiệu suất của bạn trong việc xây dựng ứng dụng Android
Ví dụ tiêu biểu như
- Khi bạn muốn một môi trường hợp nhất nơi để có thể phát triển cho tất cả các thiết
bị AndroidInstant Run Nhằm đẩy các thay đổi vào ứng dụng đang hoạt động mà không cần phải xây dựng một APK mới
- Các mẫu mã và sự tích hợp với GitHub sẽ giúp bạn xây dựng tốt những tính năng ứng dụng phổ biến nhất và khi nhập mã của các mẫu
- Các công cụ và khuôn khổ thử nghiệm giúp mở rộng Lint công cụ nhằm nâng cao hiệu suất và khả năng sử dụng để tương thích với các phiên bản
- Một hệ thống để xây dựng Gradle linh hoạt
- Trình mô phỏng nhanh với các tính năng phong phú
Trang 14CHƯƠNG 2: XÂY DỰNG ỨNG DỤNG
2.1 Thiết kế ứng dụng
Ý tưởng thiết kế:
Theo tình hình của Thế giới nói chung và Việt Nam nói riêng, tiếng anh bây giờ
đã là ngôn ngữ chung của toàn cầu Đã là ngôn ngữ chung thì gần như tất cả mọi người đều nên học và phải học không phân biệt già trẻ gái trai hay giai cấp Như mọi người đã thấy, hiện nay các gia đình ở Việt Nam đã cho con em mình học tiếng anh
từ khi còn rất bé vì hiểu được tầm quan trọng của nó Trẻ em là lứa tuổi rất nhạy cảm trong vấn đề học hỏi và nhận thức, vì chúng chưa hiểu được tầm quan trọng của việc học nên phải tạo hứng thú học cho trẻ bằng cách sử dụng các hình ảnh, màu sắc, âm thanh sinh động để tạo cảm giác thú vị cho trẻ Lấy ví dụ từ cá nhân em thì từ bé đã không được làm quen với tiếng anh sớm nên sau này rất khó học và cảm giác hứng thú với tiếng anh gần như bằng không Vì tầm quan trọng và thiết yếu của tiếng anh trong xã hội ngày nay, nhóm em đã lên ý tưởng xây dựng một app học tiếng anh đơn giản cho trẻ App của chúng em chủ yếu đưa ra các hình ảnh quen thuộc xung quanh trẻ giúp trẻ nhận biết được những thứ đó là gì để từ đó cho trẻ dần dần làm quen với tiếng anh để cho trẻ có hứng thú học tiếng anh hơn
Trang 152.1.1 Tạo và cấu hình game
- Tạo Backgroud giao diện của game:
Sử dụng Photoshop để thiết kế
Hình 2 1 Giao diện của game
Trang 17
Lần lượt tạo các Class cần sử dụng hoặc có thể làm lần lượt khi nào cần thêm Class thì có thể tạo sau và lưu vào vị trí thư mục thích hợp: Nhấn phải chuột vào thư mục "Layout" và chọn: New > Activity > Empty Activity
Hình 2 3 Tạo Class Tại đây nhập tên Class: gridviewActivity rồi chọn Finish
Trang 18Dưới đây là các Class nhóm mình sử dụng:
Hình 2 4 Tên các Class
Trang 192.1.2 Hình ảnh trong game:
Vào file lưu ảnh > Coppy tất cả các ảnh cần sử dụng > bấm phải chuột vào Class ic_launcher_backgroud.xml của thư mục drawable > Paste > Ok:
Hình 2 6 Thêm thư mục ảnh
Dưới đây là một số ảnh game của chúng mình sử dụng:
Hình 2 7 Ảnh và vị trí lưu ảnh
Trang 202.1.3 Cách biên dịch ra file APK trong Android Studio:
Click vào Build → Build bundle(s) / APK(s) → Build APK(s)
Hình 2 8 Biên dịch file APK
Sau khi build xong sẽ có một hộp thoại thông báo như sau:
Click vào locate để xem vị trí file apk sau khi Build
Trang 212.2 Quy luật của game
2.2.1 Giới thiệu ứng dụng:
“Học tiếng anh cùng trẻ” là ứng dụng giúp bé học tiếng Anh miễn phí, từ vựng được phân loại thành nhiều chủ đề đa dạng như động vật, màu sắc, động vật, cơ thể, quần áo, buôn bán,… giúp trẻ không bị nhàm chán trong lúc học từ vựng Người dùng có thể hoạt động mà không cần mạng Phần mềm phù hợp với lứa tuổi mầm non và trước tiểu học từ 1-6 tuổi
2.2.2 Quy luật game:
- Trên giao diện của game hãy click vào Start:
Hình 2 9 Giao diện bắt đầu game
Trang 22- Tiếp tục chọn chủ đề mà bạn muốn học:
Hình 2 10 Giao diện các chủ đề
- Khi bắt đầu trò chơi, bạn sẽ đọc câu hỏi và đưa ra câu hỏi của mình bằng việc bấm chọn vào ô có đáp án mình lựa chọn
Trang 23Hình 2 11 Quy luật trò chơi
Khi bạn click vào đáp án của câu hỏi thì một giây sau game sẽ thống báo câu trả lời của bạn đúng hay chưa
Nếu bạn trả lời đúng thì sẽ qua câu hỏi tiếp theo cho tới câu cuối cùng
sẽ thông báo you win
Nếu bạn trả lời sai thì sẽ đưa ra câu trả lời đúng và đưa ra thông báo game over và trò chơi sẽ kết thúc luôn