Báo cáo Java Android Eclipse Lập trình ứng dụng học tiếng anh trên Android Cần sản phẩm demo liên hệ facebook nhé. Giao diện của ứng dụng là giao diện dạng menu đơn giản, thân thiện và dễ sử dụng cho người dùng. Sẽ có menu các bài học để người dùng lựa chọn và luyện tập.
LỜI CẢM ƠN Đồ án môn học với những môn lập trình là khá phổ biến với sinh viên khoa Tin để tự thống kê kiến thức và lên ý tưởng cho những chương trình của mình. Đó là yêu cầu và cũng là thách thức đối với sinh viên khi làm quen với thực hành từ những kiến thức lý thuyết sách vở. Để cho chúng em có thể nắm chắc kiến thức và tiếp cận thực tế với một sản phẩm phần mềm, chúng em đã nhận được sự giúp đỡ tận tình từ thầy Vũ Đức Minh giáo viên hướng dẫn chúng em trong đồ án này, cùng với sự góp ý của một số thành viên trong lớp để đố án của chúng em được hoàn thành. Nhưng do có những hạn chế về kiến thức và kinh ngiệm tìm hiểu thực tế chưa có nên đồ án của em còn nhiều sai sót. Chúng em rất mong nhận được sự chỉ bảo, giúp đỡ của các thầy cô giáo và các bạn để bài của chúng em được hoàn thiện hơn. Điều quan trọng là những ý kiến của thầy cô giáo sẽ giúp chúng em có thêm hiểu biết và kinh nghiệm để phục vụ cho những đồ án sau này. Cuối cùng chúng em xin gửi lời cảm ơn đến thầy hướng dẫn Vũ Đức Minh đã giúp chúng em trong quá trình làm đồ án vừa qua. Chúng em xin chân thành cảm ơn! Hà Nội, Ngày 28 tháng 12 năm 2014 Sinh viên thực hiện MỤC LỤC DANH MỤC HÌNH ẢNH DANH MỤC BẢNG LỜI MỞ ĐẦU Hiện nay tiếng Anh được coi là ngôn ngữ quốc tế số một trên thế giới. Hàng triệu người từ các nền văn hóa khác nhau đều nỗ lực học tiếng anh mỗi ngày. Ở Việt Nam, tiếng anh cũng đã chiếm đưuọc vị trí quan trọng kể từ khi đất nước mở cửa hội nhập ra khu vực và thế giới. Ở nhiều lĩnh vực khác nhau như kinh tế, chính trị, khoa học, du lịch vv… đều rất cần những người có trình độ tiếng Anh giỏi. Cùng với đó, sự phát triển của công nghệ di động đã bùng nổ trong vài năm qua. Các thiết bị cầm tay đã trở nên mạnh mẽ và rất phổ biến. Trong vài năm trở lại đây, hệ điều hành Android ra đời và trở thành nền tảng điện thoại thong minh phổ biến nhất trên thế giớ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. Đồng thời Android có mã nguồn mở cho phép các nhà phát triển thiết bị, mạng 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. Trước nhu cầu và lợi thế, chúng em quyến định chọn đề tài “Lập trình Ứng dụng học Tiếng Anh trên Android” nhằm tìm hiểu sâu hơn về ngôn ngữ android, từ đó viết một ứng dụng cụ thể thử nghiệm làm cơ sở củng cố kiến thức và định hướng, kế hoạch xây dựng những ứng dụng game cụ thể, phát triển theo dịch vụ trong tương lai. Trong quá trình giảng dạy, nhờ có sự hướng dẫn tận tình của thầy giáo Vũ Đức Minh chúng em đã hoàn thành được đề tài Lập trình Ứng dụng học Tiếng Anh trên Android. Trong quá trình làm đề tài, dù đã rất cố gắng tìm hiểu nhưng vẫn không tránh khỏi sai sót và chưa hoàn thiện hết các chức năng. Chính vì vậy chúng em mong được sự đóng góp ý kiến của các thầy cô. Chúng em xin chân thành cảm ơn CHƯƠNG 1: GIỚI THIỆU VỀ NGÔN NGỮ JAVA VÀ ANDROID 1.1 NGÔN NGỮ JAVA 1.1.1. Khái niệm Java. Java là ngôn ngữ lập trình hướng đối tượng (tựa C++) do Sun Microsystem đưa ra vào giữa thập niên 90. Chương trình viết bằng ngôn ngữ lập trình java có thể chạy trên bất kỳ hệ thống nào có cài máy ảo java (Java Virtual Machine). Java (đọc như "Gia-va") là một ngôn ngữ lập trình dạng lập trình hướng đối tượng (OOP). Khác với phần lớn ngôn ngữ lập trình thông thường, thay vì biên dịch mã nguồnthành mã máy hoặc thông dịch mã nguồn khi chạy, Java được thiết kế để biên dịch mã nguồn thành bytecode, bytecode sau đó sẽ được môi trường thực thi (runtime environment) chạy. Bằng cách này, Java thường chạy chậm hơn những ngôn ngữ lập trình thông dịch khác như C++, Python, Perl, PHP, C# Cú pháp Java được vay mượn nhiều từ C & C++ nhưng có cú pháp hướng đối tượng đơn giản hơn và ít tính năng xử lý cấp thấp hơn. Do đó việc viết một chương trình bằng Java dễ hơn, đơn giản hơn, đỡ tốn công sửa lỗi hơn. Dùng bộ thư viện chuẩn KFC, nhiều đoạn code Java chỉ mất vài dòng trong khi C phải mất cả trang giấy. Lập trình C rất hay xảy ra lỗi và khó sửa. Trong Java, hiện tượng dò rỉ bộ nhớ hoàn toàn có thể tránh bằng cách định nghĩa vài preprocessor directives như #define . 1.1.2. Lịch sử. Java được khởi đầu bởi James Gosling và bạn đồng nghiệp ở Sun Microsystems năm1991. Ban đầu ngôn ngữ này được gọi là Oak (có nghĩa là cây sồi; do bên ngoài cơ quan của ông Gosling có trồng nhiều loại cây này), họ dự định ngôn ngữ đó thay choC++, nhưng các tính năng giống Objective C. Không nên lẫn lộn Java với JavaScript, hai ngôn ngữ đó chỉ giống tên và loại cú pháp như C. Công ty Sun Microsystems đang giữ bản quyền và phát triển Java thường xuyên. Tháng 04/2011, công ti Sun Microsystems tiếp tục cho ra bản JDK 1.6.24. Java được tạo ra với tiêu chí "Viết (code) một lần, thực thi khắp nơi" ("Write Once, Run Anywhere" (WORA)). Chương trình phần mềm viết bằng Java có thể chạy trên mọi nền tảng (platform) khác nhau thông qua một môi trường thực thi với điều kiện có môi trường thực thi thích hợp hỗ trợ nền tảng đó. Môi trường thực thi của Sun Microsystems hiện hỗ trợ Sun Solaris, Linux, Mac OS, FreeBSD & Windows. Ngoài ra, một số công ty, tổ chức cũng như cá nhân khác cũng phát triển môi trường thực thi Java cho những hệ điều hành khác như BEA, IBM, HP . Trong đó đáng nói đến nhất là IBM Java Platform hỗ trợ Windows, Linux, AIX & z/OS. Những chi tiết về ngôn ngữ, máy ảo và API của Java được giữ bởi Cộng đồng Java (doSun quản lý). Java được tạo ra vào năm 1991 do một số kỹ sư ở Sun, bao gồm 5 | P a g e ông James Gosling, một phần của Dự án Xanh (Green Project). Java được phát hành vào năm 1994, rồi nó trở nên nổi tiếng khi Netscape tuyên bố tại hội thảo SunWorld năm1995 là trình duyệt Navigator của họ sẽ hỗ trợ Java. Về sau Java được được hỗ trợ trên hầu hết các trình duyệt như Internet Explorer (Microsoft), Firefox (Mozilla), Safari (Apple)… Java được sử dụng chủ yếu trên môi trường NetBeans và Oracle. Sau khi Oracle mua lại công ty Sun Microsystems năm 2009-2010, Oracle đã mô tả họ là "người quản lý công nghệ Java với cam kết không ngừng để bồi dưỡng một cộng đồng tham gia và minh bạch". 1.1.3 Một số đặc điểm nổi bật của ngôn ngữ lập trình Java Máy ảo Java (JVM-Java Virtual Machine) Tất cả các chương trình muốn thực thi được thì phải biên dịch ra mã máy. Mã máy của từng kiến trúc CPU của mỗi máy tính là khác nhau (tập lệnh mã máy của CPU Intel, CPU Solarix, CPU Macintosh… là khác nhau), vì vậy trước đây một chương trình sau khi được biên dịch xong chỉ có thể chạy được trên một kiến trúc CPU cụ thể nào đó. Đối với CPU Intel chúng ta có thể chạy các hệ điều hành như Microsoft Windows, Unix, Linux, OS/2,… Chương trình thực thi được trên Windows được biên dịch dưới dạng file có đuôi .EXE, còn trên Linux thì được biên dịch dưới dạng file có đuôi .ELF, vì vậy trước đây một chương trình chạy được trên Windows muốn chạy được trên hệ điều hành khác như Linux chẳng hạn thì phải chỉnh sửa và biên dịch lại. Ngôn ngữ lập trình Java ra đới, nhờ vào máy ảo Java mà khó khăn trên đã được khắc phục. Một chương trình viết bằng ngôn ngữ Java sẽ được biên dịch sang mã của máy ảo java (mã java bytecode). Sau đó máy ảo Java chịu trách nhiệm chuyển mã java bytecode thành mã máy tương ứng. Sun Microsystem chịu trách nhiệm phát triển các máy ảo Java chạy trên các hệ điều hành kiến trúc CPU khác nhau. Thông dịch Java là một ngôn ngữ lập trình vừa biên dịch vừa thông dịch. Chương trình nguồn viết bằng ngôn ngữ Java có đuôi *.java đầu tiên được biên dịch thành tập tin có đuôi *.class và sau đó sẽ được trình thông dịch thông dịch thành mã máy. Độc lập nền: Một chương trình viết bằng ngôn ngữ Java có thể chạy trên nhiều máy tính có hệ điều hành khác nhau (Windows, Unix, Linux,…) miễn sao ở đó có cài đặt máy ảo java (Java Virtual Machine). Viết một lần chạy mọi nơi (Write once run anywhere). Hướng đối tượng: Hướng đối tượng trong Java tương tự như C++ nhưng Java là một ngôn ngữ lập trình hướng đối tượng hoàn toàn. Tất cả mọi thứ đề cập đến trong Java đều liên quan đến các đối tượng được định nghĩa trước, thậm chí hàm chính của một chương trình 6 | P a g e viết bằng Java (đó là hàm main) cũng phải đặt bên trong một lớp. Hướng đối tượng trong Java không có tính đa kế thừa (multi inheritance) như trong C++ mà thay vào đó Java đưa ra khái niệm interface để hỗ trợ tính đa kế thừa. Đa nhiệm – đa luồng (MultiTasking - Multithreading): Java hỗ trợ lập trình đa nhiệm, đa luồng cho phép nhiều tiến trình, tiểu trình có thể chạy song song cùng một thời điểm và tương tác với nhau. Khả chuyển (portable): Chương trình ứng dụng viết bằng ngôn ngữ Java chỉ cần chạy được trên máy ảo Java là có thể chạy được trên bất kỳ máy tính, hệ điều hành nào có máy ảo Java. Hỗ trợ mạnh cho việc phát triển ứng dụng: Công nghệ Java phát triển mạnh mẽ nhờ vào “đại gia Sun Microsystem” cung cấp nhiều công cụ, thư viện lập trình phong phú hõ trợ cho việc phát triển nhiều loại hình ứng dụng khác nhau cụ thể như: J2SE (Java 2 Standard Editition) hỗ trợ phát triển những ứng dụng đơn, ứng dụng client-server; J2EE (Java 2 Enterprise Editition) hỗ trợ phát triển các ứng dụng thương mại, J2ME (Java 2 Micro Editition) hỗ trợ phát triển các ứng dụng trên các thiết bị di động, không dây, … 1.2 Dịch và thực thi một chương trình viết bằng Java Việc xây dựng, dịch và thực thi một chương trình viết bằng ngôn ngữ lập trình java có thể tóm tắt qua các bước sau: Viết mã nguồn: dùng một chương trình soạn thảo nào đấy (NotePad hay Jcreator chẳng hạn) để viết mã nguồn và lưu lại với tên có đuôi “.java” Biên dịch ra mã máy ảo: dùng trình biên dịch javac để biên dịch mã nguồn “.java” thành mã của máy ảo (javabytecode) có đuôi “.class” và lưu lên đĩa. Thông dịch và thực thi: ứng dụng được load vào bộ nhớ, thông dịch và thực thi dùng trình thông dịch Java thông qua lệnh “java”. o Đưa mã java byte code vào bộ nhớ: đây là bước“loading”. Chương trình phải được đặt vào trong bộ nhớ trước khi thực thi. “Loader” sẽ lấy các files chứa mã java bytecode có đuôi “.class” và nạp chúng vào bộ nhớ. o Kiểm tra mã java bytecode: trước khi trình thông dịch chuyển mã bytecode thành mã máy tương ứng để thực thi thì các mã bytecode phải được kiểm tra tính hợp lệ. o Thông dịch & thực thi: cuối cùng dưới sự điều khiển của CPU và trình thông dịch tại mỗi thời điểm sẽ có một mã bytecode được chuyển sang mã máy và thực thi. 1.1.4 Công cụ lập trình và chương trình dịch - J2SDK Download J2SE phiên bản mới nhất tương ứng với hệ điều hành đang sử dụng từ địa chỉ http://java.sun.com và cài đặt lên máy tính (phiên bản được chúng 7 | P a g e tôi sử dụng khi viết giáo trình này là J2SE 1.4). Sau khi cài xong, chúng ta cần cập nhật đường dẫn PATH hệ thống chỉ đến thư mục chứa chương trình dịch của ngôn ngữ java. - Công cụ soạn thảo mã nguồn Java Để viết mã nguồn java chúng ta có thể sử dụng trình soạn thảo NotePad, Netbean, Eclipse hoặc một số môi trường phát triển hỗ trợ ngôn ngữ java như: Jbuilder của hãng Borland, Visual Cafécủa hãng Symantec, JDevel opercủa hãng Oracle, Visual J++ của Microsoft, … 1.2 KHÁI QUÁT VỀ ANDROID : 1.2.1 Giới thiệu khái quát về android : Thiết bị Android được phân phối đang có tốc độ tăng trưởng nhanh hơn bất kỳ nền tảng di động khác, điều đó giúp Android trở thành một sự lựa chọn tuyệt vời trong hành trình phát triển ứng dụng trên điện thoại di động, đặc biệt là nếu bạn là một nhà phát triển Java. Một nhược điểm lớn của ứng dụng Android là sự phân mảnh, trong đó trình bày những thách thức đáng kể cho các ứng dụng thử nghiệm. Thực tế cho thấy là hầu hết các nhà phát triển ứng dụng gần như không thể kiểm tra một ứng dụng cho mọi thiết bị Android cho đến các phiên bản hệ điều hành. (Trong thực tế, làm như vậy theo một cách hiệu quả kinh tế chính là sự phát triển của ngành công nghiệp dịch vụ.) Phần sau của bài viết sẽ nhìn vào các vấn đề kỹ thuật liên quan đến việc xuất ra nhiều phiên bản Android, cộng với các công cụ dựa trên Java để thử nghiệm các ứng dụng Android trên điện thoại di động. Bây giờ, chúng ta hãy cùng khảo sát qua các phiên bản Android để bạn có thể hiểu và phát triển ứng dụng trên nền tảng này. 1.2.2 Kiến trúc của android : Đôi khi không cần phải hiểu rõ kiến trúc của Android ta vẫn có thể viết được ứng dụng chạy trên hệ điều hành này. Đây cũng chính là điều mà nhà sản xuất muốn khi họ phát hành bộ SDK đi kèm với framework của họ. Và điều này có cả mặt tốt lẫn xấu. Framework nằm ở tầng cao cấp dành cho lập trình viên, giúp họ tạo ra các ứng dụng phổ biến nhưng rất khó dùng nó để tạo ra các ứng dụng đi sâu vào hệ thống của hệ điều hành. Vì thế chúng ta nên tìm hiểu về cấu trúc của android để có cái nhìn toàn diện hơn về hệ điều hành này. 1.2.3 Máy ảo Dalvik Một trong những thành phần quan trọng của Android là máy ảo Dalvik. Thay vì sử dụng máy ảo Java như trước kia Android sử dùng máy ảo của riêng nó được thiết kế để bảo đảm rằng đa ứng dụng có thể chạy mượt mà trên một thiết bị di động. 8 | P a g e Máy ảo Dalvik sử dụng lõi Linux để xử lý các chức năng ở mức thấp bao gồm bảo mật, các tiến trình, các luồng và quản lý vùng nhớ. Nó cũng có thể viết bằng ứng dụng C/C++ để chạy trực tiếp lên lõi Linux bên dưới. Giữa phần cứng và các dịch vụ hệ thống được quản lý bởi máy ảo Dalvik, nó là một thành phần ở giữa. Bằng cách sử dụng máy ảo này để chạy ứng dụng, các nhà phát triển hoàn toàn không phải bận tâm gì về các phần cứng bên dưới. Khi máy ảo này chạy nó sẽ tạo ra tập tin có đuôi là .dex, tập tin này được SDK tạo ra bởi sự chuyển đổi từ các lớp biên dịch ngôn ngữ Java. 1.2.4 Các thành phần cơ bản để tạo nên một ứng dụng Android o 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. o Service: thành phần chạy ẩn trong Android từ lúc chạy đến khi thiết bị cầm tay tắt đi. 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. o Content Provider: được tạo ra để quản lý và chia sẻ dữ liệu với các hoạt động, dịch vụ khác. o 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. o Broastcast Receiver: thành phần thu nhận các Intent bên ngoài gửi tới. o 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. Vòng đời của một Activity o onCreate( ): hàm này được gọi khi lớp Activity được khởi tạo, dùng để thiết lập giao diện ứng dụng và thực thi những thao tác cơ bản. o onStart(): hàm này được gọi khi lớp ứng dụng xuất hiện trên màn hình. o onResume(): hàm được gọi ngay sau OnStart hoặc khi người dùng focus ứng dụng, hàm này sẽ đưa ứng dụng lên top màn hình. o onPause(): hàm được gọi khi hệ thống đang focus đến 1 activity trước đó. o onStop(): hàm được gọi khi một activity khác được khởi động và focus. o onRestart(): đưọc gọi khi ứng dụng chuyển sang onStop(), nhưng muốn khởi động lại bằng onStart(). 1.3 SƠ LƯỢC VỀ GOOGLE PLAY SERVICES VÀ SỬ DỤNG GOOGLE SPEECH RECOGNITION API ĐỂ XÂY DỰNG ỨNG DỤNG. 9 | P a g e 1.3.1 Google Play services Google Play services được dùng để cập nhật ứng dụng Google và ứng dụng từ Google Play. Ứng dụng này cung cấp chức năng cốt lõi như xác nhận với dịch vụ Google, đồng bộ danh bạ, truy cập vào tất cả các cài đặt riêng tư mới nhất và các dịch vụ dựa trên địa điểm chất lượng cao hơn. Google Play services cho Android cũng sẽ cải thiện trải nghiệm ứng dụng của bạn. Nó sẽ tăng tốc khả năng tìm kiếm ngoại tuyến, cung cấp thêm bản đồ cá nhân hóa hơn và cải thiện trải nghiệm chơi game. Các ứng dụng sẽ không hoạt động nếu bạn gỡ Google Play services khỏi máy. Lưu ý: Ứng dụng có thể không hoạt động nếu bạn gỡ cài đặt các dịch vụ của Google Play Google Play services mang lại thêm các tính năng cho ứng dụng của bạn để thu hút người dùng trên nhiều thiết bị khác nhau. Với Google Play services, ứng dụng của bạn có thể tận dụng những tính năng mới nhất do Google cung cấp như Maps, Google+, với khả năng tự động cập nhật theo dạng APK trên Google Play store. Điều này sẽ giúp người dùng của bạn nhận cập nhật và dễ dàng tích hợp vớ những gì mới nhất của Google. Google Play services mang lại cho người dùng cách đơn giản để truy cập vào các dịch vụ của Google và được tích hợp chặt chẽ với nền tảng Android. Thư viện ứng dụng rất dễ sử dụng được cung cấp cho từng dịch vụ, cho phép người dùng triển khai chức năng mình muốn đơn giản và nhanh chóng hơn. Tất cả các sản phẩm của Google Play services chia sẻ cùng một API cấp quyền giúp nâng tầm tài khoản Google đang dùng trên thiết bị. Bạn và người dùng sẽ có một cách an toàn và ổn định để trao và nhận token truy cập OAuth2 vào dịch vụ Google. Những thiết bị chạy Android 2.2 trở lên và ứng dụng Google Play Store sẽ tự động nhận các bản cập nhật cho Google Play services. Cải thiện ứng dụng của bạn với phiên bản gần nhất của Google Play services mà không phải lo ngại về phiên bản Android mình đang sử dụng. 1.3.2 Thư viện ứng dụng Google Play Services Thư viện ứng dụng này bao gồm giao diện tới từng dịch vụ của Google và cho phép bạn nắm giữ quyền xác nhận từ người dùng để chiếm quyền truy cập vào những dịch vụ này bằng thông tin của họ. Nó cũng bao gồm API cho phép bạn giải quyết những vấn đề phát sinh khi chạy, ví như Google Play services APK bị mất, 10 | P a g e [...]... với nước ngoài 12 | P a g e Ứng dụng Talk2Me là một ứng dụng cho phép người dùng luyện nói tiếng Anh trên chính chiếc điện thoại Android của mình Ứng dụng bao gồm một bộ các câu tiếng Anh, yêu cầu người dùng nói lại câu đó, và đưa ra đánh giá về độ chính xác của câu nói Qua đó giúp người dùng dần dần sửa được cách phát âm của mình cho đúng Ứng dụng sử dụng hệ thống nhận dạng tiếng nói của Google, vì vậy... các bài cơ bản thì ứng dụng sẽ hiển thị ra hai hình thức học trong các bài học cơ bản là học theo các câu mẫu và học theo hình ảnh, khi người dùng chọn vào nút học theo hình ảnh thì màn hình hiện ra hình thức học theo ảnh và hình thức học theo tranh, khi người dùng chọn học theo hình ảnh hoặc theo tranh thì một danh sách các bài học có hình ảnh hiện ra màn hình Người dùng lựa chọn bài học Hệ thống hiển... của ứng dụng, đó là sử dụng Google Speech Recognition API Đây là một API do Google cung cấp, cho phép ứng dụng tiếp nhận âm thanh cho người dùng nói ra, sau đó gửi file âm thanh lên hệ thống nhận dạng âm thanh của Google, và nhận kết quả trả về dưới dạng một file văn bản (speech-to-text) Có thể hình dung quá trình xử lý dữ liệu âm thanh của ứng dụng như sau: Hình 2.2.1.2 Quá trình xử lý dữ liệu âm thanh... dự tính tìm và sử dụng một hệ thống nhận dạng âm thanh có khả năng tiếp nhận và đánh giá tốt hơn Thông qua việc tìm hiểu và xây dựng ứng dụng Talk2Me, em đã có được cái nhìn sâu sắc hơn về lập trình Android cũng như về sự đa dạng của ngôn ngữ Java Tuy là một lĩnh vực lập trình mới, nhưng Android đã nhanh chóng chiếm được sự quan tâm và đam mê tìm hiểu của một số lượng lớn các lập trình viên Điều này... chương trình bài toán Xây dựng các chức Thiết kế giao diện, kết nối đến CSDL, hiển thị dữ năng liệu lên màn hình, hiện thị kết quả trả về Cài đặt ứng dụng trong Cài đặt ứng dụng hoạt động trên máy điện thoại thật thực tế cài hệ điều hành android Bảng 2.2 Quá trình xây dựng ứng dụng 2.2.1 Thiết kế CSDL 2.2.1.1 Các dữ liệu cơ bản Các file layout xml để tạo giao diện người dùng cho ứng dụng Sử dụng các... sử dụng bắt đầu khi người dùng chạm vào biểu tượng của ứng dụng Người dùng sẽ được cung cấp các chức năng để luyện nói Sau khi chạm vào nút nói theo các bài cơ bản thì ứng dụng sẽ hiển thị ra hai hình thức học trong các bài học cơ bản là học theo các câu mẫu và học theo hình ảnh, khi người dùng chọn vào nút học theo câu mẫu thì một danh sách các bài học hiện ra màn hình Người dùng lựa chọn bài học. .. SoundNotification: âm thanh ứng dụng phát ra khi người dùng nói đúng hoặc sai 28 | P a g e 3.3 YÊU CẦU CẤU HÌNH HỆ THỐNG Chương trình được xây dựng nhằm mục đích luyện nói tiếng anh thông qua Google Speech Recognition API nên yêu cầu máy điện thoại phải cài hệ điều hành Android từ 4.0 trở lên 3.4 GIAO DIỆN CHÍNH CỦA ỨNG DỤNG TALK2ME Hình 3.3a Ứng dụng được cài đặt trên điện thoại Android 29 | P a g e... đường và gửi tin nhắn Nếu thiết bị của bạn đang chạy Android 4.1 trở lên, chỉ cần mở ứng dụng Google Tìm kiếm và nói "Ok Google" (Tính năng này hiện có sẵn bằng tiếng Anh, Pháp và Đức) Nếu bạn có phiên bản Android cũ hơn, hãy chạm vào biểu tượng Micrô trên màn hình chính hoặc trong ứng dụng Google Tìm kiếm Hầu hết các ứng dụng này được hỗ trợ bằng tiếng Anh, Pháp, Đức, Ý, Nhật, Hàn, Nga, Tây Ban Nha và... Trong quá trình xây dựng ứng dụng cần phải có các phương pháp để xác định yêu cầu người dùng Nghiên cứu các phần mềm đã có: đọc tài liệu, xem ứng dụng Thực hiện khảo sát/phỏng vấn: đi khảo sát, đặt câu hỏi 2.1.2 Mô tả quá trình nghiệp vụ Quá trình luyện nói tiếng anh được chia ra làm 3 bước: STT Tên 1 Chọn cấp độ học 2 Thực hiện bài học 3 Tình kết quả đọc Mô tả Từ menu chính chọn cấp độ học, sau... kiếm giọng nói bằng tiếng Việt trên Android Tuy nhiên, ngoài việc tìm kiếm, người dùng Android còn có thể nhập văn bản hay soạn tin nhắn hoàn toàn bằng giọng nói tiếng Việt, với độ chính xác cao Với việc hỗ trợ chức năng giọng nói bằng tiếng Việt trên Android, người dùng không chỉ sử dụng chức năng này để có thể tìm kiếm bằng tiếng Việt, mà còn có thể nói trực tiếp với thiết bị Android để có thể soạn