Tải bản đầy đủ (.docx) (40 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (735.43 KB, 40 trang )

ĐẠ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 771
Website: itf.dut.edu.vn, E-mail:

ĐỒ Á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

SINH VIÊN
MÃ SINH VIÊN
LỚP
CBHD

: NÔNG ĐỨC MẠNH
: 102152101129
: 10T2
: TS. TRƯƠNG NGỌC CHÂU

ĐÀ NẴNG, 05/2016


LỜI CẢM ƠN


Tô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ức
quý 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ận
lợ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ững
ngườ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 cho
phé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

Nông Đức Mạnh – 10T2

2


LỜ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

NHẬN XÉT CỦA CÁN BỘ HƯỚNG DẪN
Nông Đức Mạnh – 10T2

3


.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................

.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................

Nông Đức Mạnh – 10T2

4


.........................................................................................................................................
.........................................................................................................................................

Nông Đức Mạnh – 10T2

5


NHẬN XÉT CỦA HỘI ĐỒNG PHẢN BIỆN
.........................................................................................................................................

.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................


Nông Đức Mạnh – 10T2

6


.........................................................................................................................................
.........................................................................................................................................

Nông Đức Mạnh – 10T2

7


PHIẾU DUYỆT ĐỒ ÁN TỐT NGHIỆP
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

Ý kiến khác: ...........................................................................................................................
..................................................................................................................................................
Kết luận:

 Đạt yêu cầu

 Phải sửa chữa lại


 Không đạt yêu cầu
Đà Nẵng, ngày

tháng

Chủ tịch Hội đồng

Cán bộ duyệt kiểm tra

(Ký và ghi họ tên)

(Ký và ghi họ tên)

Nông Đức Mạnh – 10T2

năm

8


TÓ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ụng
nhấ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 ra
mỗ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
Ở màn hình chính sẽ hiển thị các chủ đề giao tiếp thường gặp.
Nông Đức Mạnh – 10T2

9


Các mục có hình ảnh, màu sắc và tiêu đề thể hiện rõ chủ đề giao tiếp để giúp

ngườ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 quanh
chủ đề đó, 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út
phá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.

c) Hiển thị các câu hội thoại ưa thích

Nông Đức Mạnh – 10T2

10


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 ưa
thích chỉ cần nhấn vào nút đánh dấu để tắt đánh dấu.

Nông Đức Mạnh – 10T2

11



Xây dựng ứng dụng học tiếng Hàn Quốc giao tiếp

MỤC LỤC

DANH MỤC HÌNH ẢNH

Nông Đức Mạnh – 10T2

12


Xây dựng ứng dụng học tiếng Hàn Quốc giao tiếp

DANH MỤC BẢNG BIỂU

Nông Đức Mạnh – 10T2

13


Xây dựng ứng dụng học tiếng Hàn Quốc giao tiếp

DANH SÁCH TỪ VIẾT TẮT
Từ Viết Tắt
API
SDK
JVM
IDE
CPU


Nông Đức Mạnh – 10T2

Ý nghĩa
Application Programming Interface
Software Development Kit.
Java Virtual Machine
Intergrated Development Environment
Central Processing Unit

14


Xây dựng ứng dụng học tiếng Hàn Quốc giao tiếp

MỞ ĐẦU
I. GIỚI THIỆU ĐỀ TÀI
I.1 Lý do chọn đề tài
Trong thời gian gần đây, Hàn Quốc đã và đang xúc tiến đầu tư vào Việt Nam
rất nhiều dự án và sẽ ngày càng đầu tư nhiều hơn, đối tượng đi du lịch, học tập, kết
hôn và xuất khẩu lao động tại Hàn Quốc lại chưa có khả năng giao tiếp với người
Hàn Quốc. Vậy nên hiện nay số người học tiếng Hàn đã tăng lên khá nhiều, các
trung tâm dạy học tiếng Hàn cũng đã xuất hiện ngày một nhiều, mọi người có thể
học ở các trung tâm hoặc câu lạc bộ, học qua internet…
Thế nhưng hiện nay các ứng dụng để học tiếng Hàn giao tiếp cho người Việt
vẫ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ến
thức đã học được trong thời gian là sinh viên, tôi đã quyết định xây dựng một ứng
dụ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 được
gọ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 Android
cũ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ả

Chươ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.


Nông Đức Mạnh – 10T2

15


Xây dựng ứng dụng học tiếng Hàn Quốc giao tiếp
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ảng
Android, 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ại
bằng tiếng hàn và được phiên âm rõ ràng, có chức năng phát lại câu
phiê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.

Nông Đức Mạnh – 10T2

16


