Trong suốt thời gian học tập nhất là trong quá trình thực tập, em đã nhận được rất nhiều sự quan tâm giúp đỡ nhiệt tình của các thầy cô, bạn bè và gia đình.. Đầu tiên em xin gửi lời cảm
Trang 1LỜI CẢM ƠN
Trên thực tế không có sự thành công nào mà không gắn liền với những sự giúp đỡ mọi người dù ít hay nhiều, dù trực tiếp hay gián tiếp Trong suốt thời gian học tập nhất là trong quá trình thực tập, em đã nhận được rất nhiều sự quan tâm giúp đỡ nhiệt tình của các thầy cô, bạn bè và gia đình
Đầu tiên em xin gửi lời cảm ơn sâu sắc đến thầy Nguyễn Long Giang, đã trực tiếp hướng dẫn và giúp đỡ em rất nhiều trong thời gian em thực tập tại đơn vị
Em cũng xin gửi lời cảm ơn đến các thầy cô trong Khoa Công nghệ thông tin, Trường Đại học Tài nguyên và Môi trường nơi em đang học đã nhiệt tình giúp đỡ tạo điều kiện và là cầu nối giữa Nhà trường với đơn vị em thực tập
Vì thời gian, điều kiện còn có hạn, em đã cố gắng rất nhiều để hoàn thành đợt thực tập tốt nghiệp, nhưng vẫn còn nhiều hạn chế và không thể tránh khỏi những thiếu sót, mong thầy cô và các bạn có những ý kiến đóng góp để em có thể hoàn thiện và phát triển đề tài hơn
Em xin chân thành cảm ơn!
Hà Nội,ngày 06 tháng 03 năm 2017
Sinh viên thực hiện
Nguyễn Thị Thúy Hường
TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
XÂY DỰNG ỨNG DỤNG HỌC BẢNG CHỮ CÁI CHO TRẺ EM TRÊN HỆ ĐIỀU HÀNH ANDROID
Hà Nội, năm 2017
Trang 2LỜI CẢM ƠN
Trên thực tế không có sự thành công nào mà không gắn liền với những
sự giúp đỡ mọi người dù ít hay nhiều, dù trực tiếp hay gián tiếp Trong suốt thời gian học tập nhất là trong quá trình thực tập, em đã nhận được rất nhiều
sự quan tâm giúp đỡ nhiệt tình của các thầy cô, bạn bè và gia đình
Đầu tiên em xin gửi lời cảm ơn sâu sắc đến thầy Nguyễn Long Giang, đã trực tiếp hướng dẫn và giúp đỡ em rất nhiều trong thời gian em thực tập tại đơn vị
Em cũng xin gửi lời cảm ơn đến các thầy cô trong Khoa Công nghệ thông tin, Trường Đại học Tài nguyên và Môi trường nơi em đang học đã nhiệt tình giúp đỡ tạo điều kiện và là cầu nối giữa Nhà trường với đơn vị em thực tập
Vì thời gian, điều kiện còn có hạn, em đã cố gắng rất nhiều để hoàn
thành đợt thực tập tốt nghiệp, nhưng vẫn còn nhiều hạn chế và không thể tránh khỏi những thiếu sót, mong thầy cô và các bạn có những ý kiến đóng góp để em có thể hoàn thiện và phát triển đề tài hơn
Em xin chân thành cảm ơn!
Hà Nội,ngày 06 tháng 03 năm 2017 Sinh viên thực hiện
Nguyễn Thị Thúy Hường
TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
NGUYỄN THỊ THÚY HƯỜNG
XÂY DỰNG ỨNG DỤNG HỌC BẢNG CHỮ CÁI CHO TRẺ EM
TRÊN HỆ ĐIỀU HÀNH ANDROID
Chuyên nghành: Công nghệ thông tin
Mã nghành: D480201
NGƯỜI HƯỚNG DẪN: THS.PHÍ THỊ HẢI YẾN
Hà Nội, năm 2017
Hà Nội ,tháng 3 năm 2015
Trang 3LỜI CAM ĐOAN
Những nội dung trong đồ án tốt nghiệp này là thành quả từ sự nghiên cứu và được thực hiện dưới sự trực tiếp hướng dẫn của giảng viên hướng dẫn ThS Phí Thị Hải Yến
Đồ án được thực hiện hoàn toàn mới, là thành quả của riêng em, toàn
bộ nội dung của đồ án do em tự học tập, nghiên cứu trên Internet, sách báo, các tài liệu trong và ngoài nước có liên quan Không sao chép theo bất cứ đồ
án tương tự nào Mọi sự tham khảo sử dụng trong đồ án đều được trích dẫn các nguồn tài liệu trong báo cáo và danh mục tài liệu tham khảo
Mọi sao chép không hợp lệ, vi phạm quy chế của nhà trường, em xin hoàn toàn chịu trách nhiệm
Sinh viên thực hiện
Nguyễn Thị Thúy Hường
Trang 4LỜI CẢM ƠN
Trên thực tế không có sự thành công nào mà không gắn liền với những sự giúp
đỡ mọi người dù ít hay nhiều, dù trực tiếp hay gián tiếp Trong suốt thời gian học tập nhất là trong quá trình làm đồ án, em đã nhận được rất nhiều sự quan tâm giúp đỡ nhiệt tình của các thầy cô, bạn bè và gia đình
Đầu tiên em xin gửi lời cảm ơn sâu sắc đến cô Phí Thị Hải Yến, cô đã trực tiếp hướng dẫn và giúp đỡ em rất nhiều trong thời gian em thực hiện đồ
án này
Em cũng xin gửi lời cảm ơn các thầy cô giáo trong Khoa đã nhiệt tình giúp đỡ và tạo điều kiện cho em trong thời gian học tập và hoàn thiện đồ án Cuối cùng, em xin gửi lời cảm ơn chân thành tới gia đình và bạn bè đã luôn giúp đỡ, động viên và tạo điều kiện tốt nhất cho em trong suốt quá trình học tập cũng như trong cuộc sống
Do kiến thức còn hạn chế, bài báo cáo của em không tránh khỏi những sai sót Rất mong nhận được những lời góp ý từ quý Thầy cô để đồ án tốt nghiệp của em được hoàn thiện và giúp em có thêm những kinh nghiệm quý báu
Cuối cùng, em xin kính chúc các thầy cô giảng viên trường Đại học Tài nguyên và Môi trường Hà Nội nói chung, các thầy cô khoa công nghệ thông tin nói riêng dồi dào sức khỏe và thành công trong sự nghiệp cao quý
Em xin chân thành cảm ơn!
Trang 5MỤC LỤC
LỜI CAM ĐOAN
LỜI CẢM ƠN
DANH MỤC VIẾT TẮT
DANH MỤC HÌNH ẢNH
DANH MỤC BẢNG
MỞ ĐẦU 1
1.Lý do chọn đề tài 1
2.Đối tượng, phạm vi và phương pháp thực hiện 2
2.1.Đối tượng và phạm vi 2
2.2 Mục tiêu của đề tài 2
2.3.Nội dung của chuyên đề 2
2.4.Phương pháp thực hiện 2
CHƯƠNG 1: TỔNG QUAN VỀ HỆ ĐIỀU HÀNH ANDROID 3
1.1.Giới thiệu về HĐH Android 3
1.1.1.Khái Niệm 3
1.1.2.Lịch sử của Android 4
1.1.3.Giao diện 5
1.2.Tính năng mở của hệ điều hành Android 6
1.3.Kiến trúc của hệ điều hành Android 7
1.3.1.Tầng hạt nhân Linux 7
1.3.2.Tầng Libraries & Android runtime 8
1.3.3.Tầng Application Framework 9
1.3.4.Tầng Application 10
1.4.Các thành phần của một ứng dụng Android 12
1.4.1.Activity 12
Trang 61.4.2.Service 15
1.4.3.Content Provider 17
1.4.4.Intent 18
1.5.Các thành phần giao diện trong Android 19
1.5.1.View 19
1.5.2.ViewGroup 20
1.5.3 LinearLayout 20
1.5.4.FrameLayout 21
1.5.5.AbsoluteLayout 21
1.5.6.RelativeLayout 21
1.5.7.TableLayout 22
1.5.8.Button 23
1.6.Môi trường lập trình Android Studio 23
1.6.1.Tạo một Project trong Android Studio 24
1.6.2.Cấu trúc một Project trong Android Studio: 29
1.6.3.Quy trình thực thi một phần mềm lên thiết bị (thật, emulator) trong Android Studio 32
1.7.So sánh giữa các hệ điều hành 33
1.7.1.So sánh giưã hệ điều hành di động và hệ điều hành trên desktop 33 1.7.2.So sánh giữa hệ điều hành Android với các hệ điều hành di động khác 34
1.8.Ngôn ngữ lập trình Java và hệ quản trị CSDL Sqlite 35
1.8.1.Ngôn ngữ lập trình Java 35
1.8.2.Hệ quản trị CSDL Sqlite 36
CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 40
2.1 Khảo sát hệ thống 40
2.2 Phân tích chức năng 42
Trang 72.2.1 Yêu cầu chức năng 42
2.2.2 Yêu cầu phi chức năng 42
2.3.Các tác nhân và ca sử dụng của ứng dụng 43
2.3.1.Tác nhân 43
2.3.2.Ca sử dụng 43
2.4.Các biểu đồ Usecase 45
2.4.1.Biểu đồ Usecase tổng quát 45
2.4.2.Sơ đồ Usecase phân rã chức năng học chữ cái 46
2.4.3.Sơ đồ Usecase phân rã chức năng Nhận diện chữ cái bằng hình ảnh và cách phát âm tên con vật 46
2.4.4.Sơ đồ Usecase phân rã chức năng Trò chơi 47
2.5.Biểu đồ tuần tự 48
2.5.1.Biểu đồ tuần tự mô tả chức năng học chữ cái 48
2.5.2.Biểu đồ tuần tự mô tả chức năng nhận diện chữ cái bằng hình ảnh và cách phát âm tên con vật 49
2.5.3.Biểu đồ tuần tự mô tả chức năng trò chơi 50
2.6 Biểu đồ hoạt động 51
2.6.1.Biểu đồ hoạt động mô tả chức năng học chữ cái 51
2.6.2.Biểu đồ hoạt động mô tả chức năng nhận diện chữ cái bằng hình ảnh và cách phát âm tên con vật 51
2.6.3.Biểu đồ hoạt động mô tả chức năng trò chơi 52
2.7.Thiết kế cơ sở dữ liệu 52
CHƯƠNG 3: XÂY DỰNG ỨNG DỤNG HỌC BẢNG CHỮ CÁI CHO TRẺ EM TRÊN HỆ ĐIỀU HÀNH ANDROID 53
3.1 Cài đặt và triển khai ứng dụng 53
3.1.1 Cài đặt ứng dụng trên máy ảo genymotion 53
3.2 Chương trình ứng dụng 59
Trang 83.2.1 Các chức năng chính của chương trình 59
3.2.2 Giao diện của ứng dụng 60
KẾT LUẬN VÀ KIẾN NGHỊ 64
TÀI LIỆU THAM KHẢO 65
Trang 9DANH MỤC VIẾT TẮT
package
Bộ cài đặt ứng dụng trên
hệ điều hành Android
Kit
Bộ công cụ phát triển phần mềm
Language
Ngôn Ngữ đánh dấu mở
rộng IDE Integrated Development
Environment
Phần mềm cung cấp cho các lập trình viên một môi trường tích hợp
Trang 10DANH MỤC HÌNH ẢNH
Hình 1.1 Màn hình chính Android 6.0 Marshmallow 4
Hình 1.2: Tầng kiến trúc của hệ điều hành Android 7
Hình 1.3: Code trong AndroidManifest 13
Hình 1.4: Vòng đời của một activity 14
Hình 1.5: Sơ đồ chuyển trạng thái của service 16
Hình 1.6: Truyền dữ liệu giữa hai Activity 18
Hình 1.7: Các thuộc tính của intent 19
Hình 1.8: Cấu trúc một giao diện ứng dụng Android 20
Hình 1.9: Bố trí các widget sử dụng LinearLayout 20
Hình 1.10: Bố trí các widget sử dụng FrameLayout 21
Hình 1.11: Bố trí các widget sử dụng RelativeLayout 22
Hình 1.12: Bố trí các widget sử dụng TableLayout 23
Hình 1.13: Giao diện ban đầu của Android Studio 24
Hình 1.14: Giao diện khi tạo ra một project mới của Android Studio 25
Hình 1.15: Chọn API cho project 26
Hình 1.16: Chọn giao diện Activity khi làm việc 26
Hình 1.17: Đặt tên cho Activy 27
Hình 1.18: Build Project 28
Hình 1.19: Build project hoàn thành 28
Hình 1.20: Vùng 1 cấu trúc hệ thống thông tin của ứng dụng 29
Hình 1.21: Hiển thị các Control mà Android hỗ trợ 30
Hình 1.22: Giao diện thiết bị 30
Hình 1.23: Hiển thị cấu trúc cây trong Android Studio 31
Hình 1.24: Giao diện thiết lập trạng thái hay thuộc tính cho các control 32
Hình 1.25: Ngôn ngữ lập trình java 35
Hình 2.1: Sơ đồ Usecase tổng quát 45
Trang 11Hình 2.2: Sơ đồ Usecase phân rã chức năng học chữ cái 46
Hình 2.3: Sơ đồ Usecase phân rã chức năng nhận diện chữ cái bằng hình ảnh và cách phát âm tên con vật 46
Hình 2.4: Sơ đồ Usecase phân rã chức năng Trò chơi 47
Hình 2.5: Biểu đồ tuần tự mô tả chức năng học chữ cái 48
Hình 2.6: Biểu đồ tuần tự mô tả chức năng nhận diện chữ cái bằng hình ảnh và cách phát âm tên con vật 49
Hình 2.7: Biểu đồ tuần tự mô tả chức năng trò chơi 50
Hình 2.8: Biểu đồ hoạt động mô tả chức năng học chữ cái 51
Hình 2.9: Biểu đồ hoạt động mô tả chức năng nhận diện chữ cái bằng hình ảnh và cách phát âm tên con vật 51
Hình 2.10: Biểu đồ hoạt động mô tả chức năng trò chơi 52
Hình 2.11: Bảng cơ sở dữ liệu 52
Hình 3.1: Cài đặt máy ảo Genymotion 54
Hình 3.2: Cài đặt máy ảo Genymotion 54
Hình 3.3: Cài đặt máy ảo Genymotion 55
Hình 3.4: Cài đặt máy ảo Genymotion 55
Hình 3.5: Cài đặt máy ảo Genymotion 56
Hình 3.6: Cài đặt máy ảo Genymotion 56
Hình 3.7: Giao diện máy ảo Genymotion 57
Hình 3.8: Kết nối chương trình với máy ảo Genymotion 58
Hình 3.9: Kết nối chương trình với máy ảo Genymotion 59
Hình 3.10: Giao diện chính của ứng dụng 60
Hình 3.11: Giao diện chức năng học bảng chữ cái 60
Hình 3.12: Hình ảnh chữ cái khi được nhấn vào 61
Hình 3.13: Hình ảnh chữ cái khi được nhấn vào 61
Hình 3.14: Giao diện chức năng học chữ cái bằng hình ảnh 62
Trang 12Hình 3.15: Hình ảnh chữ cái khi được nhấn vào 62 Hình 3.16: Giao diện chức năng trò chơi 63