Xây dựng ứng dụng ôn luyện tiếng anh trên hệ điều hành android

68 868 0
Xây dựng ứng dụng ôn luyện tiếng anh trên hệ điều hành android

Đ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

LỜI CẢM ƠN Sau thời gian tìm hiểu đề tài “Xây dựng ứng dụng ôn luyện tiếng anh hệ điều hành Android”, em hoàn thành tiến độ dự kiến Để đạt kết này, em nỗ lực thực đồng thời nhận nhiều giúp đỡ, quan tâm, ủng hộ thầy cô bạn bè gia đình Em xin chân thành cảm ơn giáo viên hướng dẫn: Th.S Lê Nam Huy – Bộ môn Công nghệ phần mềm – Trường Đại học Công nghệ thông tin truyền thông – Đại học Thái Nguyên tận tình hướng dẫn sát em trình làm đồ án tốt nghiệp Trong thời gian làm việc với thầy, em không ngừng tiếp thu thêm nhiều kiến thức bổ ích mà học tập tinh thần làm việc, thái độ nghiên cứu khoa học nghiêm túc, hiệu quả, điều cần thiết cho em trình học tập công việc sau Em xin chân thành cảm ơn thầy cô ban lãnh đạo trường Đại học Công nghệ thông tin truyền thông – Đại học Thái Nguyên nhiệt tình giảng dạy truyền đạt kiến thức quý báu bổ ích suốt trình em học tập trường Và cuối xin gửi lời cảm ơn chân thành tới gia đình, bạn bè động viên, đóng góp ý kiến giúp đỡ trình học tâp, thời gian nghiên cứu hoàn thành đồ án tốt nghiệp Thái Nguyên, ngày tháng năm 2016 Sinh viên thực Phạm Thị Kiều Trang LỜI CAM ĐOAN Em xin cam đoan kết đạt đồ án tốt nghiệp sản phẩm riêng cá nhân em, không chép lại người khác Trong toàn nội dung đồ án điều trình bày cá nhân em tổng hợp từ nhiều nguồn tham khảo mà em chắt lọc để lấy thông tin cần thiết bổ ích phục vụ cho đồ án Tất tài liệu tham khảo có xuất xứ rõ ràng trích dẫn hợp pháp Mọi chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, em xin chịu hoàn toàn trách nhiệm Thái Nguyên, ngày tháng năm 2016 Sinh viên thực Phạm Thị Kiều Trang MỤC LỤC LỜI CẢM ƠN .1 LỜI CAM ĐOAN MỤC LỤC DANH MỤC BẢNG BIỂU LỜI NÓI ĐẦU CHƯƠNG I: CƠ SỞ LÝ THUYẾT 11 1.1 Giới thiệu hệ điều hành di động Android 11 1.1.1 Android SDK gì? 11 1.1.2 Lịch sử android 11 1.1.3 Máy ảo Dalvik 12 1.1.4 Các phiên hệ điều hành Android 13 1.2 Kiến trúc android 17 1.2.1 Tầng ứng dụng 17 1.2.2 Application framework 17 1.2.3 Library .18 1.2.4 Android Runtime 19 1.2.5 Linux kernel .19 1.3 Android emulator 19 1.4 Các thành phần android project .20 1.4.1 AndroidManifest.xml .20 1.4.2 File R.java 21 1.5 Chu kỳ ứng dụng android 21 1.5.1 Chu kỳ sống thành phần 22 1.5.2 Activity Stack 22 1.5.3 Các trạng thái chu kỳ sống 23 1.5.4 Chu kỳ sống ứng dụng .23 1.5.5 Các kiện chu kỳ sống ứng dụng 23 1.5.6 Các phương thức chu kỳ sống 24 1.6 Các thành phần Android 25 1.6.1 Thành phần chương trình Android 25 1.6.2 Các thành phần giao diện Widget 30 1.6.3 Bắt kiện Android .31 1.6.4 Menu 32 1.7 Hệ quản trị CSDL SQLite 32 1.7.1 Giới thiệu SQLite 32 1.7.2 Các bước thực 34 1.7.3 Sử dụng CSDL 36 CHƯƠNG II: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG .37 2.1 Khảo sát hệ thống 37 2.1.1 Các ứng dụng có 37 2.1.2 Đề xuất ứng dụng .37 2.2 Phân tích yêu cầu đề tài 37 2.2.1 Tóm tắt yêu cầu .37 2.2.2 Nội dung 37 2.2.3 Mục tiêu 38 2.3 Phân tích chương tình 38 2.3.1 Biểu đồ Use Case .39 2.3.2 Biểu đồ trình tự biểu đồ cộng tác 44 2.3.3 Biểu đồ lớp .52 2.3.4 Thiết kế sở liệu .53 CHƯƠNG III: XÂY DỰNG CHƯƠNG TRÌNH .55 3.1 Xây dựng ứng dụng android 55 3.1.1 Cấu trúc tổ chức dự án 55 3.1.2 Một số thư viện sử dụng dự án .55 3.1.3 Cài đặt số lớp tiện ích .56 3.2 Giao diện chương trình 60 3.2.1 Giao diện chức tra từ offline 61 3.2.2 Giao diện chức lưu từ vựng ưa thích 62 3.2.3 Giao diện chức tra từ online .62 3.2.4 Giao diện chức học theo cụm từ .63 3.2.5 Giao diện chức lưu lịch sử tra từ 63 3.2.6 Giao diện chức app liên kết 64 3.2.7 Giao diện chức thiết lập cài đặt 64 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 66 TÀI LIỆU THAM KHẢO 67 NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN .68 DANH MỤC HÌNH ẢNH Hình 1-1: Android timeline 11 Hình 1-2: Logo phiên hệ điều hành Android 13 Hình 1-3: Biểu tượng Robot Android 15 Hình 1-4: Cấu trúc stack hệ thống Android 17 Hình 1-5: Chu kỳ sống thành phần 22 Hình 1-6: Chu kỳ sống Activity 22 Hình 1-7: Phương thức 24 Hình 1-8: Vòng đời Activity 27 Hình 1-9: Qúa trình truyền liệu Activity 28 Hình 1-10: Chu kỳ sống Service 29 Hình 2-1 : Biểu đồ Use Case tổng quan .39 Hình 2-2: Biểu đồ Use Case mô tả chức tra từ offline 40 Hình 2-3: Biểu đồ Use Case mô tả chức lưu từ ưa thích 40 Hình 2-4: Biểu đồ Use Case mô tả chức tra từ online .41 Hình 2-5: Biểu đồ Use Case mô tả chức học cụm từ vựng 42 Hình 2-6: Biểu đồ Use Case mô tả chức lưu lịch sử tra từ 42 Hình 2-7: Biểu đồ Use Case mô tả chức liên kết app 43 Hình 2-8: Biểu đồ Use Case mô tả chức thiết lập cài đặt 44 Hình 2-9: Biểu đồ trình tự use case tải toàn liệu máy 44 Hình 2-10: Biểu đồ cộng tác mô chức tải toàn liệu máy 45 Hình 2-11: Biểu đồ mô tả chức tra từ offline 45 Hình 2-12: Biểu đồ cộng tác mô chức tra từ offline 46 Hình 2-13: Biểu đồ mô tả chức lưu từ ưa thích 46 Hình 2-14: Biểu đồ cộng tác mô tả chức lưu từ ưa thích 47 Hình 2-15: Biểu đồ mô tả chức tra từ online 47 Hình 2-16: Biểu đồ cộng tác mô tả chức tra từ online 48 Hình 2-17: Biểu đồ mô tả chức học cụm từ vựng 48 Hình 2-18: Biểu đồ cộng tác mô tả chức học cụm từ vựng 49 Hình 2-19: Biểu đồ mô tả chức lưu lịch sử tra từ 49 Hình 2-20: Biểu đồ cộng tác mô tả chức lưu lịch sử tra từ .50 Hình 2-21: Biểu đồ mô tả chức liên kết app 50 Hình 2-22: Biểu đồ cộng tác mô tả chức liên kết app 51 Hình 2-23: Biểu đồ mô tả chức thiết lập cài đặt 51 Hình 2-24: Biểu đồ cộng tác mô tả chức thiết lập cài đặt 52 Hình 2-25: Biểu đồ lớp chương trình 52 Hình 3-1: Giao diện hình Splash 60 Hình 3-2: Giao diện 60 Hình 3-3: Giao diện Search .64 Hình 3-4: Giao diện nội dung chi tiết .61 Hình 3-5: Giao diện nội dung chi tiết .64 Hình 3-6: Giao diện Your Words .62 Hình 3-7: Giao diện Quick Translate 62 Hình 3-8: Giao diện Category 63 Hình 3-9: Giao diện Phrase 63 Hình 3-10: Giao diện Recent Words 63 Hình 3-11: Giao diện nội dung chi tiết .63 Hình 3-12: Giao diện Learn More 64 Hình 3-13: Giao diện nội dung chi tiết .64 Hình 3-14: Giao diện Settin .64 Hình 3-15: Giao diện Delete All 64 Hình 3-16: Giao diện Tell Friends .65 Hình 3-17: Giao diện Feedback 65 Hình 3-18: Giao diện Rating app .65 Hình 3-19: Giao diện About 65 DANH MỤC BẢNG BIỂU Bảng : Mô tả luồng xử lý use case tổng quát 39 Bảng 2:Mô tả luồng xử lý chức tra từ offline 40 Bảng 3: Mô tả luồng xử lý chức lưu trữ từ vựng ưa thích .41 Bảng 4: Mô tả luồng xử lý chức tra từ online 41 Bảng 5: Mô tả luồng xử lý chức học cụm từ vựng 42 Bảng 6: Mô tả luồng xử lý chức lưu lịch sử tra từ 43 Bảng 7: Mô tả luồng xử lý chức liên kết app 43 Bảng 8: Mô tả luồng xử lý chức thiết lập cài đặt .44 Bảng 9: Chi tiết trường bảng anh_viet 53 Bảng 10: Chi tiết trường bảng favorite 53 Bảng 11: Chi tiết trường bảng category 53 Bảng 12: Chi tiết trường bảng phrase 54 LỜI NÓI ĐẦU Trong vài năm trở lại đây, phát triển hệ điều hành Android có bước phát triển mạnh mẽ chiếm thị phần hệ điều hành di động lớn toàn cầu Do có lợi xây dựng theo tiêu chí mở sử bảo trợ tập đoàn Google nên việc phát triển ứng dụng Android cho dễ dàng Do tính mở hệ điều hành nên có nhiều sản phẩm đa dạng chủng loại, kích thước hình, độ phân giải Điều gây khó khăn cho lập trình viên Vì để xây dựng ứng dụng có khả tương thích nhiều thiết bị hiển thị tốt loại hình có kích thước khác cần áp dụng tốt kỹ thuật trong gói hỗ trợ mà Android SDK cung cấp sử dụng dịch vụ Google trình phát triển ứng dụng Dựa thực tế thói quen người sử dụng thiết bị di động điện thoại di động, máy tính bảng để lướt internet, mạng xã hội, học Tiếng anh, đọc sách, truyện… lúc nơi, kể lúc di chuyển Xu hướng học sử dụng công cụ hỗ trợ học ôn luyên Tiếng anh online dần ưa chuộng thay phải mua sách in để tiết kiệm chi phí Dựa vào tảng công nghệ kiến thức học với nhu cầu thực tế việc học Tiếng anh Việt Nam nên em chọn đề tài “Xây dựng ứng dụng ôn luyện tiếng anh hệ điều hành Android” cho đồ tốt nghiệp Với mong muồn xây dựng ứng dụng tốt áp dụng kỹ thuật vào ứng dụng Qua trình tìm hiểu xây dựng ứng dụng em củng cố nhiều kiến thức lập trình tìm hiểu thêm vấn đề nâng cao lập trình ứng dụng Android Fragment, ActionBar, Slide Menu, Mutil Thread, Mutil Screen… Bài báo cáo đồ án tốt nghiệp chia làm chương với nội dung chương sau: Chương 1: Cơ sở lý thuyết: nêu lên khái niệm bản, tính hệ điều hành Android xu phát triển ứng dụng, số kỹ thuật nâng cao sử dụng phát triển ứng dụng ôn luyện Tiếng anh Chương 2: Phân tích thiết kế hệ thống: Phân tích yêu cầu chức phi chức năng, thiết kế tổng quan chi tiết chức ứng dụng Chương 3: Thiết kế chương trình: Mô hình cấu trúc, bố cục thành phần dự án, cài đặt chương trình mobile Do thời gian thực nhiều nên ứng dụng chưa hoàn thiện đẩy đủ chức tiềm ẩn số lỗi trình sử dụng Rất mong nhận phản hồi đóng góp ý kiến từ thầy cô giáo bạn sinh viên Thái Nguyên, tháng năm 2016 Sinh viên Phạm Thị Kiều Trang 10  Bảng phrase (Phrase) Bảng 12: Chi tiết trường bảng phrase Tên trường Kiểu liệu Mô tả srcphrase varchar(50) dstphrase varchar(50) Dịch nghĩa cateid integer Id category unsignvietnamese text(300) alphabetid integer Cụm từ theo chủ đề (primary key indentity) Unsignvietnamese Cụm từ theo alphabet 54 CHƯƠNG III: XÂY DỰNG CHƯƠNG TRÌNH 3.1 Xây dựng ứng dụng android 3.1.1 Cấu trúc tổ chức dự án Cũng tương tự cấu trúc dự án android gồm thành phần thư mục src chứa gói mã nguồn java ứng dụng, thư mục res chứa tài nguyên ứng dụng tập tin giao diện xml, ảnh tài nguyên ứng dụng, thư mục gen chứa chương trình build ứng dung, thư mục lib chưá thư viện sử dụng ứng dụng file AndroidManifest.xml khai báo thành phần ứng dụng Cấu trúc dự án E_Learning chia làm nhiều gói Mỗi gói có chứa số lớp thực chức tương tự 3.1.2 Một số thư viện sử dụng dự án  android-support-v4: thư viện hỗ trợ xây dựng ứng dụng với fragment Thư viện hỗ trợ từ phiên Android 2.2 API trở lên 55  android-support-v7-appcompat: thư viện hỗ trợ xây dựng hiển thị điều hường ActionBar Android  org.jetbrains:annotations-java5:15.0  libs/microsoft-translator-java-api-0.6.1-jar-with-dependencies.jar 3.1.3 Cài đặt số lớp tiện ích  Lớp HttpUtil.java: lớp chứa phương thức tải đọc chuỗi json từ web service thiết bị Android public class HttpUtil { public static String downloadData(String urlString) throws ConnectTimeoutException, SocketTimeoutException, IOException { //InputStream in = null; int response = -1; String json = null; try { URL url = new URL(urlString); URLConnection conn = url.openConnection(); if (conn instanceof HttpURLConnection) { HttpURLConnection httpConn = (HttpURLConnection) conn; httpConn.setAllowUserInteraction(false); httpConn.setInstanceFollowRedirects(true); httpConn.setRequestMethod("GET"); httpConn.setConnectTimeout(10000); httpConn.connect(); response = httpConn.getResponseCode(); if (response == HttpURLConnection.HTTP_OK) { 56 json = getContent(httpConn.getInputStream()); } else { Log.v("Time out", "Can not read Json from URL"); } if (conn != null) { ((HttpURLConnection) conn).disconnect(); conn = null; } } } catch (ConnectTimeoutException e) { throw new ConnectTimeoutException(); } catch (SocketTimeoutException e) { throw new SocketTimeoutException(); } catch (IOException ex) { throw new ConnectTimeoutException(); } finally { } return json; } }  Lớp BaseAsyncTask.java:là lớp trừu tượng kế thừa từ lớp AsyncTask định nghĩa phương thức xử lý kết nối tới Web Service bắt trường hợp lỗi ném ngoại lệ cho lớp khác kế thừa sử dụng xử lý giao diện ngươì dùng 57 public abstract class BaseAsyncTask extends AsyncTask { public static final int TIME_OUT = 3000; public static final int SOCKET_OUT = 4000; public static final int IO_OUT = 5000; private int status; @Override protected final Result doInBackground(Params params) { try { return getData(params); } catch (ConnectTimeoutException e) { e.printStackTrace(); status = TIME_OUT; return null; } catch (SocketTimeoutException e) { e.printStackTrace(); status = SOCKET_OUT; return null; } catch (IOException e) { e.printStackTrace(); status = IO_OUT; return null; } } @Override 58 protected void onProgressUpdate(Integer values) { super.onProgressUpdate(values); } @Override protected final void onPostExecute(Result result) { super.onPostExecute(result); if (result != null) { getResultSuccess(result); } else { switch (status) { case TIME_OUT: onTimeOut(); break; case SOCKET_OUT: onSocketTimeOut(); break; case IO_OUT: onIOTimeout(); break; default: break; } } } protected abstract Result getData(Params params) throws ConnectTimeoutException, 59 SocketTimeoutException, IOException; protected void getResultSuccess(Result result) { }; protected void onTimeOut() { }; protected void onSocketTimeOut() { }; protected void onIOTimeout() { }; } 3.2 Giao diện chương trình Giao diện chương trình học tiếng anh hệ điều hành Android Hình 3-1: Giao diện hình Hình 3-2: Giao diện Splash chương trình 60 3.2.1 Giao diện chức tra từ offline Hình 3-3: Giao diện Search Hình 3-4: Giao diện nội dung chi tiết Đây danh sách từ vựng chọn từ vựng để vào xem nghe Tra từ, tìm kiếm từ vựng offline, xem chi tiết nội dung từ vựng Giao diện chi tiết cho phép người dùng nghe, xem từ vựng, thêm từ vựng vào bảng favorite Trong trình nghe, từ vựng chưa nghe rõ người dùng nghe lại 61 3.2.2 Giao diện chức lưu từ vựng ưa thích Hình 3-5: Giao diện nội dung chi tiết Hình 3-6: Giao diện Your Words Lưu trữ từ vựng favorite, người dùng xem lại rèn luyện vốn từ vựng cách phát âm ghi nhớ 3.2.3 Giao diện chức tra từ online Hình 3-7: Giao diện Quick Translate Đây giao diện để người dùng tra từ vựng online 62 3.2.4 Giao diện chức học theo cụm từ Hình 3-8: Giao diện Category Hình 3-9: Giao diện Phrase Rèn luyện khả đọc hiểu, giúp tăng cường phản xạ với ngôn ngữ Tiếng anh, trau dồi vốn từ vựng, đồng thời giúp cải thiện trí nhớ Qua cụm từ ngắn, người dùng thư giãn, rèn luyện khả đọc hiểu phát âm nội dung cụm từ theo chủ đề 3.2.5 Giao diện chức lưu lịch sử tra từ Hình 3-10: Giao diện Recent Words Hình 3-11: Giao diện nội dung chi tiết 63 3.2.6 Giao diện chức app liên kết Hình 3-12: Giao diện Learn More Hình 3-13: Giao diện nội dung chi tiết 3.2.7 Giao diện chức thiết lập cài đặt Hình 3-14: Giao diện Setting Hình 3-15: Giao diện Delete All 64 Hình 3-16: Giao diện Tell Friends Hình 3-17: Giao diện Feedback Hình 3-19: Giao diện About Hình 3-18: Giao diện Rating app 65 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Qua thời gian làm đồ án tốt nghiệp em học hỏi nhiều kỹ lập trình kỹ thuật khái niệm lập trình ứng dụng Android Vì thời gian có hạn nên ứng dụng chưa hoàn thiện đầy đủ chức tiềm ẩn lỗi ứng dụng Qua thời gian làm đồ án tốt nghiệp kết thu sau: Những việc làm được: Xây dựng ứng dụng cho phép người dùng học tra cứu từ vựng cụm từ phỏ biến giao tiếp Tiếng anh cập nhật tài liệu có kết nối mạng, thao tác, tìm kiếm từ khóa sở liệu… Những việc chưa làm được: Ứng dụng số tính năng chưa hoàn thiện chưa xây dựng kết nối open id với tài khoản người dùng Google, Facebook để người dùng chia sẻ thông tin ứng dụng Chưa xây dựng trang quản lý thêm, sửa, xóa server php Định hướng phát triển thời gian tới: Mục tiêu phát triển hoàn thiện ứng dung xử lý tất vấn đề chưa làm bên Xây dựng chương trình quản lý tài liệu phía Server Hoàn thiện ứng dụng phát hành Google Play 66 TÀI LIỆU THAM KHẢO [1] Wei-Meng Lee, John Wiley & Sons, Beginning Android Application Development, Wrox Inc, 2012 [2] Reto Meier, Professional Android Application Development, Wrox Inc, 2012 [3] Website Android Developer: http://developer.android.com [4] Website Vogella Blog: http://vogella.com [5] Website StackOverflow: http://stackoverflow.com 67 NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN …………………………………………………………………………… ………… ……………………………………………………………………… …………… ……………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… Thái nguyên, ngày tháng năm 2016 ( Kí ghi rõ họ tên ) ThS Lê Nam Huy 68 ... tảng công nghệ kiến thức học với nhu cầu thực tế việc học Tiếng anh Việt Nam nên em chọn đề tài Xây dựng ứng dụng ôn luyện tiếng anh hệ điều hành Android cho đồ tốt nghiệp Với mong muồn xây dựng. .. lên khái niệm bản, tính hệ điều hành Android xu phát triển ứng dụng, số kỹ thuật nâng cao sử dụng phát triển ứng dụng ôn luyện Tiếng anh Chương 2: Phân tích thiết kế hệ thống: Phân tích yêu cầu... XML Java sau sử dụng công cụ Command Line để tạo, xây dựng gỡ lỗi ứng dụng Android 1.1.2 Lịch sử android Ban đầu Android hệ điều hành cho thiết bị cầm tay dựa lõi Linux công ty Android Inc (California,

Ngày đăng: 09/12/2016, 00:07

Tài liệu cùng người dùng

Tài liệu liên quan