Xâ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ốt
nghiệ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 cho
cá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ép
khô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ính
khoả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ầng
Libraries & Android runtime, tầng Application Framework và trên cùng là tầng
Application.

Hình 1: Kiến trúc hệ điều hành Android.

Nông Đức Mạnh – 10T2

17



Xây dựng ứng dụng học tiếng Hàn Quốc giao tiếp
1.1.2.1 Tầng Linux Kernel
Đây là nhân của hệ điều hành Android, mọi xử lý hệ thống đều phải
thông qua tầng này.
Tầng này có các thành phần chủ yếu:


Display Driver: Điều khiển việc hiển thị lên màn hình cũng như
thu nhận những điều khiển của người dùng lên màn hình.



Camera Driver: Điều khiển hoạt động của Camera, nhận luồng dữ
liệu từ camera trả về.



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ác
tí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ạc
với mạng vô tuyến như CDMA, GSM, 3G,4G, E để đảm bảo
nhữ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ành
mộ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 ứng
dụng Java được lập trình để chạy trên máy.

Nông Đức Mạnh – 10T2

18


Xây dựng ứng dụng học tiếng Hàn Quốc giao tiếp
1.1.2.3 Tầng Application framework
Tầng này Google xây dựng cho các nhà phát triển xây dựng ứng dụng
của họ trên Android, bằng cách gọi các API có sẵn mà Google đã viết
để sử dụng các tính năng của phần cứng mà không cần hiểu cấu trúc
bên dưới.
Đâ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ới

cấ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 tuy
cù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ều
kiện cho lập trình viên tự do sáng tạo bởi vì chỉ cần quan tâm đến
nộ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ắn
tin (SMS), lịch làm việc (Calendar), …và một số ứng dụng chạy
ngầm. Người dùng có quyền gỡ bỏ hay cài đặt các ứng dụng tùy thích
ở tầng này.
1.1.3 Các thành phần của một ứng dụng Android
1.1.3.1 Activity:
-

Khái niệm:
Một hoạt động là một giao diện người dùng trực quan mà người dùng có thể
thực hiện trên đó mỗi khi được kích hoạt. Một ứng dụng có thể có nhiều hoạt động
và 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ớp
android.app.Activity.


Nông Đức Mạnh – 10T2

19


Xây dựng ứng dụng học tiếng Hàn Quốc giao tiếp
Mỗi hoạt động có một cửa sổ để vẽ lên. Thông thường cửa sổ này phủ đầy
mà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ác
View.
-

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ăn
xếp. Khi có một hoạt động được khởi tạo, nó được đẩy vào trong ngăn xếp, chuyển
sang 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ệc
thực thi.
Một Activity có 3 trạng thái chính:


Active hoặc Running khi nó ở trên màn hình và nhận được sự
tương tác của người dùng.



Paused khi Activity không còn là trọng tâm trên màn hình
nhưng vẫn hiển thị trước người dùng.




Stopped khi một Activity hoàn toàn bị che khuất, nó sẽ rơi vào
trạng thái Stopped. Tuy nhiên, nó vẫn còn lưu trữ toàn bộ thông tin
trạng thái. Và nó thường bị hệ thống đóng lại khi có tình trạng
thiếu bộ nhớ.



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 bao
giờ 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 web
thì 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ài
nhạ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ằm
thực hiện một công việc nào đó. Cũng như Activity, mỗi class kế thừa Service đều
phải khai báo thẻ trong file AndroidMaintifest.xml. Service là một tác vụ nên nó

Nông Đức Mạnh – 10T2

20


Xây dựng ứng dụng học tiếng Hàn Quốc giao tiếp
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ởi
tạ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ới
mụ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.4 Content Provider:
Là một kho dữ liệu chia sẽ nó cung cấp truy cập dữ liệu và giúp chia sẽ dữ
liệu giữa các ứng dụng.
Android cung cấp cho lập trình viên một số kiểu content provider cho các
kiểu dữ liệu phổ dụng như thông tin danh bạ, dữ liệu lưu trữ trên SQLite, dữ liệu
lưu trữ trong các tập tin. Ngoài ra, các lập trình viên có thể tự định nghĩa các
Content Provider mới. Để hoạt động được Content Provider cũng cần phải khai báo
trong AndroidMaintifest.xml.
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ông
làm ảnh hưởng đến ứng dụng đang thực thi. Thông thường các lập trình viên hay
dù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:

Hình 2: Lịch sử bản sdk
Nông Đức Mạnh – 10T2

21



Xây dựng ứng dụng học tiếng Hàn Quốc giao tiếp
-

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ới
như.


Tối ưu hóa để tương thích cho nhiều dòng tablet. Tùy theo mỗi sản
phẩ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ích
thướ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ày
chủ 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.

