Tên đề tài: Xây dựng ứng dụng học tiếng Hàn Quốc giao tiếp trên nền tảng Android 5.. Tên đề tài: Xây dựng ứng dụng học tiếng Hàn Quốc giao tiếp trên nền tảng Android II.. Mô tả bài toán
Trang 1ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN
Tel (84-511) 736 949, Fax (84-511) 842 771Website: itf.dut.edu.vn, E-mail: cntt@dut.udn.vn
ĐỒ ÁN TỐT NGHIỆP KỸ SƯ
NGÀNH CÔNG NGHỆ THÔNG TIN
MÃ NGÀNH : D480201
ĐỀ TÀI : XÂY DỰNG ỨNG DỤNG HỌC TIẾNG HÀN QUỐC
GIAO TIẾP TRÊN NỀN TẢNG ANDROID
ĐÀ NẴNG, 05/2016
Trang 2Tôi xin chân thành cảm ơn các thầy cô trong khoa Công Nghệ Thông Tin,trường Đại học Bách Khoa thành phố Đà Nẵng đã truyền đạt rất nhiều kiến thứcquý báu cho tôi trong suốt thời gian học tại trường, và nhất là đã tạo điều kiện thuậnlợi cho tôi học tập và thực hiện đề tài tốt nghiệp này.
Đặc biệt tôi xin cảm ơn thầy Trương Ngọc Châu đã trực tiếp giúp đỡ vàhướng dẫn tôi một cách tận tình trong suốt thời gian làm đề tài tốt nghiệp
Để có kết quả như ngày hôm nay, tôi rất biết ơn Ông Bà, Cha Mẹ và nhữngngười thân trong gia đình đã động viên, khích lệ, tạo mọi điều kiện thuận lợi nhất về
cả vật chất lẫn tinh thần trong suốt quá trình học tập cũng như quá trình thực hiện đềtài tốt nghiệp này
Mặc dù đã cố gắng hoàn thành đồ án tốt nhất trong phạm vi và khả năng chophép nhưng chắc chắn sẽ không thể tránh khỏi những sai sót Tôi rất mong nhậnđược sự thông cảm và góp ý tận tình từ quý thầy cô và các bạn
Một lần nữa xin chân thành cảm ơn!
Đà Nẵng, ngày 27 tháng 05 năm 2016
Sinh Viên Thực Hiện
Nông Đức Mạnh
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan:
1 Những nội dung trong luận văn này là do tôi thực hiện dưới sự hướng dẫn trực tiếp từ thầy Trương Ngọc Châu.
2 Mọi tham khảo trong luận văn đều được trích dẫn rõ ràng tên tác giả, tên công trình, thời gian, địa điểm công bố.
3 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tôi xin chịu hoàn toàn trách nhiệm.
Sinh Viên
Nông Đức Mạnh
Trang 4
Trang 5
Trang 6
Trang 7
Trang 8
I Phần dành cho Sinh viên
1 Họ và tên: Nông Đức Mạnh 2 Mã Sinh viên: 102152101129 3 Lớp: 10T2
4 Tên đề tài: Xây dựng ứng dụng học tiếng Hàn Quốc giao tiếp trên nền tảng
Android
5 Họ và tên GVHD: TS Trương Ngọc Châu
II Phần dành cho Hội đồng
STT Nội dung đánh giá Kết luận
1 Trình bày báo cáo theo đúng mẫu qui định của Khoa
2 Không có sự sao chép nội dung báo cáo và chương trình đã có
3 Biên dịch mã nguồn và chạy được chương trình
4 Có kịch bản thực hiện với dữ liệu thử nghiệm
5 Kết quả thực hiện chương trình đúng theo báo cáo
6 Có sự đóng góp, phát triển của tác giả trong đồ án
Trang 9TÓM TẮT KẾT QUẢ ĐỒ ÁN TỐT NGHIỆP
I Thông tin chung
1 Họ và tên: Nông Đức Mạnh 2 Mã Sinh viên: 102152101129 3 Lớp: 10T2
4 Tên đề tài: Xây dựng ứng dụng học tiếng Hàn Quốc giao tiếp trên nền tảng Android
II Tóm tắt đồ án
1 Mô tả bài toán
Ứng dụng học tiếng Hàn Quốc giao tiếp đưa ra các câu hội thoại thông dụngnhất theo từng chủ đề, mỗi câu hội thoại tiếng Việt được viết lại bằng tiếng Hàn vàcách phiên âm giúp người dùng làm quen với tiếng Hàn, ứng dụng còn có nút phát
âm câu hội thoại giúp người dùng nghe rõ cách phát âm câu hội thoại đó Ngoài ramỗi câu hội thoại còn có nút đánh dấu câu hội thoại ưa thích giúp người dùng dễdàng tìm được các câu hội thoại mà mình đã đánh dấu
2 Đóng góp của tác giả
Xây dựng cách học nói theo phát âm dễ nhớ, dễ sử dụng
Xây dựng ứng dụng học tiếng Hàn Quốc giao tiếp đơn giản, dễthao tác và hiệu quả
Xây dựng bộ dữ liệu cho ứng dụng
3 Các chức năng chính và kết quả thực hiện chương trình
a) Hiển thị các chủ đề
Hình 1 Màn hình chính
Trang 10Các mục có hình ảnh, màu sắc và tiêu đề thể hiện rõ chủ đề giao tiếp để giúpngười dùng tìm hiểu, người dùng có thể nhấn vào bất kì chủ đề nào để học.
b) Học câu hội thoại
Hình 2 Màn hình học các câu hội thoại
Đây là màn hình hiển thị khi người dùng chọn một chủ đề từ màn hình chính.Mỗi chủ đề sẽ chứa một danh sách các câu hội thoại giao tiếp xoay quanhchủ đề đó, khi nhấn vào một câu hội thoại sẽ hiển thị nghĩa tiếng hàn, phiên âm, nútphát âm và nút đánh dấu
Nhấn vào nút phát âm sẽ nghe được phát âm chuẩn của câu hội thoại đó,người dùng sẽ dựa vào đó để luyện tập phát âm
Nhấn vào nút đánh dấu, câu hội thoại sẽ được đánh dấu lại và sẽ hiển thị ởmục ưa thích
Trang 11c) Hiển thị các câu hội thoại ưa thích
Hình 3 Màn hình hiển thị các câu hội thoại ưa thích
Đây là màn hình hiển thị các câu hội thoại ưa thích khi người dùng chọn mục
ưa thích từ màn hình chính
Nhấn vào câu hội thoại để học, nếu muốn xóa câu hội thoại khỏi mục ưathích chỉ cần nhấn vào nút đánh dấu để tắt đánh dấu
Trang 12MỤC LỤC
MỞ ĐẦU 6
I GIỚI THIỆU ĐỀ TÀI 6
I.1 Lý do chọn đề tài 6
I.2 Cấu trúc báo cáo 6
II PHẠM VI KIẾN THỨC 7
III MỤC TIÊU CẦN ĐẠT ĐƯỢC 7
CHƯƠNG 1 CƠ SỞ LÝ THUYẾT 8
1.1 TỔNG QUAN VỀ ANDROID 8
1.1.1 Giới thiệu 8
1.1.2 Kiến trúc hệ điều hành Android 8
1.1.3 Các thành phần của một ứng dụng Android 10
1.1.4 Các thế hệ của Android 12
1.2 TỔNG QUAN VỀ NGÔN NGỮ LẬP TRÌNH JAVA 13
1.2.1 Giới thiệu 13
1.2.2 Lịch sử phát triển ngôn ngữ lập trình Java 13
1.2.3 Một số đặc điểm nổi bật của ngôn ngữ lập trình Java 14
1.3 LẬP TRÌNH VỚI ANDROID 16
1.3.1 Giới thiệu về công cụ Android Studio 16
1.3.2 Giới thiệu về SQLite 16
CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 17
2.1 PHÂN TÍCH BÀI TOÁN 17
2.2 XÂY DỰNG HỆ THỐNG 17
2.2.1 Giới thiệu 17
2.2.2 Các chức năng chính 18
2.3 PHÂN TÍCH HỆ THỐNG 18
2.3.1 Biểu đồ case sử dụng 18
2.3.2 Đặc tả case sử dụng 19
2.4 THIẾT KẾ HỆ THỐNG 22
2.4.1 Sơ đồ tuần tự 22
2.4.2 Sơ đồ hoạt động 24
Trang 13Xây dựng ứng dụng học tiếng Hàn Quốc giao tiếp
2.4.3 Thiết kế cơ sở dữ liệu 26
CHƯƠNG 3 TRIỄN KHAI VÀ ĐÁNH GIÁ 28
3.1 MÔI TRƯỜNG TRIỂN KHAI 28
3.2 TRIỂN KHAI ỨNG DỤNG 28
3.2.1 Màn hình chính 28
3.2.2 Màn hình học các câu hội thoại 29
3.2.3 Màn hình hiển thị các câu hội thoại ưa thích 30
3.3 ĐÁNH GIÁ KẾT QUẢ 30
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 31
I KẾT LUẬN 31
I.1 Ưu điểm 31
I.2 Hạn chế 31
II HƯỚNG PHÁT TRIỂN 31
TÀI LIỆU THAM KHẢO 32
Trang 14DANH MỤC HÌNH ẢNH
Hình 1: Kiến trúc hệ điều hành Android 8
Hình 2: Lịch sử bản sdk 12
Hình 3: Case sử dụng tổng quát 18
Hình 4: Sơ đồ tuần tự hiển thị danh sách câu hội thoại 22
Hình 5: Sơ đồ tuần tự hiển thị tiếng Hàn quốc 22
Hình 6: Sơ đồ tuần tự hiển thị phiên âm 23
Hình 7: Sơ đồ tuần tự phát âm 23
Hình 8: Sơ đồ tuần tự đánh dấu câu hội thoại 24
Hình 9: Sơ đồ hoạt động hiển thị câu hội thoại 24
Hình 10: Sơ đồ hoạt động học câu hội thoại trong một chủ đề 25
Hình 11: Sơ đồ hoạt động phát âm câu hội thoại 25
Hình 12: Sơ đồ hoạt động đánh dấu câu hội thoại ưa thích 26
Hình 13: Mô hình cơ sở dữ liệu quan hệ 26
Hình 14: Giao diện màn hình chính 28
Hình 15: Giao diện màn hình học các câu hội thoại 29
Hình 16: Giao diện màn hình hiển thị các câu hội thoại ưa thích 30
Trang 15Xây dựng ứng dụng học tiếng Hàn Quốc giao tiếp
DANH MỤC BẢNG BIỂU
Bảng 1: Hiển thị danh sách các câu hội thoại 19
Bảng 2: Hiển thị cách viết tiếng hàn 19
Bảng 3: Hiển thị cách phiên âm 20
Bảng 4: Phát âm 21
Bảng 5: Đánh dấu câu hội thoại ưa thích 21
Bảng 6: Danh sách các bảng dữ liệu 27
Bảng 7: Category 27
Bảng 8: Vocabulary 27
Trang 16DANH SÁCH TỪ VIẾT TẮT
Trang 17Xây dựng ứng dụng học tiếng Hàn Quốc giao tiếp
Thế nhưng hiện nay các ứng dụng để học tiếng Hàn giao tiếp cho người Việtvẫn còn khá ít trên các cửa hàng ứng dụng Trước tình hình này và bằng những kiếnthức đã học được trong thời gian là sinh viên, tôi đã quyết định xây dựng một ứngdụng để trợ giúp người dùng trong việc học tiếng Hàn hiện nay Ứng dụng này đượcgọi là “Let’s Talk Korean”
Đồ án tốt nghiệp của tôi được xây dựng với 3 mục đích chính:
- Cung cấp một công cụ học tiếng Hàn Quốc giao tiếp đơn giản, dễ sửdụng, dễ luyện tập kĩ năng nói tiếng Hàn
- Luyện tập khả năng lập trình và các kiến thức đã được học
- Tìm hiểu thêm về lập trình Andoird
I.2 Cấu trúc báo cáo
Cấu trúc báo cáo bao gồm:
- Chương 1: Cơ sở lý thuyết
Chương này sẽ nói về hệ điều hành Android và lập trình Java trên Androidcũng như các vấn đề liên quan
- Chương 2: phân tích thiết kế hệ thống
Chương này sẽ nói về xây dựng hệ thống bao gồm biểu đồ case sử dụng, đặc
tả case sử dụng, biểu đồ hoạt động, biểu đồ tuần tự, thiết kế cơ sở dữ liệu
- Chương 3: triển khai và đánh giá kết quả
Trang 18Chương này bao gồm các ghi chú về môi trường lập trình, kết quả kiểm thử
và các vấn đề liên quan
II PHẠM VI KIẾN THỨC
- Lập trình Android bằng Java
- Phân tích thiết kế hệ thống
III MỤC TIÊU CẦN ĐẠT ĐƯỢC
Xây dựng thành công ứng dụng học tiếng Hàn Quốc giao tiếp trên nền tảngAndroid, gồm những chức năng chính sau:
- Học theo chủ đề: mỗi chủ đề sẽ chứa các mẫu hội thoại được viết lạibằng tiếng hàn và được phiên âm rõ ràng, có chức năng phát lại câuphiên âm để người dùng có thể học được cách phát âm câu đó, ngoài
ra còn có chức năng đánh dấu lại những câu hội thoại ưa thích
Trang 19Xây dựng ứng dụng học tiếng Hàn Quốc giao tiếp
CHƯƠNG 1 CƠ SỞ LÝ THUYẾT
Chương này giới thiệu về một số công nghệ, lý thuyết liên quan đến đề tài tốtnghiệp như là lập trình với Android
1.1 TỔNG QUAN VỀ ANDROID
1.1.1 Giới thiệu
Android là một hệ điều hành dựa trên nền tảng Linux được thiết kế dành chocác thiết bị điện thoại 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 được chính Google mua lại vào năm 2005
Android có mã nguồn mở, chính mã nguồn mở cùng với một giấy phépkhông có nhiều ràng buộc đã 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 nhiệt huyết được điều chỉnh và phân phối Android một cách tự do.Ngoài ra, Android còn có một cộng đồng lập trình viên đông đảo chuyên viết cácứng dụng để mở rộng chức năng của thiết bị, bằng một loại ngôn ngữ lập trình Java
có sửa đổi
Vào khoảng tháng 10 năm 2012, có khoảng 700.000 ứng dụng trên Android,
và số lượng tải ứng dụng từ Google Play, cửa hàng chính của Android, ước tínhkhoảng 25 tỷ lượt
1.1.2 Kiến trúc hệ điều hành Android
Hệ điều hành Android có 4 tầng từ dưới lên trên là tầng Linux Kernel, tầngLibraries & Android runtime, tầng Application Framework và trên cùng là tầngApplication
Trang 20Hình 1: Kiến trúc hệ điều hành Android.
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áctí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ề việc kết nối và liên lạcvới mạng vô tuyến như CDMA, GSM, 3G,4G, E để đảm bảonhữ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ớ nhưthẻ SD, Flash
Power Management: Giám sát việc tiêu thụ điện năng
1.1.2.2 Tầng Libraries và Android runtime
Tầng này có 2 thành phần là phần Libraries và phần Android runtime:
- Phần Libraries: phần này có nhiều thư viện được viết bằng C/C++ đểcác phần mềm có thể sử dụng, các thư viện đó được tập hợp thànhmột số nhóm như sau:
Thư viện hệ thống (System C library)
Thư viện Media (Media Library)
Thư viện Web (LibWebCore)
Thư viện SQLite
- Phần Android runtime: thực chất là một máy ảo Java để chạy các ứngdụng Java được lập trình để chạy trên máy
Trang 21Xây dựng ứng dụng học tiếng Hàn Quốc giao tiếp
Đây là một nền tảng mở nên sẽ có những điều lợi sau:
Với các hãng sản xuất điện thoại: Có thể tùy biến để phù hợp vớicấu hình điện thoại mà họ sản xuất cũng như để có nhiều mẫu mã,kiểu dáng phù hợp với thị hiếu của người dùng Vì thế nên tuycùng chung nền tảng android mà điện thoại của Google có thểkhác hẳn với HTC, Samsung,…
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ềukiện cho lập trình viên tự do sáng tạo bởi vì chỉ cần quan tâm đếnnộ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 cấp cao…1.1.2.4 Tầng Application
Đây là lớp 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 là gọiđiện (phone), quản lý danh bạ (Contacts), duyệt web (Browser), nhắntin (SMS), lịch làm việc (Calendar), …và một số ứng dụng chạyngầm Người dùng có quyền gỡ bỏ hay cài đặt các ứng dụng tùy thích
Trang 22và chúng có thể gọi qua lại lẫn nhau Mỗi Activity là một dẫn xuất của lớpandroid.app.Activity.
Mỗi hoạt động có một cửa sổ để vẽ lên Thông thường cửa sổ này phủ đầymàn hình, ngoài ra nó cũng có thể có thêm các cửa sổ con khác như là hộp thoại…Nội dung của cửa sổ của hoạt động được cung cấp bởi một hệ thống cấp bậc cácView
- Vòng đời hoạt động (circle activities):
Các hoạt động trong hệ thống được quản lý bởi một cấu trúc dữ liệu ngănxếp Khi có một hoạt động được khởi tạo, nó được đẩy vào trong ngăn xếp, chuyểnsang trạng thái thực thi và hoạt động trước đó sẽ chuyển sang trạng thái chờ Hoạtđộng này chỉ trở lại trạng thái kích hoạt khi mà hoạt động vừa khởi tạo kết thúc việcthực thi
Khi chuyển giữa các trạng thái, ứng dụng sẽ được gọi các hàm callback ứng với các bước chuyển
1.1.3.2 Services:
Là thành phần luôn luôn chạy ẩn trong Android mà người dùng không baogiờ thấy được Services dùng để cập nhật dữ liệu, đưa ra các cảnh báo cần thiết,chơi nhạc…ví dụ đơn giản thì khi bạn mở một bài nhạc sau đó mở trình duyệt webthì giao diện hiện tại là trình duyệt còn giao diện chơi nhạc đã biến mất nhưng bàinhạc đó thì vẫn chơi là nhờ services
Tóm lại, service là các tác vụ (task) chạy ngầm trong hệ thống android nhằmthực hiện một công việc nào đó Cũng như Activity, mỗi class kế thừa Service đều
Trang 23Xây dựng ứng dụng học tiếng Hàn Quốc giao tiếp
phải khai báo thẻ trong file AndroidMaintifest.xml Service là một tác vụ nên nócũng có vòng đời như Activity nhưng có 2 kiểu vòng đời với mỗi kiểu có cách khởitạo service riêng
1.1.3.3 Broadcast Receivers:
Đây là thành phần phổ biến, nó luôn chạy ngầm trong hệ thống android vớimục đích thu thập các Intent thông báo từ hệ điều hành ví dụ như: có một sms gửiđến, pin yếu, có cuộc gọi, …
1.1.3.5 Intent:
Intent là thành phần tối quan trọng trong một ứng dụng android, nó là mộtđịnh dạng chuẩn dùng để đưa dữ liệu lên đó và khởi tạo một Activity hay truyền dữliệu giữa các Activity, thậm chí truyền dữ liệu giữa các ứng dụng đang thực thi,hoặc nó có thể dùng để khởi tạo một Service
1.1.3.6 Notification:
Đưa ra các thông báo khi các ứng dụng android đang được thực thi và khônglàm ảnh hưởng đến ứng dụng đang thực thi Thông thường các lập trình viên haydùng dạng thông báo Toast hay AlertDialog
1.1.4 Các thế hệ của Android
Lịch sử các bản SDK:
Trang 24Hình 2: Lịch sử bản sdk
- Android 3.1 được phát hành ngày 10 tháng 5 năm 2011 Phiên bản này chủyếu tập trung vào các thay đổi ở khả năng tăng tốc xử lý cùng cập nhật hệthống các ứng dụng thay vì thay đổi các giao diện bên ngoài
- Android 3.2 được phát hành ngày 18 tháng 7 năm 2011 Với các cải tiến mớinhư
Tối ưu hóa để tương thích cho nhiều dòng tablet Tùy theo mỗi sảnphẩm từ các nhà sản xuất khác nhau, mà hệ điều hành sẽ có những sựthay đổi nhằm mang đến trải nghiệm sử dụng tốt nhất cho người dùng
Cải tiến tính năng phóng to cho những ứng dụng phần mềm có kíchthước định sẵn
Cung cấp tính năng đồng bộ hóa (sync) từ thẻ nhớ SD
Mở rộng tập tin API, có chức năng hỗ trợ màn hình Chức năng nàychủ yếu dành cho giới lập trình viên
- Android 4.0 (Ice Cream Sandwich) ra mắt ngày 19 tháng 10 năm 2011 Cócác tính năng mới
Hỗ trợ xử lý đa nhân
Tự động phản hồi cuộc gọi
Cải tiến tính năng quản lý ứng dụng
Cải thiện chế độ cảm ứng
Thêm tính năng biên tập và chính sửa hình ảnh, video
Bổ sung nhiều chế độ chụp ảnh
Hỗ trợ chụp ảnh màn hình