MỞ ĐẦU 1. TÍNH CẤP THIẾT CỦA ĐỀ TÀI Ngành Công nghệ thông tin (CNTT) trong thập kỷ qua đã có những bước phát triển mạnh mẽ và nhanh chóng trên thế giới cũng như trong nước. Công nghệ thông tin đã góp phần cho sự phát triển kinh tế của nước ta trong thời kỳ hội nhập và đổi mới. Công nghệ thông tin đang được sử dụng hầu hết trong tất cả các ngành nghề hiện nay, giúp cải thiện tốc độ và chất lượng, nâng cao hiệu suất trong công việc.
Việc ứng dụng công nghệ thông tin giúp con người tự học thông qua công nghệ ngày càng trở nên hiệu quả và nâng cao hiệu suất học tập của người học một cách nhanh chóng và hiệu quả. Tuy nhiên, nước ta đang trong thời kỳ hội nhập và đổi mới, việc học tiếng Anh là một điều cần thiết đối với người dân Việt Nam. Việc học từ vựng tiếng Anh tốn nhiều thời gian và phải được ôn, luyện hàng ngày mà smartphone hiện nay được sử dụng rộng rãi. Vì vậy, nhóm chúng em đã nghiên cứu và phát triển đề tài “Xây dựng ứng dụng hỗ trợ học từ vựng tiếng anh trên Android” với mong muốn giúp việc học từ vựng của người dân được trở nên thuận tiện, dễ dàng tiếp thu và có thể trau dồi kiến thức tiếng Anh mỗi ngày để nâng cao kiến thức về tiếng Anh một cách nhanh chóng và chính xác.
MỤC ĐÍCH CỦA ĐỀ TÀI 2. Mục đích về công nghệ - Tìm hiểu về quá trình phát triển ứng dụng trên Android. - Tìm hiểu về SQLite. Mục đích về ứng dụng - Xây dựng một ứng dụng “hỗ trợ học từ vựng tiếng anh trên Android” với một giao diện thân thiện, sinh động, sử dụng dễ dàng để giúp người học có hứng thú học tập và được học một cách dễ dàng để trau dồi thêm kiến thức từ vựng của mình.
CÁCH TIẾP CẬN VÀ PHƯƠNG PHÁP NGHIÊN CỨU - Tìm hiểu cách xây dựng một ứng dụng Android bằng ngôn ngữ lập trình Java. - Tìm hiểu về cơ sở dữ liệu SQLite, công cụ Xamarin Test Cloud. - Tìm hiểu những ứng dụng học tiếng anh trên Android có liên quan. 10 do an KHÓA LUẬN TỐT NGHIỆP 4.
PHÂN TÍCH NHỮNG ỨNG DỤNG CÓ LIÊN QUAN Bảng 1. Bảng phân tích những ứng dụng liên quan Ứng dụng Duolingo 3000 từ vựng tiếng anh 6000 từ vựng thông dụng thông dụng Nghe từ Có Có Có Nghĩa của từ Có Có Có Phiên âm Không Có Có Hình ảnh minh họa Có Không Có Chọn từ yêu thích Không Có Có Tìm kiếm từ Không Có Không Từ theo chủ đề Có Có Có Đăng nhập Có Không Không Câu ví dụ minh họa Có Không không sử dụng từ Kiểm tra từ đã học Có Có Có 5. KẾT QUẢ DỰ KIẾN ĐẠT ĐƯỢC - Hoàn thành ứng dụng đúng tiến độ. - Ứng dụng có đầy đủ chức năng đã đề ra.
- Ứng dụng đạt được những yêu cầu đã đề ra. 11 do an KHÓA LUẬN TỐT NGHIỆP CƠ SỞ LÝ THUYẾT 1. GIỚI THIỆU VỀ HỆ ĐIỀU HÀNH ANDROID 1. Giới thiệu 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 chính thức được Google mua lại vào năm 2005 và tiếp tục phát triển Android trở thành một nền tảng hiệu quả hơn. 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 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. Android chính thức xuất hiện trên thị trường lần đầu tiên vào ngày 22 tháng 10 năm 2008 với sự ra mắt của chiếc điện thoại HTC Dream. Giới thiệu về những phiên bản của hệ điều hành Android Lịch sử phiên bản của hệ điều hành di động Android bắt đầu với bản Android beta vào tháng 11 2007.
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. Android đang được phát triển bởi Google và Open Handset Alliance (OHA), và đã có một số bản cập nhật cho hệ điều hành này kể từ khi ra mắt. Bảng các phiên bản của hệ điều hành Android Tên mã Số phiên bản Ngày phát hành Cấp API 1 23 - 09 - 2008 1 No codename 1.6 22 – 02 – 2011 11 – 13 Ice Cream Sandwich 4.4 18 – 10 – 2011 14 – 15 12 do an KHÓA LUẬN TỐT NGHIỆP Jelly Bean 4. Lý thuyết về hệ điều hành Android Lập trình Android hiện nay đang thực hiện trên nền Java, ngoài ra cần bộ công cụ phát triển ứng dụng Android SDK để bắt đầu học lập trình Android.
Có rất nhiều các công cụ cho phép tiến hành lập trình Android như Android Studio, Eclipse, NetBean… Ở trong đề tài này,nhóm sinh viên làm việc với Android Studio để lập trình Android. Do các công cụ để phát triển chương trình càng ngày càng được cập nhật mới và dễ dàng tìm thấy trên các công cụ tìm kiếm hiện nay nên nhóm sinh viên sẽ không trực tiếp đề cập tới quá trình cài đặt các công cụ này. Các thành phần chính của 1 ứng dụng Android: - Activity: hiểu một cách đơn giản thì Activity là nền của 1 ứng dụng. Khi khởi động 1 ứng dụng Android nào đó thì bao giờ cũng có 1 main Activity được gọi, hiển thị màn hình giao diện của ứng dụng cho phép người dùng tương tác.
- Service: thành phần chạy ẩn trong Android. Service sử dụng để update dữ liệu, đưa ra các cảnh báo (Notification) và không bao giờ hiển thị cho người dùng thấy. - Content Provider: kho dữ liệu chia sẻ. Content Provider được sử dụng để quản lý và chia sẻ dữ liệu giữa các ứng dụng.
13 do an KHÓA LUẬN TỐT NGHIỆP - Intent: nền tảng để truyền tải các thông báo. Intent được sử dụng để gửi các thông báo đi nhằm khởi tạo 1 Activity hay Service để thực hiện công việc bạn mong muốn. - Broadcast Receiver: thành phần thu nhận các Intent bên ngoài gửi tới. - Notification: đưa ra các cảnh báo mà không làm cho các Activity phải ngừng hoạt động.
- Activity, Service, Broadcast Receiver và Content Provider mới là những thành phần chính cấu thành nên ứng dụng Android, bắt buộc phải khai báo trong AndroidManifest. Ưu điểm và nhược điểm của hệ điều hành Android 1. Ưu điểm - Là hệ điều hành có mã nguồn mở nên khả năng tuỳ biến cao, có thể tùy ý chỉnh sửa mà không có sự can thiệp hay cấm cản từ Google. - Đa dạng sản phẩm, rất nhiều hãng điện thoại, thiết bị công nghệ đã ưu ái chọn Android cho thiết bị của họ, giá cả thì hợp lý từ bình dân đến cao cấp.
- Kho ứng dụng Google Play Store đồ sộ. - Thân thiện và dễ sử dụng. - Khả năng đa nhiệm, chạy cùng lúc nhiều ứng dụng cao. Nhược điểm - Dễ nhiễm phần mềm độc hại và virus.
Do tính chất mã nguồn mở, nhiều phần mềm không được kiểm soát có chất lượng không tốt hoặc lỗi bảo mật vẫn được sử dụng. - Kho ứng dụng quá nhiều dẫn đến khó kiểm soát chất lượng, thiếu các ứng dụng thật sự tốt. - Sự phân mảnh lớn. Trong khi một số thiết bị Android xuất sắc đã trình làng như Galaxy S5, Galaxy Note 4, Xperia Z3…, vẫn còn rất nhiều sản phẩm giá rẻ bình thường khác.
- Cập nhật không tự động với tất cả thiết bị. Khi một phiên bản hệ điều hành mới ra mắt, không phải tất cả sản phẩm đều được cập nhật, thậm chí nếu muốn trải nghiệm bạn thường xuyên phải mua mới thiết bị. 14 do an KHÓA LUẬN TỐT NGHIỆP 1. Thực trạng hiện nay của hệ điều hành Android Thông qua bảng so sánh thiết bị sử dụng Android qua các năm 2016 và 2017 dưới đây, ta thấy thị phần của Android là lớn nhất và không ngừng tăng.
Điều đó chứng tỏ sức cạnh tranh của hệ điều hành Android là rất lớn và hứa hẹn nhiều triển vọng trong tương lai. Bảng thị phần Adroid năm 2016 và năm 2017 Operating 2016 Market 2017 Market 2016 Units 2017 Units System Share (%) Share (%) Android 1,268,567. GIỚI THIỆU VỀ SQLITE 1. Giới thiệu về SQLite SQLite là một hệ quản trị cơ sở dữ liệu quan hệ, khác với các hệ quản trị CSDL khác nó không cần client–server database engine (một dịch vụ, ứng dụng cài đặt đầy đủ thông qua nó kết nối, tương tác với các CSDL), nó được nhúng vào rất nhiều chương trình khác nhau, từ desktop, mobile đến website.
Hầu hết ngôn ngữ lập trình có các thư viện hỗ trợ kết nối, truy vấn đến SQLite như: PHP, C, Java, C#, JavaScript. Nó được nhúng vào các trình duyệt, vào các hệ thống nhúng, hệ điều hành như Android, IOS. đều đã nhúng mặc định. Vì SQLite không cần client–server database engine nên có thể hiểu file CSDL đã tích hợp mọi thứ, sử dụng ngay mà không cần phải cài đặt thêm thứ gì.
SQLite tương thích với chuẩn SQL. Các chức năng chính của SQLite - Không cần cài đặt: SQLite không cần phải cài đặt, chỉ cần có file database là SQLite có thể hoạt động như bình thường. - Không cần máy chủ: như đã nói ở trên, do không cần cài đặt, SQLite cũng không cần máy chủ như SQL server hay mySQL, không có các phương thức xác 15 do an KHÓA LUẬN TỐT NGHIỆP thực, cũng như các cổng liên lạc TCP/IP, tất cả các ứng dụng đều có thể truy cập vào SQLite. - Chỉ 1 file chứa database: database của SQLite có thể được đặt ở bất cứ đâu trong bộ nhớ thiết bị.
Các công cụ cơ sở dữ liệu SQL khác có xu hướng lưu trữ dữ liệu dưới dạng một tập hợp lớn các tệp. Thông thường các tệp này nằm ở một vị trí tiêu chuẩn mà chỉ có chính công cụ cơ sở dữ liệu có thể truy cập. Điều này làm cho dữ liệu an toàn hơn, nhưng cũng làm cho nó khó truy cập hơn. Một số công cụ cơ sở dữ liệu SQL cung cấp tùy chọn ghi trực tiếp vào đĩa và bỏ qua tất cả các hệ thống tệp cùng nhau.
Điều này cung cấp hiệu suất bổ sung, nhưng với chi phí thiết lập và bảo trì phức tạp đáng kể. - Database ổn định và chạy đa nền tảng: Hầu hết các công cụ cơ sở dữ liệu SQL khác yêu cầu bạn kết xuất và khôi phục cơ sở dữ liệu khi chuyển từ nền tảng này sang nền tảng khác và thường khi nâng cấp lên phiên bản phần mềm mới hơn. Nhưng với SQLite bạn chỉ cần 1 file data, bạn có thể chạy trên bất cứ nền tảng nào từ x86, x64, linux, .