1.2 TỔNG QUAN VỀ NGÔN NGỮ LẬP TRÌNH JAVA
1.2.1 Giới thiệu
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).
1.2.2 Lịch sử phát triển ngôn ngữ lập trình Java
Ngôn ngữ lập trình Java do James Gosling và các cộng sự của Công ty Sun
Microsystem phát triển.

Nông Đức Mạnh – 10T2

22


Xây dựng ứng dụng học tiếng Hàn Quốc giao tiếp
Đầu thập niên 90, Sun Microsystem tập hợp các nhà nghiên cứu thành lập
nên nhóm đặt tên là Green Team. Nhóm Green Team có trách nhiệm xây dựng công
nghệ mới cho ngành điện tử tiêu dùng. Để giải quyết vấn đề này nhóm nghiên cứu
phát triển đã xây dựng một ngôn ngữ lập trình mới đặt tên là Oak tương tự như C++
nhưng loại bỏ một số tính năng nguy hiểm của C++ và có khả năng chạy trên nhiều
nền phần cứng khác nhau. Cùng lúc đó world wide web bắt đầu phát triển và Sun đã
thấy được tiềm năng của ngôn ngữ Oak nên đã đầu tư cải tiến và phát triển. Sau đó
không lâu ngôn ngữ mới với tên gọi là Java ra đời và được giới thiệu năm 1995.
Java là tên gọi của một hòn đảo ở Indonexia, Đây là nơi nhóm nghiên cứu
phát triển đã chọn để đặt tên cho ngôn ngữ lập trình Java trong một chuyến đi tham
quan và làm việc trên hòn đảo này. Hòn đảo Java này là nơi rất nổi tiếng với nhiều
khu vườn trồng cafe, đó chính là lý do chúng ta thường thấy biểu tượng ly cafe

trong nhiều sản phẩm phần mềm, công cụ lập trình Java của Sun cũng như một số
hãng phần mềm khác đưa ra.
1.2.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
Tất cả các chương trình muốn thực thi được thì phải được 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 nêu trên đã được khắc phục. Một chương trình viết bằng ngôn
ngữ lập trình Java sẽ được biên dịch ra 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 trên các kiến trúc CPU khác nhau.

Nông Đức Mạnh – 10T2

23


Xây dựng ứng dụng học tiếng Hàn Quốc giao tiếp
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ữ lập trình 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 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.
“Viết một lần, chạy mọi nơi” (Write Once, Run Anywhere).
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 Edition) hỗ
trợ phát triển những ứng dụng đơn, ứng dụng client-server; J2EE (Java 2 Enterprise
Edition) hỗ trợ phát triển các ứng dụng thương mại, J2ME (Java 2 Micro Edition)
hỗ trợ phát triển các ứng dụng trên các thiết bị di động, không dây, …

Nông Đức Mạnh – 10T2


24


Xây dựng ứng dụng học tiếng Hàn Quốc giao tiếp
1.3 LẬP TRÌNH VỚI ANDROID
1.3.1 Giới thiệu về công cụ Android Studio
Android Studio là một IDE được google xây dựng và cung cấp miễn phí cho
các nhà phát triển ứng dụng Android. Android studio dựa vào IntelliJ IDEA, là một
IDE tốt cho nhất Java hiện nay. Do đó Android Studio sẽ là môi trường phát triển
ứng dụng tốt nhất cho Android.
1.3.2 Giới thiệu về SQLite
SQLite là hệ quản trị cơ sở dữ liệu quan hệ (Relational database management
system – RDBMS). SQLite có những điểm mạnh sau:





mã nguồn mở
tuân theo quy chuẩn về cơ sở dữ liệu
kích thước nhẹ
cấu trúc đơn tầng

SQLite được cài đặt như một thư viện nhỏ gọn và là một phần trong bộ phần
mềm Android. Ngoài ra, SQLite cung cấp các chức năng như thông qua một thư
viện chứ không phải là một quá trình riêng biệt. Mỗi cơ sở dữ liệu sẽ trở thành một
phần được tích hợp trong ứng dụng. Điều này giúp làm giảm sự phụ thuộc vào bên
ngoài, tối thiểu độ trễ và đơn giản hóa các giao dịch và đồng bộ.
Kích thước nhẹ và mạnh mẽ, SQLite khác với nhiều với nhiều cơ sở dữ liệu
khác bằng cách sử dụng hướng tiếp cận mềm dẻo để định nghĩa cột. Thay vì yêu

cầu giá trị của cột phải phù hợp với 1 loại duy nhất, giá trị trong mỗi hàng cho mỗi
cột. Dẫn đến là không có sự yêu cầu chặt chẽ nào cho giá trị của mỗi cột trong một
hàng.

Nông Đức Mạnh – 10T2

25


×