Khóa luận Nghiên cứu xây dựng ứng dụng học tiếng Anh theo ngữ cảnh trên thiết bị di động
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Lê Duy Khánh
NGHIÊN CỨU XÂY DỰNG
ỨNG DỤNG HỌC TIẾNG ANH THEO NGỮ
CẢNH TRÊN THIẾT BỊ DI ĐỘNG
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Mạng và Truyền thông
HÀ NỘI - 2010
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Lê Duy Khánh
NGHIÊN CỨU XÂY DỰNG
ỨNG DỤNG HỌC TIẾNG ANH THEO NGỮ
CẢNH TRÊN THIẾT BỊ DI ĐỘNG
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Mạng và Truyền Thông
Cán bộ hướng dẫn: ThS. Nguyễn Việt Anh
HÀ NỘI - 2010
LỜI CẢM ƠN
Khóa luận này được thực hiện trong một thời gian không phải là dài, xong đây là
công trình lớn nhất mà tôi đã thực hiện được trong thời gian học tập ở trường đại học.
Ngoài sự cố gắng, nỗ lực của bản thân còn có sự giúp đỡ của nhiều người để tôi có thể
hoàn thiện được khóa luận này.
Đầu tiên, con xin vô cùng biết ơn cha mẹ, đã có công sinh thành, dưỡng dục,
thương yêu, chăm sóc con để con có được ngày hôm nay.
Sau tôi xin bày tỏ lòng biết ơn sâu sắc nhất đến ThS. Nguyễn Việt Anh, người thầy
không chỉ hướng dẫn tận tình cho tôi trong suốt khóa luận này mà còn là người dẫn
dắt, chỉ đường cho tôi trong suốt một năm qua. Đồng thời tôi cũng xin cám ơn tới tất
cả các thầy cô giáo trong khoa CNTT- Trường ĐH Công Nghệ đã truyền đạt những
kiến thức, kinh nghiệm quý báu trong quá trình học tập và nghiên cứu.
Tôi xin chân thành cảm ơn anh Đỗ Thế Chuẩn và anh Vũ Hồng Phong đã nhiệt tình
giải đáp các thắc mắc về kỹ thuật trong suốt quá trình nghiên cứu và thực hiện khóa
luận này.
Cuối cùng, tôi xin cảm ơn các bạn của tôi : Nguyễn Sỹ Tuấn và Nguyễn Minh Hà
đã hỗ trợ tôi trong suốt quá trình thực hiện khóa luận.
Xin chân thành cảm ơn tất cả.
Hà Nội , ngày 21 tháng 05 năm 2010
Người thực hiện
Lê Duy Khánh
TÓM TẮT
Học theo ngữ cảnh là một khái niệm khá mới mẻ ở nước ta. Trong khóa luận này,
tôi sẽ tập trung trình bày các khái niệm về ngữ cảnh, cách một ứng dụng nhận diện
được sự thay đổi ngữ cảnh và cách thức triển khai một ứng dụng học Tiếng Anh theo
ngữ cảnh trên thiết bị di động.
Bài toán đặt ra là xây dựng một ứng dụng hỗ trợ người học Tiếng Anh ngay trên
thiết bị di động của mình. Ứng dụng này có tính năng nhận diện ngữ cảnh, tự động tùy
biến nội dung học tập sao cho nội dung đó là phù hợp nhất với ngữ cảnh hiện tại của
người học. Để giải quyết vấn đề này, trong khóa luận tôi sẽ đưa ra một mô hình đề
xuất giúp ứng dụng có thể nhận diện các thay đổi về ngữ cảnh đồng thời trích xuất nội
dung bài học phù hợp dựa trên thông tin ngữ cảnh đó.
Trong phần thực nghiệm, tôi đã tiến hành xây dựng một ứng dụng thử nghiệm, với
một vài nội dung bài học đơn giản nhằm minh họa các tính năng chính của chương
trình. Đồng thời, có một vài đánh giá về kết quả chương trình và đưa ra phương
hướng phát triển chương trình trong tương lai.
Khóa luận gồm có 5 chương :
Chương 1 : Giới thiệu bài toán
Chương 2 : Đề xuất mô hình
Chương 3 : Các khái niệm liên quan
Chương 4 : Mô hình thử nghiệm
Chương 5 : Tổng kết
Từ khóa : context, context-aware, context-adaption, mobile learning, mobile
mearning in context, học theo ngữ cảnh, di động, thích nghi ngữ cảnh.
MỤC LỤC
CHƯƠNG 1 GIỚI THIỆU ....................................................................................................................1
1.1 Đặt vấn đề ..................................................................................................................................1
1.2 Mục tiêu nghiên cứu...................................................................................................................2
CHƯƠNG 2 HƯỚNG GIẢI QUYẾT VÀ MÔ HÌNH ..........................................................................3
2.1 Hướng giải quyết........................................................................................................................3
2.1.1
2.1.2
2.1.3
Hệ thống cần cung cấp dịch vụ khi nào ?.........................................................................3
Hệ thống cần cung cấp những nội dung gì? .....................................................................4
Hệ thống truyền tải nội dung đến người dùng như thế nào? ............................................4
2.2 Mô hình đề xuất .........................................................................................................................5
2.2.1
2.2.2
2.2.3
2.2.4
2.2.5
Người dùng.......................................................................................................................6
Nhận biết ngữ cảnh...........................................................................................................8
Xây dựng nội dung.........................................................................................................11
Cơ sở dữ liệu ..................................................................................................................14
Nhà cung cấp nội dung...................................................................................................14
CHƯƠNG 3 CÁC KHÁI NIỆM VÀ CÔNG NGHỆ LIÊN QUAN....................................................15
3.1 Dịch vụ hướng vị trí (Location Base Services )......................................................................15
3.2 Ngữ cảnh và Học theo ngữ cảnh trên di động..........................................................................17
3.2.1
3.2.2
3.2.3
3.2.4
Ngữ cảnh (Context)........................................................................................................17
Nhận biết ngữ cảnh (Context-Aware) ............................................................................18
Học trên di động (Mobile Learning ) .............................................................................18
Học theo ngữ cảnh trên di động (Mobile Learning in Context).....................................19
3.3 Java 2 Micro Edition – J2ME...................................................................................................20
3.3.1
3.3.2
3.3.3
Đôi nét về J2ME.............................................................................................................20
Cấu trúc J2ME................................................................................................................20
Vòng đời của một ứng dụng J2ME ................................................................................22
3.4 Webservice...............................................................................................................................24
3.4.1
3.4.2
3.4.3
Khái niệm.......................................................................................................................24
Web Service Descripttion Language (WSDL)...............................................................25
Simple Object Access Protocol (SOAP) .......................................................................27
3.5 Kỹ thuật định vị A-GPS (Assisted GPS)..................................................................................30
CHƯƠNG 4 Mô hình thử nghiệm.......................................................................................................32
4.1 Phân tích thiết kế hệ thống.......................................................................................................32
4.1.1
4.1.2
4.1.3
4.1.4
4.1.5
Biểu đồ ngữ cảnh hệ thống.............................................................................................32
Biểu đồ phân rã chức năng.............................................................................................33
Chức năng chi tiết hệ thống............................................................................................33
Cơ sở dữ liệu ..................................................................................................................35
Luồng xử lý phía client ..................................................................................................39
4.2 Cài đặt ......................................................................................................................................40
4.2.1
4.2.2
4.2.3
Yêu cầu phần cứng và phần mềm ..................................................................................40
Client..............................................................................................................................40
Server .............................................................................................................................41
4.3 Thử nghiệm..............................................................................................................................46
4.3.1
4.3.2
4.3.3
Dữ liệu thử nghiệm.........................................................................................................46
Kết quả thử nghiệm........................................................................................................47
Nhận xét .........................................................................................................................49
CHƯƠNG 5 TỔNG KẾT....................................................................................................................50
5.1 Kết quả đạt được ......................................................................................................................50
5.2 Hạn chế ....................................................................................................................................50
5.3 Hướng phát triển ......................................................................................................................51
DANH SÁCH CÁC HÌNH VẼ
Hình 2.2-1 Mô hình hệ thống cung cấp dịch vụ học Tiếng Anh theo ngữ cảnh trên
di động.............................................................................................................................1
Hình 2.2-2 Các tác nhân thể hiện ngữ cảnh của người dùng....................................6
Hình 2.2-3 Ví dụ thông điệp dạng xml .....................................................................8
Hình 2.2-4 Mô hình nhận biết ngữ cảnh...................................................................8
Hình 2.2-5 Cảm biến.................................................................................................9
Hình 2.2-6 Trích xuất đặc trưng ...............................................................................9
Hình 2.2-7 Mô hình hóa..........................................................................................10
Hình 2.2-8 Phân loại ngữ cảnh ...............................................................................10
Hình 2.2-9 Thực thi.................................................................................................11
Hình 2.2-10 Hình hiển thị câu hỏi trên thiết bị.......................................................12
Hình 3.1-1 Những thành phần cơ bản của một LBS...............................................16
Hình 3.1-2 Phân loại thông tin ngữ cảnh................................................................16
Hình 3.3-1 Vị trí các profile trong j2me .................................................................22
Hình 3.3-2 Vòng đời của một MIDlet.....................................................................23
Hình 3.4-1 Mô tả webservice..................................................................................24
Hình 3.4-2 Cấu trúc chung của một văn bản WSDL..............................................25
Hình 3.4-3 Mô tả cách thức SOAP làm việc ..........................................................27
Hình 3.4-4 Cấu trúc một thông điệp SOAP............................................................28
Hình 3.5-1 Nguyên lý hoạt động của A-GPS .........................................................31
Hình 4.1-1 Biểu đồ ngữ cảnh hệ thống.....................................................................1
Hình 4.1-2 Biểu đồ phân rã chức năng .....................................................................1
Hình 4.1-3 Biểu đồ dữ liệu......................................................................................36
Hình 4.1-4 Luồng xử lý phía client...........................................................................1
Hình 4.2-1 Màn hình đăng nhập và màn hình thông báo đăng nhập lỗi.................42
Hình 4.2-2 Màn hình đăng ký và màn hình thông báo nếu đăng ký xuất hiện lỗi..42
Hình 4.2-3 Màn hình hiển thị nhóm lĩnh vực và màn hình hiển thị địa điểm thuộc
lĩnh vực đó.....................................................................................................................43
Hình 4.2-4 Màn hình hỏi thời gian dành cho bài học và màn hình hiển thị nội dung
chi tiết bài học................................................................................................................44
Hình 4.2-5 Màn hình hiển thị thông báo confirm loại bỏ bài học và màn hình thông
báo khôi phục lại bài học...............................................................................................45
Hình 4.2-6 Hiển thị ô tìm kiếm và hiển thị danh sách các kết quả tìm kiếm được 45
Hình 4.2-7 Màn hình hiển thị nội dung chi tiết bài học tìm được và hướng dẫn sử
dụng ...............................................................................................................................46
CHƯƠNG 1 GIỚI THIỆU
1.1 Đặt vấn đề
Điện thoại di động đầu tiên ra đời với chức năng gọi và nhận cuộc gọi. Sự phát
triển mạnh mẽ của nền kinh tế ngày càng khẳng định vai trò của thông tin liên lạc đến
khả năng thành bại trong kinh doanh. Ngoài ra, nhu cầu trao đổi thông tin, giải trí của
con người cũng ngày càng được nâng cao và nhờ vào sự tiến bộ của khoa học kỹ thuật,
chiếc điện thoại ngày càng có nhiều tính năng mới, đa dạng hơn, tiến bộ hơn và hiện
đại hơn.
Năng lực xử lý và lưu trữ của điện thoại di động cũng liên tục được cải tiến. Các
hãng sản xuất đã làm cho chiếc điện thoại di động trở nên linh động hơn, giúp cho
người sử dụng có thể dễ dàng cấu hình giao diện và ứng dụng. Đặc biệt, bằng cách cho
phép lập trình viên viết thêm chương trình ứng dụng, trò chơi cho điện thoại, chiếc
điện thoại di động hiện nay đã trở thành một công cụ làm việc, học tập, giải trí hữu ích
với mọi người.
Mặt khác, cùng với sự phát triển của công nghệ thì thói quen tiếp cận và sử dụng
tài liệu cũng thay đổi khá nhiều. Với một chiếc máy tính có thể truy cập Internet người
học Tiếng Anh có thể học bất cứ lúc nào, bất cứ nơi nào miễn là nơi đó có thể truy cập
mạng với nội dung vô cùng phong phú và đa dạng. Người học không còn phải vật lộn
với hàng loạt các ngữ liệu học tập như băng đĩa, giáo trình, bài giảng… Ngoài các bài
học ngữ pháp đơn thuần người học còn có thể nghe, đọc và tương tác trực tiếp thông
qua internet.
Tuy nhiên, hình thức học này vẫn còn có một vài hạn chế. Thứ nhất là không phải
lúc nào và không phải ở đâu cũng có máy tính và mạng Internet để phục vụ cho việc
học tập. Thứ hai đó là nội dung của bài học là cố định và không mang tính khả chuyển.
Trong khi đó người học mong muốn nội dung của bài học được đưa ra phải phù hợp
với ngữ cảnh hiện tại của họ. Đồng thời họ có thể kiểm soát được trình độ cũng như
tiến trình học tập của họ. Vì vậy, để giải quyết vấn đề này chúng ta sẽ áp dụng một mô
hình còn khá mới mẻ ở Việt Nam, đó là mô hình học theo ngữ cảnh trên các thiết bị di
động. Mô hình sử dụng điện thoại như một công cụ để nhận biết ngữ cảnh của người
học và truyền tải nội dung phù hợp với ngữ cảnh hiện tại đến người đọc.
1
Khóa luận này tập trung vào trình bày về việc nghiên cứu, thiết kế, triển khai một
hệ thống học tiếng anh theo ngữ cảnh trên các thiết bị di động.
1.2 Mục tiêu nghiên cứu
Với bài toán như trên, khóa luận tốt nghiệp của tôi hướng đến mục tiêu :
Tìm hiểu ứng dụng trên điện thoại di động, cách xây dựng, lắp đặt, triển khai ( chủ
yếu là j2me)
Tìm hiểu các dịch vụ hướng vị trí (Location Base Service – LBS), cách xác định
location dựa vào GPS-A
Đưa ra mô hình và giải pháp giải quyết vấn đề học tiếng anh theo ngữ cảnh trên
thiết bị di động.
Xây dựng thí điểm ứng dụng học tiếng anh theo ngữ cảnh trên thiết bị di động
2
CHƯƠNG 2 HƯỚNG GIẢI QUYẾT VÀ MÔ
HÌNH
2.1 Hướng giải quyết
Mục tiêu của nghiên cứu là phát triển một ứng dụng giúp mọi người có thể học tập
ở bất cứ đâu, trong khoảng thời gian thích hợp nếu họ sở hữu một chiếc điện thoại di
động có hỗ trợ Java và kết nối vào Internet. Hệ thống sẽ cung cấp các tư liệu, nội dung
học tập phù hợp với ngữ cảnh hiện tại của người sử dụng. Bên cạnh đó trong quá trình
hoạt động hệ thống sẽ tự động nhận biết sự thay đổi ngữ cảnh để thay đổi nội dung cho
phù hợp. Vậy vấn đề đặt ra là khi nào hệ thống cung cấp nội dung cho người sử dụng,
cung cấp nội dung đó như thế nào và nội dung đó là gì ?
2.1.1 Hệ thống cần cung cấp dịch vụ khi nào ?
Cái khó của một hệ thống hoạt động theo ngữ cảnh chính là phải biết hoạt động khi
nào, khi nào cần cung cấp dịch vụ, hệ thống gần như một hệ thống thụ động trong việc
nhận biết yêu cầu tuy nhiên lại linh hoạt trong việc đáp lại( phản ứng lại) các yêu cầu.
Các thiết bị di động ngày càng thông minh, cộng với năng lực xử lý cao cho phép
chúng ta có thể tích hợp một số công cụ vào trong điện thoại nhằm thu thập thông tin
về môi trường, không gian.. xung quanh nó.
Hiện nay, hầu hết các điện thoại di động hoặc laptop đều trang bị công cụ định vị
GPS hay camera hay các senser… Các thiết bị này có thể giúp ta xác định được hiện
trạng của môi trường xung quanh người dùng (thời tiết, vị trí, không gian), xác định
được tình trạng của người dùng. Từ đó hệ thống có thể nhận biết được ngữ cảnh và sự
thay đổi ngữ cảnh ngay lập tức.
Khi đã nhận thức được sự thay đổi của ngữ cảnh, hệ thống có thể quyết định xem
có cần phản ứng lại những thay đổi đó hay không. Dựa vào những thông tin thay đổi
đó hệ thống sẽ biết phải làm gì.
3
2.1.2 Hệ thống cần cung cấp những nội dung gì?
Một khi đã nhận biết được sự thay đổi của ngữ cảnh, hệ thống cần xác định lại nội
dung sao cho phù hơp với những thay đổi đó. Quá trình khởi tạo nội dung này hệ
thống cần phải làm 3 việc chính :
Xác định nội dung mà những thay đổi này ảnh hưởng tới, những thay đổi này có
liên quan đến tình hình hiện nay không ? tìm theo tên tuổi địa chỉ giới tính vị trí….
Xác định xem nội dung đó có phù hợp và có ích cho người dùng đó không ? tìm
theo lịch sử duyệt, xếp hạng các phần tử theo chiều giảm dần hoăc tăng dần theo số lần
xem
Nội dung mới đó đó có liên quan đến nội dung trước đó hay không? Có cần thiết
thêm nội dung trước vào không?
2.1.3 Hệ thống truyền tải nội dung đến người dùng như thế nào?
Sau khi đã xác định được nội dung, vấn đề còn lại chỉ làm việc chuyển tải nội dung
cho người sử dụng như thế nào và cách thức hiển thị ra sao.
Việc truyền dữ liệu trong mạng không dây chậm hơn nhiều so với truyền qua mạng
có dây do vậy việc lựa chọn kiểu kết nối mạng nào để truyền tải dữ liệu ta cũng cần
cân nhắc. Ta có thể chọn kiểu kết nối với server thông qua việc mở một socket riêng
hoặc có thể sử dụng httpconnection để request dữ liệu từ server. Trong khuôn khổ
nghiên cứu này tôi sử dụng httpconnection tạo ra các request gửi tới server và nhận
thông điệp nội dung trả về từ server. Một điểm cần lưu ý đó là do việc truyền tải dữ
liệu qua mạng không dây là chậm nên server cần tối ưu nội dung của tư liệu để việc
truyền tải có thể diễn ra nhanh hơn. Hiện nay hầu hết các điện thoại có hỗ trợ Java thì
đều hỗ trợ kết nối Internet, có thể là GPRS, HSCSD, EDGE, UMTF, WCDMA…
Với vấn đề hiển thị nội dung, để đảm bảo cho tính phù hợp với ngữ cảnh hiện tại
của người sư dụng thì việc hiển thị thông tin sao cho trực quan và gây được thiện cảm
với người sử dụng là 1 điều hết sức quan trọng. Giả dụ ta có cùng 1 nội dung bài học
Tiếng Anh được gửi về cho 2 người, 1 người nhiều tuổi và 1 người thanh niên thì việc
hiển thị nội dung cho người lớn tuổi cần rõ ràng mạch lạc, font chữ không quá nhỏ để
người lớn tuổi có thể dễ dàng đọc được, còn đối với người thanh niên ta cần hiển thị
nội dung vừa phải, dễ nhìn, nội dung sắp xếp cân đối, dễ nhìn… Đây cũng chính là 1
cách ta thực hiện context adaptive.
4
2.2 Mô hình đề xuất
Môi trường
- Thời gian
- Không gian
- Vị trí
- Xã hội
- …
Nhà
cung cấp
dịch vụ
Người học
Nhận biết
ngữ cảnh
Thông tin
ngữ cảnh
Ngữ cảnh
đoán
nhận
Nội dung
phù hợp
DBMS
Data
Xây dựng
nội dung
Ngữ liệu
trả về
Ngữ liệu
yêu cầu
Nhà cung cấp
nội dung
Hình 2.2-1 Mô hình hệ thống cung cấp dịch vụ học Tiếng Anh theo ngữ cảnh trên di động
Việc áp dụng hệ thống vào thực tế phụ thuộc rất nhiều vào nhu cầu và điều kiện
của người sử dụng. Mô hình sử dụng mô hình client – server làm nền tảng. Trong đó,
bao gồm các thành phần client(người sử dụng), nhà cung cấp dịch vụ (module đoán
nhận ngữ cảnh, module xây dựng nội dung, module truy xuất cơ sở dữ liệu), nhà cung
cấp nội dung .
Client có trách nhiệm thu thập thông tin ngữ cảnh từ môi trường cũng như từ người
dùng và truyền thông tin đó về server để server xử lý. Tại server dịch vụ, module nhận
biết ngữ cảnh chịu trách nhiệm xử lý, mô hình hóa ngữ cảnh từ đó phân loại ngữ cảnh
hiện tại cho phù hợp và chuyển kết quả cho module xây dựng nội dung. Tại đây,
module xây dựng nội dung sẽ truy suất vào cơ sở dữ liệu kết hợp với thông tin nhận
5
được từ module nhận biết ngữ cảnh để đưa ra nội dung phù hợp với ngữ cảnh hiện tại
của người dùng, đồng thời gửi nội dung đó về cho client.
Trong mô hình này việc đoán nhận ngữ cảnh ta sử dụng mô hình MIThril Real-
Time Context engine. Đây là một mô hình đơn giản dành cho việc phát triển và cài đặt
các ứng dụng phân loại ngữ cảnh theo thời gian thực.
2.2.1 Người dùng
Xung quanh người sử dụng luôn có rất nhiều các tác nhân ảnh hưởng tới môi
trường cũng như ngữ cảnh của người sử dụng. Tuy nhiên, ta không thể kiểm soát hết
được thông tin về các tác nhân này, mà chỉ có thể chọn lọc những tác nhân có tầm ảnh
hưởng nhất định đến ngữ cảnh của người sử dụng. Và client trên điện thoại người sử
dụng chịu trách nhiệm như là các sensor trong mô hình MIThril Real-Time Context
engine. Nó nhận biết các thông tin từ môi trường xung quanh và các thông tin cá nhân
của người sử dụng cũng như là tiếp nhận các thông tin mà được người sử dụng cung
cấp một cách rõ ràng. Nó tương tự như là một quá trình số hóa các thông tin từ thế giới
thực để đưa vào chương trình.
Hình 2.2-2 Các tác nhân thể hiện ngữ cảnh của người dùng
Vị trí (Location) của người sử dụng : là thông tin thực về vị trí hiện tại của người
dùng ( của mobile). Ta có thể biểu diễn nó theo kinh độ và vĩ độ. Do vị trí của người
dùng thay đổi thường xuyên nên việc xác định vị trí của người dùng là được ưu tiên.
Có nhiều cách ta có thể xác định được vị trí hiện tại của người sử dụng như sử dụng
6
công nghệ định vị A-GPS, E-OTD hay Cell-ID hoặc TOA… Ngoài ra, location còn
bao gồm cả các thông tin không gian, và vị trí hiện tại của người sử dụng.
Thời gian (Time) : Thời gian ở đây là nhằm chỉ thời gian trong ngày và ngày trong
năm .Thời gian cũng là một thành phần quan trọng trong các thông tin về trạng thái
của ngữ cảnh người sử dụng. Với các dòng điện thoại như hiện nay thì việc nắm bắt
được thời gian hiện tại là không khó khăn lắm.
Không gian xung quanh người dùng : tất cả các thông tin về trạng thái, thể trạng
của môi trường xung quanh người dùng. Thông tin đó có thể là nhiệt độ ngoài trời, độ
sáng, độ ẩm không khí, số lượng người trong cùng không gian, mức độ ồn. Hệ thống
sẽ tự động chọn lựa các thuộc tính sao cho thông tin đó phản ánh đúng thực trạng của
môi trường lúc đó. Thông tin này được lấy từ các công nghệ được tích hợp sẵn trên di
động, tuy không phải máy nào cũng có đầy đủ các công nghệ được tích hợp để lấy
được hết thông tin từ môi trường nhưng nếu càng nhiều thông tin được thu thập hơn
thì việc chuẩn đoán ngữ cảnh càng chính xác hơn.
Đặc điểm của điện thoại (phần cứng, phần mềm) : Thông tin về cấu hình của
điện thoại cũng là một tiêu chí trong “nhận biết ngữ cảnh”. Tùy vào từng cấu hình mà
hệ thống sẽ trích xuất thông tin và định dạng thông tin một cách hợp lý, nhằm tối ưu
hóa khả năng đón nhận cũng như hiển thị nội dung đó trên điện thoại. Thường thì mỗi
dòng điện thoại lại có các thiết kế phần cứng và phần mềm khác nhau như : kích thước
màn hình, dung lượng bộ nhớ, kiểu truyền thông (wifi, 3G, 2G)… Các thông tin này
có thể nhận biết được thông qua quá trình truy vấn người sử dụng hoặc hệ thống cũng
có thể đoán nhận một phần nào đó thông qua các thông điệp gửi lên từ client.
Văn hóa và xã hội (Cultural and Social) : Thông tin về văn hóa xã hội như tục
lệ, thói quen, cách ứng xử … của người sử dụng cũng quyết định phần nào nội dung và
hình thức của thông tin. Giả dụ với một người theo đạo hindu thì ta không nên đưa ra
nội dung có liên quan tới thịt bò hoặc ăn thịt bò được, tuy nhiên với những người khác
thì lại không sao.
Thông tin tình trạng người dùng : Thông tin về thể trạng trí nhớ, trình độ, tên
tuổi, nơi ở… Ngoài ra còn có các thông tin như thông tin các hoạt động hiện tại, các
hoạt động trong quá khứ, các sự kiện diễn ra… các thông tin này rất quan trọng đối với
hệ thống để xác định nội dung cũng như cách thức hiển thị nội dung cho phù hợp.
Thông tin này là do người dùng tự cung cấp cho server.
7
Thông tin gửi lên server chính là tập hợp tất cả những thông tin về các tác nhân
này. Ví dụ dưới là một mẩu thông điệp mà client gửi thông tin về nhiệt độ phòng tới
server. Thông điệp được gửi theo định dạng XML.
Hình 2.2-3 Ví dụ thông điệp dạng xml
2.2.2 Nhận biết ngữ cảnh
Hình 2.2-4 Mô hình nhận biết ngữ cảnh
Mô đun này chịu trách nhiệm nhận thông tin ngữ cảnh từ client gửi lên, phân tích
và phân loại ngữ cảnh đó. Tiến trình sensing đã được thực hiện tại client. Và mô đun
nhận biết ngữ cảnh chỉ cần tiếp nhận thông tin đó từ client để xử lý.
8
Hình 2.2-5 Cảm biến
Cảm biến (Sensing) : Nhận biết các thông tin từ môi trường xung quanh người
dùng. Thật ra thế giới xung quanh người rất phức tạp. Chúng ta chỉ có thể biết về
những thông tin mà các bộ cảm biến nhận biết được hoặc thông tin đó được cung cấp
một cách rõ ràng. Quá trình này tương tự như quá trình số hóa các thông tin “analog”
từ thế giới thực vào. Đối với bất kỳ một mô hình với một nhiệm vụ cụ thể, những
thông tin số đó đề có thể chứa những thông tin hữ ích hoặc cũng có thể chứa những
thông tin dư thừa, do vậy hệ thống cần có quá trình bóc tách và trích xuất dữ liệu.
Hình 2.2-6 Trích xuất đặc trưng
Trích xuất đặc trưng (Feature Extraction) : Tùy vào các tính năng của hệ thống
mà ta trích xuất thông tin từ các thông tin dạng thô ra sao cho phù hợp. Quá trình trích
xuất này có thể là chuyển hóa các thông tin dưới dạng thô từ quá trình Sensing thành
một dạng nào đó phù hợp với chức năng, nhiệm vụ hệ thống.
9
Hình 2.2-7 Mô hình hóa
Mô hình hóa (Modeling) : Từ những thông tin do quá trình Feature Extraction
cung cấp, chúng ta sử dụng kỹ thuật thống kê để tạo ra các mô hình phân biệt. Với mỗi
mô hình này cho phép ta trả lời câu hỏi “Người sử dụng đang ở trong hoàn cảnh nào ?
Trạng thái của người sử dụng như thế nào? Nó có tương tự như trạng thái XYZ nào đó
không?” Trong khuôn khổ khóa luận này, ta chỉ ta tập trung vào các mô hình hỗn hợp
đơn giản bao hàm các thông tin cần thiết.
Hình 2.2-8 Phân loại ngữ cảnh
Context Classification : Quá trình này phân loại các ngữ cảnh độc lập thành các
dạng ngữ cảnh cơ bản một cách tự nhiên và hiệu quả. Kết quả của quá trình phân loại
này chính là output của mô hình nhận biết ngữ cảnh. Hiếm khi có sự tương ứng một
một giữa một mô hình đơn lẻ hoặc một loại mô hình nào đó với một hành động được
thực hiện. Quá trình phân loại ngữ cảnh sử dụng ngôn ngữ xác suất tự nhiên để xác
định ngữ cảnh nào đó. Giả dụ ta có tập luật : “Nếu ngày x là một ngày trong tuần (từ
thứ 2 đến thứ 6) và thời gian là sau 17h00 và hành động của anh ta là giống như
đang rời khỏi phòng”. Vậy thì bối cảnh hành động của anh ta là anh ta anh ta đang đi
làm về.
10
Hình 2.2-9 Thực thi
Thực thi (action) hay kết quả của quá trình Context Classification được đẩy lên cho
ứng dụng. Tuy nhiên ứng dụng có thể tương tác với hệ thống nhận biết ngữ cảnh bằng
cách thêm mới các tập luật, các mô hình và các tính năng.
2.2.3 Xây dựng nội dung
Thông tin về ngữ cảnh ( cũng như là các hành động, phản ứng) của người sử dụng
được gửi tới server. Từ các thông tin như vậy và dựa trên tập luật đã được xây dựng,
server sẽ xử lý về nội dung phù hợp nhất với hoàn cảnh hiện tại của người sử dụng.
Quá trình diễn ra hoàn toàn tự động. Thông tin trả về cho client thể hiện việc server
phản ứng lại đối với các hành động vừa diễn ra của client. Do đó chúng ta cần xây
dựng nội dung để trả về cho client. Vậy nội dung đó như thế nào? Làm sao để tạo ra
nội dung ấy?
2.2.3.1
Khuôn dạng nội dung
Nội dung trả về được chia làm 2 loại là tư liệu học tập và các thông báo của server
với client.
Tư liệu học tập : nội dung trả về là các lý ngữ pháp, bài tập, thực hành được trình
bày dưới dạng text hoặc dưới dạng các file media ( mp3, wav..) hoặc cũng có thể là
một cấu trúc thông tin sử dụng cho việc tạo bài test.
Ví dụ :
Nội dung về ngữ pháp
Mệnh lệnh thức trực tiếp
11
Close the door
Please turn off the light.
Open the window.
Be quiet.
Sau đây là lời thoại trong một đoạn quảng cáo bia trên TV:
Tên cướp xông vào một quán bia, rút súng ra chĩa vào mọi người và quát:
- Give me your jewelry! Don’t move!
Một thanh niên từ từ tiến lại từ phía sau, gí một chai bia Laser lạnh vào gáy hắn:
- Drop your weapon!
Tên cướp tưởng sau gáy hắn là một họng súng liền buông vũ khí đầu hàng.
Giả sử cấu trúc một câu hỏi trong bài test
<question>Q1 - She played _____.<question>
<choices>
<answ>beautiful </answ>
<answ>beautifuly</answ>
<answ>beautifully</answ>
</choices>
Hình 2.2-10 Hình hiển thị câu hỏi trên thiết bị
Nội dung trả về một link file media. Có thể là thông điệp dưới dạng
Thông điệp và các thông tin điều khiển client : Ngoài các ngữ liệu học tập ra
thông điệp trả về cũng cần có những thông tin điều khiển giúp client hoạt động một
cách đúng đắn. Ngoài các phương cách hiển thị nội dung, thì còn có thể có thêm các
thông báo cho người sử dụng, hoặc các dạng form tương tác để lấy ý kiến người sử
dụng…
12
2.2.3.2
Xây dựng nội dung thích nghi theo ngữ cảnh
Vấn đề cơ bản nhất trong việc xác định nội dung bài học thích nghi theo ngữ cảnh
hiện tại của người học đó là việc xác định được ngữ cảnh học tập và việc xác định nội
dung. Trong khuôn khổ khóa luận này ta sẽ xây dựng một tập luật đơn giản để qua đó
với mỗi ngữ cảnh độc lập ta lại xác định được một tập các nội dung phù hợp với ngữ
cảnh đó.
Để xây dựng tập luật này đầu tiên ta cần xác định được các thành phần cấu thành
lên tập luật đó.
Đầu tiên đó là “Location” của người dùng, “Location” tương ứng với khái niệm vị
trí, không gian mà người dùng đang hiện hữu. Đó có thể là một siêu thị nào đó, một
cửa hàng thể thao nào đó hoặc cũng có thể là trong một rạp chiếu phim… Sở dĩ ta
chọn “Location” làm điểm đầu tiên để đánh giá về ngữ cảnh đó là do vị trí của người
dùng rất quan trọng và nó ảnh hưởng đến hầu hết các thuộc tính khác của môi trường.
Ở trong khuôn khổ khóa luận này ta coi “Location” như là một trường hợp đặc biệt của
ngữ cảnh. Và đi coi như đó là một ngữ cảnh đã được phân loại.
Thứ hai đó là “Thông tin người dùng”, các thông tin về người dùng sẽ cung cấp
những thông tin về độ tuổi, giới tính, tình hình sức khỏe, trình độ hiện tại, … Nó sẽ
giúp ta nhiều trong việc chọn lựa nội dung ngữ liệu và cách hiển thị.
Thứ ba là “Lịch sử học tập “, những thông tin về quá trình học tập của người sử
dụng, những kiến thức mà người học đã từng học qua…
Với việc xây dựng một tập luật đơn giản ta chỉ cần 3 thành phần trên để minh họa
cho phương cách hoạt động của module “xây dựng nội dung” cung cấp ngữ liệu cho
người dùng.
Nội dung = ND(“Location”, “User Info”, “Learning History”);
Ở đây, để đơn giản ta sử dụng một dãy các luật if then để hình thành luật.
Ví dụ :
if( location== A ) then
If( userInfo == U) then
If( LearningHistory == E ) then {}
If(userInfo == V ) then
….
13
2.2.4 Cơ sở dữ liệu
Module ‘cơ sở dữ liệu’ đóng vai trò là nơi lưu trữ tất cả các thông tin về người
dùng cũng như là nội dung tư liệu của bài học. Hệ sử dụng một hệ quản trị cơ sở dữ
liệu : mysql hoặc mssql để quản lý dữ liệu người dùng. Hệ thống có thể lưu lại các
lược sử sử dụng của người dùng như : thời gian, mô hình ngữ cảnh hiện tại, những nội
dung đã cung cấp, trình độ hiện tại… Đối với ngữ liệu học tập thì được chia làm 2 loại
: nội dung dạng text hoặc nội dung dạng media. Đối với mỗi loại dạng nội dung khác
nhau ta có cách lưu trữ khác nhau để tối ưu bộ nhớ cũng như tối ưu cho việc truy suất
cơ sở dữ liệu.
2.2.5 Nhà cung cấp nội dung
Nhà cung cấp nội dung chuyên cung cấp các tư liệu học tập như : bài tập, giáo
trình, bài kiểm tra, bài test, các bài luyện nghe, luyện phát âm…vv. Bên cung cấp dịch
vụ khi có yêu cầu nội dung sẽ gửi yêu cầu tới nhà cung cấp nội dung. Từ đó nhà cung
cấp nội dung sẽ trả lại nội dung mà nhà cung cấp dịch vụ yêu cầu.
14
CHƯƠNG 3 CÁC KHÁI NIỆM VÀ CÔNG
NGHỆ LIÊN QUAN
3.1 Dịch vụ hướng vị trí (Location Base Services )
LBS là các dịch vụ có thể cung cấp cho các thiết bị di động thông qua mạng di
động và chức năng của các thiết bị đó.
LBS phát triển dựa trên công nghệ : GIS, internet và Mobile devices. Dựa vào công
nghệ GIS và các kỹ thuật định vị đã chuyển dần các ứng dụng truyền thống sang các
ứng dụng dựa trên vị trí. Thông qua việc tích hợp các công nghệ này vào các thiết bị di
động. Các nhà cung cấp dịch vụ có thể cung cấp rất nhiều các ứng dụng khác nhau dựa
cho các khách hàng khác nhau và ở những vị trí khác nhau. Các dịch vụ này được gọi
là các dịch vụ dựa trên vị trí người sử dụng hay là dịch vụ hướng vị trí.
Người sử dụng cung cấp thông tin cho nhà cung cấp dịch vụ : vị trí của họ, hoàn
cảnh xung quanh họ, nhu cầu cần đáp ứng… . Dựa vào những thông tin do người dùng
cung cấp, nhà cung cấp dịch vụ di động sẽ đưa ra những thông tin mà họ mong muốn.
Dịch vụ hướng vị trí là gì ?
Dịch vụ hướng vị trí (Location-Based Services) hay LBS là khái niệm xuất hiện từ
những năm 2000 tuy nhiên có chưa một định nghĩa, một khái niệm rõ ràng về nó. Ví
dụ như :
LBS là những dịch vụ cung cấp thông tin thông qua mạng lưới di động và sử dụng
khả năng xác định vị trí của các mạng di động [Virrantaus et al. 2001].
Hoặc LBS là dịch vụ mạng không dây sử dụng thông tin địa lý để phục vụ người sử
dụng di động. Bất kỳ dịch vụ nào mà ứng dụng của nó có sử dụng vị trí của thiết bị
đầu cuối đều là LBS.
Một dịch vụ dựa trên vị trí (LBS) yêu cầu có 5 thành phần cơ bản :
Phần mềm ứng dụng của nhà cung cấp dịch vụ
• Mạng di động dùng để trao đổi dữ liệu và yêu cầu cho dịch vụ
• Nhà cung cấp nội dung cho người dùng cuối dựa trên thông tin về vị trí của
người dùng cuối.
• Thiết bị định vị vị trí ( GPS được tích hợp trong điện thoại chẳng hạn)
• Thiết bị di động của người dùng cuối
15
Hình 3.1-1 Những thành phần cơ bản của một LBS
Trong nghiên cứu, LBS được coi như là một tập con đặc biệt của các dịch vụ nhận
biết ngữ cảnh (Context-aware Services). Nói chung, các dịch vụ nhận biết ngữ cảnh
được định nghĩa là các dịch vụ thích nghi tự động với các hành vi của chúng, ví dụ lọc
hoặc biểu diễn thông tin đối với 1 hoặc nhiều tham số phản ánh ngữ cảnh hiện tại và
mục tiêu. Các tham số này chính là thông tin ngữ cảnh.
LBS luôn được xem là các dịch vụ nhận biết ngữ cảnh vì vị trí chính là một trường
hợp đặc biệt của thông tin ngữ cảnh. Thông tin ngữ cảnh thường thì có những thông tin
quan trọng và có những thông tin ít quan trọng hơn
Hình 3.1-2 Phân loại thông tin ngữ cảnh
LBS có 2 dạng đó là LBS phản ứng (reactive) và LBS thực hiện trước
(proactive). Một LBS reactive luôn được kích hoạt bởi người dùng (kích hoạt phiên
làm việc ), và có sự tương tác yêu cầu dịch vụ và trả về nội dung yêu cầu của người
16
dùng. Chu trình yêu cầu và hồi đáp có thể thực hiện nhiều lần trước khi phiên làm việc
kết thúc. Do có chu trình lặp đi lặp lại như vậy nên LBS phản ứng thường được đặc
trưng bởi một mẫu tương tác đồng bộ giữa người dùng và dịch vụ. Ví dụ, người dùng
muốn tìm quán café vào buổi sáng ở gần nơi anh ta ở. Khi đó anh ta sẽ yêu cầu thiết
lập phiên làm việc với dịch vụ. Lần đầu anh ta yêu cầu danh sách các quán café quanh
anh ta. Dịch vụ sẽ tìm và lọc danh sách các quán café xung quanh nơi anh ta ở và trả
về cho anh ta. Sau đó anh ta yêu cầu tiếp xem những quán nào đang trong giờ mở cửa
hoặc quán nào có loại café Capuchino… Quá trình này sẽ tiếp tục cho tới khi nào dịch
vụ tìm thấy quán đúng anh ta yêu cầu. Khác với LBS phản ứng thì LBS thực hiện
trước được khởi tạo tự động ngay khi một sự kiện vị trí xác định trước xuất hiện. Giả
sử một du khách sử dụng dịch vụ LBS trong một bảo tàng lịch sử rộng lớn. Khi du
khách đi vào một vùng nào đó mới, thông tin giới thiệu về nơi đó hoặc những hiện vật
xung quanh đó sẽ được tự động gửi về máy của du khách. Ở LBS proactive, dịch vụ tự
thực hiện trước khi có yêu cầu của người dùng nên sự tương tác giữa người sử dụng và
dịch vụ xảy ra không đồng bộ.
3.2 Ngữ cảnh và Học theo ngữ cảnh trên di động
3.2.1 Ngữ cảnh (Context)
Context ta tạm dịch sang Tiếng Việt nghĩa là “Ngữ cảnh”. Nó là bất cứ thông tin
nào có thể dùng để phân biệt, xác định tình trạng hiện thời của thực thể hoặc các hành
động của thực thể. Ngữ cảnh bao hàm các thông tin về hiện trạng, trạng thái, vị trí,
không gian liên quan đến một cá nhân hoặc sự kiện cụ thể. Một ngữ cảnh là một môi
trường mà thực thể đó tồn tại hoặc sự kiện nào đó xảy ra. Ngữ cảnh là cực kỳ quan
trọng vì nó kiểm soát, ảnh hưởng và tác động đến mọi thứ trong nó. Theo Dey e tal .
(2001).
Mọi thứ đều diễn ra trong một ngữ cảnh nhất định. Và ngữ cảnh đó là duy nhất, nó
chi phối nội dung trong nó. Ta có thể xác định ngữ cảnh của một thực thể hoặc một sự
kiện thông qua đặc điểm riêng của thực thể hoặc sự kiện đó và môi trường chứa nó.
Như vậy với mỗi ngữ cảnh ta cần mã hóa và biểu diễn theo một dạng nào đó trên máy
tính, thông tin dạng số này cho phép máy tính có thể phân biệt và nhận biết các ngữ
cảnh và các thay đổi theo ngữ cảnh mà từ đó đưa ra các hành động thích hợp.
17
Khái niệm “context” có thể chia ra làm 2 dạng chính đó là : Ngữ cảnh về cá nhân
(Personal context), Ngữ cảnh môi trường (Environmental context ).
Ngữ cảnh cá nhân ( Personal context) : Nó tồn tại với mỗi người chúng ta, bao gồm
tất cả các thông tin riêng liên quan đến cá nhân đó. Nó được xác định bới các thành
phần tĩnh ( không thay đổi ) như tên, sở thích, quê quán và các thành phần động như
tốc độ di chuyển, vị trí hiện tại… Ngữ cảnh cá nhân.
Ngữ cảnh về môi trường : bao gồm tất cả các thông tin về hoàn cảnh, trạng thái,
môi trường mà thực thể đó đang tồn tại. Ví dụ như vị trí hiện thời của thực thể, thời
tiết ở xung quanh thực thể, …
3.2.2 Nhận biết ngữ cảnh (Context-Aware)
Context-aware : Nhận biết ngữ cảnh. Một ứng dụng có khả năng nhận biết được
ngữ cảnh nếu nó sử dụng các thông tin về ngữ cảnh để cung cấp thông tin hoặc dịch vụ
tới người sử dụng sao cho thông tin đó liên quan chặt chẽ đến các hành động, ứng xử..
của họ. Khái niệm này gân tương tự như khái niệm Adaption-context, tuy nhiên
Context-aware chính là một bước khởi đầu của toàn bộ quá trình Adaption-context.
Context-aware sử dụng các luật tự xây dựng và thông tin đầu vào để xác định và phân
loại các ngữ cảnh theo từng lớp sao cho từ đó có thể định nghĩa, cá thể hóa các hành
động(action) hoặc phản ứng của người dùng cũng như môi trường xung quanh người
dùng. Một hệ thống nhận biết ngữ cảnh thường có các tính năng :
• Trình diễn thông tin và các dịch vụ đối với người sử dụng.
• Tự động thực hiện một dịch vụ nào đó ( theo ngữ cảnh)
• Gán nhãn cho ngữ cảnh để sử dụng cho lần sau.
3.2.3 Học trên di động (Mobile Learning )
Học trên di động, một khái niệm không còn xa lạ với các nước tiên tiến tuy nhiên
lại là một khái niệm mới mẻ ở Việt Nam. Từ những năm 90, các trường đại học ở châu
Âu đã phát triển các chương trình học trên di động dành cho sinh viên. Năm 2007,
sinh viên trường Đại Học Cyber (Nhật Bản) được học thử nghiệm chương trình học
qua điện thoại di động, với nội dung về bí ẩn các Kim Tự Tháp Ai Cập. Đối với các
bài học trên PC, người học download bài giảng về máy tính. Bài học được cung cấp
dưới dạng hình và chữ, và một màn hình video nhỏ ở góc trên sẽ phát hình giáo viên
đang giảng bài. Còn đối với bài học trên di động thì đơn giản hơn nhiều – bài học chỉ
18
là các đoạn bài giảng bằng Power Point cho phù hợp với màn hình nhỏ xíu của điện
thoại di động.
Theo Georgiev, Georgieva, Smrikarov (2004) thì học trên di động (m-Learning)
chính là một nhánh của Học từ xa (d-Learning) hay (e-Learning). M-Learning có thể
được định nghĩa như là một cách sử dụng các thiết bị di động hoặc không dây để học
tập khi người học di chuyển hay không cố định. Người học có thể học ở bất cứ đâu,
vào bất cứ thời gian nào bao gồm cả những nơi như trường học, lớp học, ở nhà hay ở
trên ô tô, tàu điện ngầm, xe bus…
M-Learning cung cấp một giải pháp mạnh mẽ và thiết thực dành cho học tập và
đào tạo, chẳng hạn như :
Trong các dự án hợp tác và nghiên cứu thực địa
Như là một lớp học thay thế cho sách vở và máy tính
Các học viên không cần tập trung một nơi mà có thể ở nhiều nơi, địa điểm khác
nhau.
Đào tạo ‘just in time’
3.2.4 Học theo ngữ cảnh trên di động (Mobile Learning in Context)
Các phương pháp giáo dục hiện đại đều đòi hỏi học sinh có thể học tập khi ở trong
lớp hoặc bên ngoài lớp học. Đặc biệt với việc học trong thực tế, học viên có thể nắm
bắt được nội dung, kiến thức bài học nhanh hơn nhiều so với các phương pháp học lý
thuyết nhàm chán. Tuy nhiên, cơ sở hạ tầng dành cho việc học tập hiện nay không thể
đáp ứng được nhu cầu đó. Do vậy, Phương pháp học theo ngữ cảnh trên di động được
áp dụng nhằm giải quyết vấn đề “học mọi lúc mọi nơi” và “nội dung học tùy theo thế
giới thực xung quanh” nhằm giúp học sinh học tập với chiếc di động của mình. Đây là
một phương pháp kết hợp phương pháp học trên di động (Mobile Learning) và phương
pháp nhận diện ngữ cảnh (Context-aware) nhằm đưa ra những nội dung phù hợp nhất
so với ngữ cảnh hiện thời của người học thông qua việc mô hình hóa ngữ cảnh và phân
loại các ngữ cảnh.
19
3.3 Java 2 Micro Edition – J2ME
3.3.1 Đôi nét về J2ME
Công nghệ di động ngày càng phát triển. Chiếc điện thoại di động hiện nay không
còn đơn giản thực hiện nhiệm vụ thoại mà ngày càng trở thành một vật không thể thiếu
trong cuộc sống hằng ngày. Cùng với sự gia tăng về số lượng thì tính năng dành cho
điện thoại di động cũng tăng lên đáng kể. Hàng loạt các tính năng cao cấp được giới
thiệu như chụp hình số, nghe nhạc và đặc biệt nhất là có thể sử dụng các chương trình
không phải do nhà sản xuất điện thoại cung cấp.
Đây có thể được coi là một cuộc cách mạng trong lĩnh vực di động, nó biến chiếc
điện thoại nhỏ bé của bạn thành một chiếc máy tính thu nhỏ, với những chủng loại
điện thoại này bạn có thể đọc báo, tiểu thuyết, tra từ điển, bản đồ, truy cập internet và
nhất là mang thế giới giải trí đến bên cạnh, những bản nhạc hay, những games hay sẽ
luôn sẵn sàng mỗi khi bạn cần đến
Tuy nhiên, số lượng các loại máy di động ngày càng đa dạng cho nên việc phát
triển một ứng dụng cho nhiều dòng điện thoại là rất khó khăn. Chính vì vậy Sun đã đi
đầu trong việc phát triển một nền tảng sao cho có thể dung hòa các khác biệt về phần
cứng của các dòng điện thoại di động sao cho các thiết bị phần cứng khác nhau có thể
sử dụng chung một nền tảng phần mềm. Đó chính là Java 2 Platform Micro Edition (
J2ME).
3.3.2 Cấu trúc J2ME
3.3.2.1
Máy ảo Java - KMV
Cơ chế thực thi đằng sau bất kỳ ứng dụng Java nào là JVM (Java Virtual Machine).
Khi bạn biên dịch mã nguồn Java thành một lớp (.class) và đặt chúng vào trong file
lưu trữ .JAD của Java, máy ảo JVM sẽ biên dịch file .class này thành mã thực thi điều
khiển bởi JVM. Các mã trong file .class gọi là mã bytecode.
Đối với thiết bị cấu hình dạng CDC, máy ảo JVM có toàn bộ chức năng tương đương
với máy ảo phục vụ môi trường J2SE. Đối với thiết bị cấu hình dạng CLDC, Sun cài
đặt một phiên bản thu nhỏ hơn dành cho JVM gọi là K Virtual Machine (KVM). Chính
nhờ tầng này mà J2ME có thể dung hòa sự khác biệt giữa các phần cứng khác nhau.
20
3.3.2.2
Cấu hình (Configuration )
Là đặc tả định nghĩa một môi trường phần mềm cho một dòng các thiết bị được
phân loại bởi tập hợp các đặc tính, ví dụ như:
• Kiểu và số lượng bộ nhớ
• Kiểu và tốc độ bộ vi xử lý
• Kiểu mạng kết nối.
• …
Hiện nay Sun đã đưa ra 2 dạng Configuration.
CLDC (Connected Limited Device Configuration)
Cấu hình thiết bị kết nối giới hạn): được thiết kế để nhắm vào thị trường các thiết
bị cấp thấp (low-end), các thiết bị này thông thường là máy điện thọai di động và PDA
với khoảng 512 KB bộ nhớ.
Vì tài nguyên bộ nhớ hạn chế nên CLDC được gắn với Java không dây (Java
Wireless ), dạng như cho phép người sử dụng mua và tải về các ứng dụng Java, ví dụ
như là Midlet.
CDC (Connected Device Configuration)
Cấu hình thiết bị kết nối: CDC được đưa ra nhắm đến các thiết bị có tính năng
mạnh hơn dòng thiết bị thuộc CLDC nhưng vẫn yếu hơn các hệ thống máy để bàn sử
dụng J2SE. Những thiết bị này có nhiều bộ nhớ hơn ( thông thường là trên 2Mb) và có
bộ xử lý mạnh hơn. Các sản phẩm này có thể kể đến như các máy PDA cấp cao, điện
thoại web, các thiết bị gia dụng trong gia đình …
3.3.2.3
Mô tả (Profile)
Profile mở rộng Configuration bằng cách thêm vào các lớp để bổ trợ các tính năng
cho từng thiết bị chuyên biệt. Cả 2 Configuration đều có những profile liên quan và từ
những profile này có thể dùng các lớp lẫn nhau.
Ta có thể nhận thấy do mỗi profile định nghĩa một tập hợp các class khác nhau, nên
thường ta không thể chuyển một ứng dụng Java viết cho một profile này và chạy trên
một máy hỗ trợ một profile khác. Cũng với lý do đó, bạn không thể lấy một ứng dụng
viết trên J2SE hay J2EE và chạy trên các máy hỗ trợ J2ME. Một số các profile tiêu
biểu:
21
Mobile Information Device Profile (MIDP): Profile này sẽ bổ sung các tính năng
như hỗ trợ kết nối, các thành phần hỗ trợ giao diện người dùng … vào CLDC. Profile
này được thiết kế chủ yếu để nhắm vào điện thọai di động với đặc tính là màn hình
hiển thị hạn chế, dung lượng chứa có hạn. Do đó MIDP sẽ cung cấp một giao diện
người dùng đơn giản và các tính năng mạng đơn giản dựa trên HTTP. Có thể nói
MIDP là profile nổi tiếng nhất bởi vì nó là kiến thức cơ bản cho lập trình Java trên các
máy di động (Wireless Java).
PDA Profile: Tương tự MIDP, nhưng với thị trường là các máy PDA với màn hình
và bộ nhớ lớn hơn.
Foundation Profile: Cho phép mở rộng các tính năng của CDC với phần lớn các
thư viện của bộ Core Java2 1.3 và không hỗ trợ các ứng dụng GUI.
Personal profile: Mở rộng từ Foundation profile và cung cấp các API cho lập trình
GUI nhằm cung cấp giao diện đồ hoạ người dùng cho các trang Web có dùng Applet.
RMI profile: Mở rộng từ Foundation prrofile cung cấp RMI cho thiết bị. RMI
profile sẽ được dùng để tạo sự tương thích giữa các thiết bị cầm tay với J2SE RMI
API.
Ngoài ra còn có Personal Basis Profile, Game Profile.
Hình 3.3-1 Vị trí các profile trong j2me
3.3.3 Vòng đời của một ứng dụng J2ME
Hiện nay các dòng điện thoại có profile là MIDP phổ biến hơn và vòng đời của các
ứng dụng j2me trên các cấu hình khác nhau, profile khác nhau là gần như nhau nên ở
đây tôi sẽ chỉ trình bày về vòng đời của một ứng dụng MIDP.
Một MIDlet phải chứa ba phương thức trừu tượng chúng được gọi bởi trình quản lý
ứng dụng để quản lý vòng đời của một MIDlet. Các phương thức gồm có:
22
startApp(), pauseApp(),và destroyApp(boolean b)tương ứng với các
trạng thái Active, Paused, và Destroyed.
Phương thức startApp()được trình quản lý ứng dụng gọi khi một MIDlet
được khởi tạo và mỗi khi MIDlet trở về trạng thái dùng. Các biến toàn cục sẽ được
khởi tạo lại trừ hàm tạo vì các biến này đều được giải phóng bởi phương thức
pauseApp().
Phương thức pauseApp() được gọi bởi trình quản lý ứng dụng mỗi khi ứng
dụng cần tạm thời dừng hoạt động MIDlet. Trình quản lý ứng dụng khởi động lại
MIDlet bằng việc gọi lại phương thức startApp(). Khi phương thức này được gọi
sẽ thực hiện giải phóng các tài nguyên để dành cho các chức năng khác.
Phương thức destroyApp() được trình quản lý ứng dụng gọi mỗi khi kết
thúc hoạt động của một MIDlet. Phương thức này chỉ nhận một tham số kiểu Boolean.
Nếu tham số này là true, MIDlet sẽ được thoát vô điều kiện; ngược lại MIDlet có thêm
tuỳ chọn từ chối thoát bằng cách phát sinh ngoại lệ MIDletStateChangeException báo
với trình quản lý ứng dụng biết MIDlet chưa muốn kết thúc.
Chu kỳ của một MIDlet
Hình 3.3-2 Vòng đời của một MIDlet
23
Tải về để xem bản đầy đủ
Bạn đang xem 30 trang mẫu của tài liệu "Khóa luận Nghiên cứu xây dựng ứng dụng học tiếng Anh theo ngữ cảnh trên thiết bị di động", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.
File đính kèm:
khoa_luan_nghien_cuu_xay_dung_ung_dung_hoc_tieng_anh_theo_ng.pdf