1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng từ đỉển anh việt htdict trên nền j2me

55 711 1
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây Dựng Từ Điển Anh – Việt HTDict Trên Nền J2ME
Tác giả Hồ Minh Hiếu
Người hướng dẫn TS. Phan Lê Na
Trường học Trường Đại Học Vinh
Chuyên ngành Công Nghệ Thông Tin
Thể loại Khóa Luận
Năm xuất bản 2009
Thành phố Vinh
Định dạng
Số trang 55
Dung lượng 2,06 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Ngoài ra với việc Sun cam kết để J2ME trở thành một chuẩn cho các nhà sản xuất thiết bị di động thì việt phát triển các ứng dụng trên nền J2ME là hết sức dễ dàng.. Với đề tài này, các vấ

Trang 1

TRƯỜNG ĐẠI HỌC VINH Khoa công nghệ thông tin

- -XÂY DỰNG TỪ ĐIỂN ANH VIỆT

HTDICT TRÊN NỀN J2ME

Trang 2

LỜI CẢM ƠN

Em xin chân thành cảm ơn T.S Phan Lê Na đã tận tình hướng dẫn, giúp đỡ

em trong quá trình thực hiện đề tài

Em xin chân thành cảm ơn các thầy cô trong Khoa Công nghệ thông tin đãtận tình giảng dạy, trang bị cho em những kiến thức quý báu trong những năm họctập tại trường Tạo nhiều điều kiện thuận lợi cho em được học tập và thực hiện đềtài này

Tôi xin cảm ơn tập thể nhóm lập trình công ty VTC-Online tạo điều kiệnthuận lợi, hỗ trợ rất nhiều trong quá trình thực tập Xin chân thành cảm ơn bạn bè

đã tận tình giúp đỡ ủng hộ trong quá trình thực hiện đồ án

Mặc dù đã cố gắng hoàn thành khoá luận trong phạm vi và khả năng chophép nhưng chắc chắn sẽ không tránh khỏi những thiếu sót Em rất mong nhậnđược sự cảm thông, góp ý và tận tình chỉ bảo của các thầy cô trong Khoa và cácbạn

Trang 3

MỞ ĐẦU -4

CHƯƠNG I CẤU TRÚC J2ME -8

1.1 Giới thiệu về Java -8

1.2 Cấu trúc J2ME -8

1.2.1 Giới thiệu về J2ME -8

1.2.2 Định nghĩa về Configuration (Cấu hình) -9

1.3 Sự khác biệt giữa J2ME và J2SE -14

1.3.1 Sự khác biệt -14

1.3.2 Các lớp trong J2ME kế thừa từ J2SE -15

1.4 Cấu trúc MIDP -16

1.4.1 Định nghĩa -16

1.4.2 Những hạn chế của MIDP -16

1.4.3 Những chức năng MIDP -17

1.4.4 File lưu trữ JAR -18

1.4.5 Tập tin Manifest và Bộ mô tả ứng dụng JAD -19

1.4.6 Vòng đời của một MIDP -19

CHƯƠNG II MÔI TRƯỜNG LẬP TRÌNH -21

2.1 Môi trường lập trình -21

2.1.1 Quá trình phát triển ứng dụng J2ME -21

2.1.2 Các IDE thường dùng trong lập trình J2ME -21

2.1.3 Công cụ thực hiện -24

2.1.4 Thiết lập môi trường -24

2.1.5 Ứng dụng khi sử dụng NetBeans -24

2.2 Một số vấn đề lưu ý -30

CHƯƠNG III KỸ THUẬT XỬ LÝ DỮ LIỆU XÂY DỰNG TỪ ĐIỂN -31

3.1 Tổ chức cấu trúc dữ liệu lưu trữ -31

3.1.1 Cấu trúc tệp tin CSV (Comma-separated Values) -31

3.1.2 Tổ chức cấu trúc dữ liệu lưu trữ -32

3.2 Sắp xếp các mục từ -32

3.3 Tổ chức cấu trúc dữ liệu hỗ trợ tìm kiếm nhanh -32

3.3.1 Tập tin tuần tự -32

3.3.2 Tập tin chỉ mục -32

3.3.3 Tập tin băm -32

3.3.4 Cây nhị phân -33

3.4 Kỹ thuật xử lý dữ liệu trong từ điển HTDict -33

3.4.1 Hiển thị Font chữ Tiếng Việt -34

3.4.2 Kỹ thuật xử lý trong ứng dụng -35

Trang 4

CHƯƠNG IV PHÂN TÍCH THIẾT KẾ XÂY DỰNG TỪ ĐIỂN -37

4.1 Giới thiệu -37

4.2 Mô hình Use-Case -37

4.2.1 Mô hình Use-Case -37

4.2.2 Đặc tả Use-Case -38

4.3 Mô hình lớp -40

4.3.1 Lớp HTDict -40

4.3.2 Lớp Dictionary -41

4.3.3 Lớp Dict -43

4.4 Cài đặt và thực nghiệm -44

4.4.1 Môi trường phát triển -44

4.4.2 Cài đặt -45

4.4.3 Kết quả thử nghiệm -45

4.5 Mô tả giao diện ứng dụng -45

4.5.1 Màn hình HTDict -47

4.5.2 Màn hình Menu chính -47

4.5.3 Màn hình Dictionary -48

4.5.4 Màn hình Dictionary English – Vietnamese -48

4.5.5 Màn hình Dictionary Vietnamese – English -49

4.5.6 Màn hình hiển thị nhập các từ cần tra -49

4.5.7 Màn hình hiển thị nghĩa từ cần tra -50

4.5.8 Màn hình hiển thị nghĩa từ tiếp theo từ cần tra -50

4.5.9 Màn hình hiển thị nghĩa từ trước đó của từ cần tra -51

TỔNG KẾT -52

Hướng phát triển -52

TÀI LIỆU THAM KHẢO -53

Trang 5

Năm 2007 Công ty Apple đưa ra sản phẩm iphone Ngay lập tức sản phẩmnày đã tạo ra một tiếng vang lớn và làm tốn không biết bao nhiêu giấy mực củacác tờ báo đặc biệt là các tờ báo công nghệ và các website công nghệ bởi thiết kếđẹp mắt và nhiều tính năng Iphone với các đặc điểm màn hình cảm ứng cực rộng,kết nối Wi-Fi, camera 5.0, và trình duyệt web hoàn chỉnh là hiện thân của thế hệđiện thoại mới Thế hệ điện thoại mới này đã trở thành một thiết bị giải trí đa tínhnăng với sức mạnh của một chiếc PC

Bên cạnh đó, nhu cầu về học ngoại ngữ ngày càng trở nên quan trọng.Trong học ngoại ngữ để biết nghĩa của một từ là rất cần thiết Tuy nhiên khôngphải lúc nào chúng ta cũng mang theo một quyển từ điển hoặc máy tính xác tay đểtra từ Chính vì lý do đó, việc có một cuốn từ điển Anh-Việt cài đặt trong điệnthoại di động là rất hữu dụng

Ngoài ra với việc Sun cam kết để J2ME trở thành một chuẩn cho các nhà

sản xuất thiết bị di động thì việt phát triển các ứng dụng trên nền J2ME là hết sức

dễ dàng

Chính vì những lý do trên mà em quyết định thực hiện đề tài Xây dựng từ

điển Anh-Việt HTDict trên nền J2ME.

Phạm vi đề tài

Nghiên cứu công nghệ J2ME và tìm hiểu các kỹ thuật xử lý cấu trúc dữ liệutrong ứng dụng từ điển

Tiến hành xây dựng từ điển Anh-Việt HTDict

Đôi nét về thị trường điện thoại di động Việt Nam

Trang 6

Thị trường thông tin di động Việt Nam là một trong những thị trường pháttriển nhanh nhất khu vực Đông Nam Á, là một trong những thị trường sôi độngnhất trong toàn vùng Châu Á-Thái Bình Dương Ở những thành phố lớn hiện naythì hiện tượng “nhà nhà di động, người người di động” là chuyện phổ biến Tuyrầm rộ như thế nhưng so với các nước trong khu vực, thị trường nước ta còn khánon trẻ.

Theo thống kê năm 2006 cho biết tỉ lệ thuê bao điện thoại di động trên tổngdân số ở Việt Nam chỉ là 20% trong khi Philippin là 40%, Thái Lan 50%,Malaysia 80% và Singapore 106% (nhiều người có 2 hay 3 máy) Do vậy tiềmnăng tăng trưởng của thị trường điện thoại di động Việt Nam còn rất lớn (theo

vietnamnet.vn).

Đầu năm 2000, tổng số thuê bao điện thoại di động tại thị trường Việt Namchỉ vỏn vẹn đạt mức 0,3 triệu Nhưng chỉ 6 năm sau cả nước đã có hơn 20 triệuthuê bao Theo thông tin công bố của các nhà cung cấp dịch vụ di động, số thuêbao điện thoại di động đạt tới xấp xỉ 50 triệu vào cuối năm 2008

Có hơn 20 hãng điện thoại đã và đang cạnh tranh khốc liệt trên thị trườngViệt Nam với các tên tuổi lớn như Nokia, SamSung, Motorola, Sony Ericsson,Siemens… Doanh số thị trường bán lẻ điện thoại di động Việt Nam năm 2006 xấp

xỉ 900 triệu USD, tăng hơn 40% so với năm 2005

Tiềm năng của thị trường thông tin di động Việt Nam là điều đã đượckhẳng định, nhưng vẫn là một ẩn số đối với các nhà phân tích thị trường bởi nhucầu sử dụng của người tiêu dùng cũng như khả năng cung cấp của các nhà khaithác vẫn đang ở mức khám phá ban đầu

Việt Nam được coi là thị trường rất hấp dẫn trong lĩnh vực thông tin diđộng

Nhu cầu về phát triển phầm mềm cho điện thoại di động

Đ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ênlạ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

Trang 7

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ạnghơ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úpcho 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ằngcá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ệnthoạ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ọctập, giải trí hữu ích với mọi người

Trong vài năm gần đây, hoạt động sản xuất phần mềm cho điện thoại diđộng phát triển khá mạnh mẽ Rất nhiều sản phẩm phần mềm đã ra đời để phục vụtốt hơn nhu cầu của người sử dụng, trong đó, phần nhiều là các trò chơi, truy cậpInternet, trình diệt virus, soạn thảo văn bản, từ điển… Trong năm 2004, giá trị sảnxuất phần mềm cho điện thoại di động trên thế giới đạt 3,1 tỉ USD và dự đoán sẽ

đạt 18,5 tỉ USD vào năm 2009 (theo www.vietnamnet.vn)

Các thành phần phần cứng của điện thoại di động

Điện thoại di động ngoài chức năng nghe gọi ra giờ đây còn nhiều chứcnăng giải trí khác Song thành phần chính vẫn bao gồm CPU, Bộ nhớ, các thiết bịnhập xuất (I/O) và nguồn năng lượng

CPU: CPU có kiếm trúc 32 bit, chạy ở tốc độ dưới 100MHz Trong tương

lai tốc độ này sẽ được cải thiện hơn

Bộ nhớ : Tối thiểu 32Kb bộ nhớ RAM, 128Kb bộ nhớ ROM để lưu dữ liệu

chương trình Một số dòng máy điện thoại có hệ điều hành có thể có cấu hình caohơn Đối với ứng dụng từ điển Anh-Việt này bộ nhớ ROM tối thiểu 10Mb

Thiết bị vào ra (I/O):

 Màn hình có kích thước khác nhau tuỳ dòng điện thoại, có thể có mànhình cảm ứng

 Khe cắm thẻ nhớ

 Các cổng giao tiếp hồng ngoại và Bluetooth

Nguồn năng lượng: sử dụng pin đặc thù có thể sạc được

Trang 8

Hạn chế của các thiết bị di động

Mặc dù điện thoại có ưu điểmlà thiết bị nhỏ gọn nhưng cũng đồng thời hạnchế về tốc độ xử lý, độ rộng màn hình, hạn chế về thiết bị vào ra Do đó việc lậptrình các phần mềm cho thiết bị di động cũng có sự khác biệt lớn so với việc pháttriển các ứng dụng trên nền Desktop

Mục tiêu của đề tài

Do điện thoại có bộ xử lý cũng như tài nguyên hạn chế so với máy tính đểbàn Ngoài ra việc lập trình cho thiết bị do động cũng khác biệt so với lập trìnhtrên máy tính Với đề tài này, các vấn đề chính bao gồm:

 Tìm hiểu về cấu trúc J2ME, sự khác biệt so với môi trường J2EE vàJ2SE

 Nghiên cứu, xây dựng cấu trúc dữ liệu từ điển cho từ điển Anh-Việt

 Xây dựng hoàn chỉnh ứng dụng từ điển trên điện thoại di động

Nội dung thực hiện

Mở đầu: Trình bày lý do thực hiện đề tài và mục tiêu của đề tài, giới thiệutổng quan về các thiết bị di động

Chương I Cấu trúc J2ME: Trình bày cấu trúc của J2ME so sánh giữaJ2ME và J2EE, J2SE

Chương II Môi trường lập trình: Trình bày môi trường lập trình các IDE

Chương III Kỹ thuật xử lý dữ liệu xây dựng từ điển: Trình bày về tổ chứccấu trúc dữ liệu, trình bày kỹ thuật xử lý dữ liệu xây dựng từ điển HTDict

Chương IV Phân tích thiết kế ứng dụng : Trình bày mô hình thiết kế ứngdụng HTDict, cài đặt và chạy thử chương trình

Tổng kết: Trình bày kết quả đạt được, hướng phát triển trong tương lai

Trang 9

CHƯƠNG I CẤU TRÚC J2ME

1.1 Giới thiệu về Java

Công nghệ di động ngày càng phát triển Chiếc điện thoại di động hiện naykhô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 trợ lýkhông thể thiếu và còn là thiết bị phục vụ cho nhu cầu giải trí Công nghệ Java làcông nghệ đi tiên phong trong việc xâm nhập vào lĩnh vực di động Nếu có mộtchiếc điện thoại di động hỗ trợ Java, ta có thể chơi Game, chạy các ứng dụng viếtbằng Java

Vào những năm 1990, Java được ra đời từ dự án xanh (green project) vàban đầu được xây dựng để kiểm soát các thiết bị dân dụng như TV, đèn, điện thoại

và một số thiết bị cầm tay Java được xây dựng chủ yếu dựa trên bộ công cụ pháttriển (Java Development Kit -JDK) Đây chính là nền tảng cho việc phát triển ứngdụng Java Với sự phát triển của Java hiện nay, các nhà phát triển (Nokia, Sun, …)

đã xây dựng nhiều nhánh mới cho Java như: JavaMail, Java TAPI (cho viễnthông), Java3D (đồ hoạ 3 chiều), J2ME (ứng dụng cho thiết bị di động)… Java cócác phiên bản sau:

J2EE (Java 2 Platform, enterprise Edition): phiên bản dành cho máy chủ

lớn với sức mạnh xử lý và dung lượng bộ nhớ lớn

J2SE (Java 2 Platform, Standard Edition): phiên bản chuẩn chạy trên cácmáy PC và laptop với một số MB bộ nhớ Các máy tính này mặc dù không có cấuhình mạnh bằng máy chủ nhưng vẫn mạnh hơn nhiều so với các thiết bị di động

J2ME (Java 2 Platform, Micro Edition): là phiên bản rút gọn của Java cho

thiết bị di động giới hạn về bộ nhớ và tốc độ xử lý

1.2 Cấu trúc J2ME

1.2.1 Giới thiệu về J2ME

J2ME được phát triển từ kiến trúc Java Card, Embeded Java và Personal

Java của phiên bản Java 1.1 Đến sự ra đời của Java 2 thì Sun quyết định thay thế

Personal Java và được gọi với tên Java Micro Edition, hay viết tắt là J2ME Đúngvới tên gọi, J2ME là nền tảng cho thiết bị có tính chất nhỏ, gọn

Trang 10

Với sự cam kết của hãng Sun, J2ME sẽ trở thành chuẩn chung cho các nhà

sản xuất phần cứng thiết bị di động

Mục tiêu của J2ME là cho phép người lập trình viết các ứng dụng độc lậpvới thiết bị di động, không cần quan tâm đến phần cứng Để đạt được mục tiêunày, J2ME được xây dựng bằng các tầng (layer) khác nhau để giấu đi việc thựchiện phần cứng khỏi nhà phát triển

Hình 1.1 Các thành phần trong nền tảng Java

1.2.2 Định nghĩa về Configuration (Cấu hình)

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

Do đây là đặc tả nên các nhà sản xuất thiết bị như Samsung, Nokia …bắt

buộc phải thực thi đầy đủ các đặc tả do Sun qui định để các lập trình viên có thể

dựa vào môi trường lập trình nhất quán và thông qua sự nhất quán này, các ứngdụng được tạo ra có thể mang tính độc lập thiết bị cao nhất có thể

Ví dụ như một lập trình viên viết chương trình game cho điện thoạiSamsung thì có thể sửa đổi chương trình một cách tối thiểu nhất để có thể chạy

trên điện thoại Nokia Qua đây ta thấy khẩu hiệu “Write Once, Run Everywhere”

Trang 11

của Java đã không còn đúng nữa, nhưng ta cũng phải đánh giá cao sự nổ lực của

Sun trong việc tạo ra một môi trường phần mềm chung cho vô số chủng loại thiết

bị di động có trên thị trường

Hiện nay Sun đã đưa ra 2 dạng Configuration: CLDC và CDC.

a ) 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ácthiế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ụngJava Ví dụ như là Midlet

b) 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ínhnă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áyPDA cấp cao, điện thoại web, các thiết bị gia dụng trong gia đình …

Cả 2 dạng Cấu hình kể trên đều chứa máy ảo Java (Java Virtual Machine)

và tập hợp các lớp (class) Java cơ bản để cung cấp một môi trường cho các ứngdụng J2ME Tuy nhiên, cần chú ý đối với các thiết bị cấp thấp, do hạn chế về tàinguyên như bộ nhớ và bộ xử lý nên không thể yêu cầu máy ảo hỗ trợ tất cả cáctính năng như với máy ảo của J2SE Ví dụ, các thiết bị thuộc CLDC không cóphần cứng yêu cầu các phép tính toán dấu phẩy động, nên máy ảo thuộc CLDCkhông được hỗ trợ kiểu float và double

Trang 12

c) Sự khác nhau giữa 2 khái niệm CLDC và CDC

Hình 1.2 Phân tầng thiết bị giữa CDC và CLDC

Trang 13

d) Chi tiết về CLDC

Hình 1.3 Các tầng của CLDC J2MEMỗi tầng ở trên tầng phần cứng là tầng trừu tượng hơn cung cấp cho lậptrình viên nhiều giao diện lập trình ứng dụng (API-Application Program Interface)thân thiện hơn

Tầng phần cứng thiết bị (Device Hardware Layer): Đây là thiết bị diđộng thật sự với cấu hình phần cứng (bộ nhớ và tốc độ xử lý) cụ thể Các thiết bị

di động có thể có bộ vi xử lý khác nhau và các tập lệnh khác nhau Mục tiêu củaJ2ME là cung cấp một chuẩn cho tất cả các loại thiết bị di động khác nhau

Tầng máy ảo Java (Java Virtual Machine Layer): Khi mã nguồn đượcbiên dịch nó được chuyển đổi thành mã byteCode Mã byteCode này sau đó đượcchuyển thành mã ngôn ngữ máy của thiết bị di động Tầng máy ảo bao gồm KVM(K Virtual Machine) là bộ biên dịch mã byteCode có nhiệm vụ chuyển mãbyteCode của chương trình Java thành ngôn ngữ máy để chạy trên các thiết bị diđộng Tầng này cung cấp một sự chuẩn hoá cho các thiết bị di động để chạy ứngdụng J2ME sau khi đã biên dịch có thể chạy trên bất kỳ một thiết bị di động nào có

hỗ trợ J2ME KVM

Tầng cấu hình (configuration Layer): Cung cấp các hàm API cơ bản là

nhân của J2ME Lập trình viên có thể sử dụng các lớp và các phương thức của cácAPI này tuy nhiên tập các API hữu dụng hơn được chứa trong tầng hiện trạng(profile layer)

Trang 14

Tầng hiện trạng (profile Layer): 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ả 2Configuration đều có những profile liên quan và từ những profile này có thể dùngcác lớp lẫn nhau

Đến đây ta có thể nhận thấy do mỗi profile định nghĩa một tập hợp các classkhác nhau, nên thường không thể chuyển một ứng dụng Java viết cho một profilenày và chạy trên một máy hỗ trợ một profile khác Cũng với lý do đó, chúng takhô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 Các profile tiêu biểu:

- Mobile Information Device Profile (MIDP): Profile sẽ bổ sung các tính năngnhư hỗ trợ kết nối, các thành phần hỗ trợ giao diện người dùng vào CLDC Profilenày được thiết kế chủ yếu để nhắm vào điện thoại di động với đặc tính là màn hìnhhiển thị hạn chế, dung lượng chứa có hạn Do đó MIDP sẽ cung cấp một giao diệnngườ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óiMIDP 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êncá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

- RMI profile: Mở rộng từ Foundation prrofile cung cấp RMI cho thiết bị RMIprofile sẽ được dùng để tạo sự tương thích giữa các thiết bị cầm tay với J2SE RMIAPI

Ngoài ra còn có Personal Basis Profile, Game Profile

Trang 15

Hình 1.4 Vị trí các profile trong J2ME

1.3 Sự khác biệt giữa J2ME và J2SE

1.3.1 Sự khác biệt

Giữa J2SE và J2ME có các điểm khác nhau là do 2 nguyên nhân Do lớpJava đã bị bỏ đi để giảm kích thước của J2ME hoặc do lớp bị bỏ bởi vì nó ảnhhưởng đến sự an toàn, bảo mật của thiết bị di động hay của các ứng dụng khác trênthiết bị di động (có thể dẫn đến phát sinh virus)

Điểm khác biệt chính là J2ME không có phép toán số thực Không có JNI(JavaNative Interface Support) do đó không thể truy xuất các chương trình khácđược viết bằng ngôn ngữ của thiết bị (như C hay C++) Đa tuyến (thread) đượccho phép nhưng không có các nhóm đa tuyến (thread group) và các daemonthread

CLDC định nghĩa một mô hình an toàn, bảo mật được thiết kế để bảo vệthiết bị di động, KVM và các ứng dụng khác khỏi các mã phá hoại.

Hình 1.5 Mối quan hệ giữa J2SE, CDC, CLDC

Trang 16

1.3.2 Các lớp trong J2ME kế thừa từ J2SE

Trang 17

đã biết, MIDP được thiết kế cho các máy di động có cấu hình rất thấp Trong phầnsau sẽ liệt kê qua các tính năng mà MIDP cung cấp và những giới hạn của nó.

1.4.2 Những hạn chế của MIDP

 Phép tính dấu phẩy động (floating point): Phép tính này đòi hỏi rất nhiều tàinguyên CPU và phần lớn các CPU cho các thiết bị di động không hỗ trợ phép tínhnày, do đó MIDP cũng không có

 Bộ nạp class (Class Loader)

 Hỗ trợ từ khóa finalize() như trong J2SE: Việc “dọn dẹp“ tài nguyên trướckhi nó bị xóa được đẩy về phía các lập trình viên

 Không hỗ trợ JNI

Trang 18

điều đó không có nghĩa là mất đi mọi dữ liệu quan trọng mỗi khi tắt máy, Sun đã

cung cấp một chức năng khác tương đương gọi là Record Management system(RMS) để cung cấp khả năng lưu trữ cho các thiết bị này

1.4.3 Những chức năng MIDP

 Các lớp và kiểu dữ liệu: Phần lớn các lớp mà các lập trình viên Java quenthuộc vẫn còn được giữ lại ví dụ như các lớp trong gói java.util như Stack, Vector

và Hastable cũng như Enumeration

 Hỗ trợ đối tượng Display: Đúng như tên gọi một chương trình MIDP sẽ hỗtrợ duy nhất một đối tượng Display là đối tượng quản lý việc hiển thị dữ liệu trênmàn hình điện thoại

 Hỗ trợ Form và các giao diện người dùng

 Hỗ trợ Timer và Alert

 Cung cấp tính năng Record Management System (RMS) cho việc lưu trữ

dữ liệu

Ngoài ra vào tháng 11 năm 2003 Sun đã tung ra MIDP 2.0 với hàng loạt

tính năng khác được cung cấp thêm so với bản 1.0 (Hiện nay tại Việt Nam đã cónhững đời điện thoại hỗ trợ MIDP 2.0 ví dụ như Nokia 6600 hay Sony EricssonP900,…)

 Nâng cấp các tính năng bảo mật như

- Download qua mạng an toàn hơn qua việc hỗ trợ giao thức HTTPS

- Kiểm soát việc kết nối giữa máy di động và server: ví dụ như các chươngtrình không thể kết nối tới server nếu thiếu sự chấp thuận của người sử dụng

 Thêm các API hỗ trợ Multimedia Một trong nhưng cải tiến hấp dẫn nhấtcủa MIDP 2.0 là tập các API media của nó Các API này là một tập con chỉ hỗ trợ

âm thanh của Mobile Media API (MMAPI)

Trang 19

 Mở rộng các tính năng của Form Nhiều cải tiến đã được đưa vào APIjavax.microedition.lcdui trong MIDP 2.0, nhưng các thay đổi lớn nhất (ngoài APIcho game) là trong Form và Item

Hỗ trợ các lập trình viên Game bằng cách tung ra Game API: Có lẽ Sun đã

kịp nhận ra thị trường đầy tiềm năng của các thiết bị di động trong lĩnh vực Game.Với MIDP 1.0 thì các lập trình viên phải tự viết code để quản lý các hành độngcủa nhân vật cũng như quản lý đồ họa Việc này sẽ làm tăng kích thước file củasản phẩm cũng như việc xuất hiện các đoạn mã bị lỗi Được hưởng lợi nhất từGame API trong MIDP 2.0 không chỉ là các lập trình viên Game mà còn là các lậptrình viên cần sử dụng các tính năng đồ họa cao cấp

Ý tưởng cơ bản của Game API là việc giả định rằng một màn hình game làtập hợp các layer (lớp) Ví dụ như: trong một game đua xe thì màn hình nền là mộtlayer, con đường là một layer và chiếc xe được xem như đang nằm trên layer khác

Với Game API nhà phát triển còn được cung cấp các tính năng như quản lýcác thao tác bàn phím

Hỗ trợ kiểu ảnh RGB: một trong những cải tiến hấp dẫn cho các nhà pháttriển MIDP là việc biểu diễn hình ảnh dưới dạng các mảng số nguyên, cho phépMIDlet thao tác với dữ liệu hình ảnh một cách trực tiếp

1.4.4 File lưu trữ JAR

Tất cả các lớp được biên dịch và các file cần thiết cho việc thực thi ứngdụng MIDlet phải được đóng gói trong một tệp tin JAR (Java archive) File nàybao gồm các lớp của MIDLet, các file hình ảnh (hiện tại MIDP chỉ hỗ trợ địnhdạng hình ảnh png), file dữ liệu ứng dụng và file manifest (tập tin thống kê) Filemanifest này mô tả nội dung của file JAR trong đó có chứa danh sách các thuộctính

1.4.5 Tập tin Manifest và Bộ mô tả ứng dụng JAD

Tập tin menifest và tập tin JAD (bộ mô tả JAD) mô tả đặc điểm củaMIDlet Sự khác biệt giữa hai tập tin này là tập tin kê khai (manifest) là một phầncủa tập tin JAR còn tập tin JAD thì không thuộc tập tin JAR

Nội dung tập tin manifest:

Trang 20

Thuộc tính file Manifest mô tả

MIDlet-Name tên MIDlet

MIDlet-Version phiên bản của MIDlet

MIDlet-Vendor tên nhà cung cấp MIDlet

MIDlet-n tên tương ứng với từng MIDlet.Giá trị có thể là

tên MIDlet hoặc Biểu tượng tuỳ chọn, tên lớpMIDlet

MicroEdition- Profile phiên bản profile J2ME cần thiết để chạyMIDlet

MicroEdition-Configuration Định danh cấu hình J2ME cần thiết để

MicroEdition-Profile: MIDP-2.0

1.4.6 Vòng đời của một 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ìnhquả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ó:DictionaryApp( ), pauseApp( ) và destroyApp(boolean b) tương ứng với các trạngthái Active, Paused và Destroyed

Phương thức DictionaryApp( ) được trình quản lý ứng dụng gọi khi mộtMIDlet đượ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

Trang 21

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ươngthức pauseApp( ).

Phương thức pauseApp( ) được gọi bởi trình quản lý ứng dụng mỗi khi ứngdụ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ạiMIDlet bằng việc gọi lại phương thức DictionaryApp( ) 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ếtthúc hoạt động của một MIDlet Phương thức này chỉ nhận một tham số kiểuBoolean Nếu tham số này là true, MIDlet sẽ được thoát vô điều kiện; ngược lạiMIDlet 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ưamuốn kết thúc

Chu kỳ của một MIDlet

Hình 1.6 Vòng đời một MIDlet

Trang 22

CHƯƠNG II MÔI TRƯỜNG LẬP TRÌNH

2.1 Môi trường lập trình

2.1.1 Quá trình phát triển ứng dụng J2ME

Thông thường, việc phát triển ứng dụng J2ME được tiến hành qua các giaiđoạn như sau:

2.1.2 Các IDE thường dùng trong lập trình J2ME

Môi trường phát triển tích hợp (IDE) cải thiện năng suất của lập trình viênbằng cách cung cấp một tập các công cụ lập trình tích hợp thông qua giao diện đồhoạ, công cụ hỗ trợ soạn thoả, quản lý project, biên dịch và gỡ lỗi

Thành viên mới nhất trong gia đình Java là J2ME Khi nhiều chuyên gia dựđoán về sự phát triển lớn mạnh của thị trường phát triển các ứng dụng J2ME, cácnhà phát triển IDE đã đưa ra các bản mở rộng cho các sản phẩm IDE của họ để hỗtrợ thêm J2ME Ngoài ra, các nhà cung cấp chuyên nghiệp khác cũng đã phát triểncác IDE đơn dành riêng cho J2ME

Một IDE cho J2ME cần phải cung cấp các tiện ích sau:

 Quản lý project: Quản lý các tập tin và các thông số MIDlet

 Trình soạn thảo: Soạn thảo mã nguồn và các tài nguyên

 Biên dich: Biên dịch, obfuscate và pre-verify mã nguồn

 Đóng gói (package): Đóng gói các MIDlet các file tài nguyên thànhcác tập tin JAR và JAD

Trang 23

 Trình giả lập (emulator): Thực thi các MIDlet với một trình giả lập

 Gỡ rối (debugger)

Phần này sẽ đề cập đến một vài IDE thông dụng để phát triển J2ME trong

đó bao gồm: J2ME Wireless Toolkit, Borland Jbuilder, NetBean

a) J2ME Wireless Toolkit

J2ME WireLess Toolkit (WTK) là một bộ công cụ do Sun phát triển Nó

cung cấp giúp các lập trình viên môi trường giả lập, công cụ, tài liệu và các ví dụcần thiết để phát triển các ứng dụng MIDP WTK không phải là một IDE hoànchỉnh, bởi nó đã bỏ đi tính năng soạn thảo và gỡ rối thành phần không thể thiếucủa một IDE Tuy nhiên Ktoolbar, được cung cấp trong bộ WTK là một môitrường phát triển tối thiểu cung cấp một giao diện GUI dành cho việc biên dịch,đóng gói và thực thi các ứng dụng MIDP

WTK 2.5.2 cung cấp các bộ giả lập đã được cải tiến với các tính năng giảlập, monitor và debug mới

WTK 2.5.2 được cải thiện tốc độ và hỗ trợ các API mới gồm:

 Connected Limited Device Configuration (CLDC) 1.1 (JSR 139)

 Connected Limited Device Configuration (CLDC) 1.1 (JSR 139)

 Mobile Information Device Profile (MIDP) 2.0 (JSR 118)

 Java Technology for the Wireless Industry (JTWI) 1.0 (JSR 185)

 Wireless Messaging API (WMA) 2.0 (JSR 205)

 Mobile Media API (MMAPI) 1.1 (JSR 135)

 PDA Optional Packages for the J2ME Platform (JSR 75)

 Java APIs for Bluetooth (JSR 82)

 J2ME Web Services Specification (JSR 172)

 Mobile 3D Graphics API for J2ME (JSR 184)

Mỗi project có một thư mục dành riêng trong thư mục apps Khi projectđược tạo, cấu trúc thư mục sẽ được tạo Ngoài ra các tập tin JAD và manifest cũngđược phát sinh dựa vào các thông số của MIDlet suite đã được xác định Tuynhiên, không có tập tin nguồn nào được phát sinh cho MIDlet Lập trình viên phải

Trang 24

viết các tập tin nguồn này từ đầu KToolbar không hỗ trợ nạp nhiều project trongmột GUI (Graphical User Interface).

Tạo lập và đóng gói: KToolBar cung cấp hỗ trợ cho việc biên dịch một dự

án Một dự án được dịch và tiền kiểm tra trong một bước thực hiện

Trình giả lập: WTK cung cấp các giả lập để thực thi ứng dụng MIDP Các

thiết bị giả lập hỗ trợ:

 DefaultColorPhone: Điện thoại mặc định với màn hình màu

 DefaultGrayPhone: Điện thoại với màn hình xám

 MediaControlSkin: Điện thoại màn hình màu

 QwertyDevice: Điện thoại với bàn phím Qwerty

b) Borland Jbuilder

Môi trường phát triển làm việc của Jbuilder cho J2ME hoàn toàn giống nhưmôi trường phát triển các ứng dụng Java bình thường nhưng có thêm các tabs vàoptions trong hộp thoại để hỗ trợ J2ME và hai wizard mới: MIDP MIDlet wizard

và MIDP Displayable wizard Trong Archive Builder có thể tạo ra một MIDletsuite với các tập tin manifest và JAD tương ứng JBuilder 2005 cũng cài đặt WTK2.1 được sử dụng như một môi trường giả lập

Ngoài các tính năng chính của Jbuilder, khi lập trình cho J2ME chúng ta cóthêm các tính năng sau:

 Gõ mã cho các lớp CLDC/MIDP

 Duyệt các lớp, các gói cho các lớp CLDC/MIDP

 Chuyển đổi giữa các JDK

Đây là một IDE mã nguồn mở dùng cho lập trình Java; cùng với EclipseME

và J2ME Wireless Toolkit tạo thành một bộ IDE hoàn chỉnh cho việc phát triểncác ứng dụng J2ME

Trang 25

2.1.3 Công cụ thực hiện

Đề tài được thực hiện trên môi trường Windows XP

Công cụ lập trình: NetBean 6.1

J2ME Wireless toolkit 2.5.2

2.1.4 Thiết lập môi trường

Cài đặt bộ NetBeans: Có thể download tại trang Web www netbeans org

đây là IDE hỗ trợ cho việc lập trình Java trên Desktop

Cài đặt J2ME Wireless Toolkit 2.5.2: Có thể lấy bộ công cụ này về từ địa

chỉ java.sun.com/products/j2mewtoolkit/

2.1.5 Ứng dụng khi sử dụng NetBeans

a) Giao diện NetBeans

Hình 2.1 Giao diện NetBeans

Trang 26

b) Triển khai ứng dụng J2ME đầu tiên

Bước 1 tạo một project mới

Trên thanh Menu chọn File  New Project.

Hình 2.2 Tạo một Project mới

Hộp thoại New Project xuất hiện

Chọn Mobility  MIDP Application rồi chọn Next.

Hình 2.3 Hộp thoại chọn project tương ứng

Trang 27

Gõ tên project vào vùng Text rồi chọn Next.

Hình 2.4 Đặt tên cho projectNhấn Finish để kết thúc tạo một Project

Hình 2.5 Hoàn thành việc tạo một project

Ngày đăng: 27/12/2013, 20:42

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. Lê Ngọc Quốc Khánh, Phát triển ứng dụng J2ME và J2ME Wireless Toolkit, 2004 Sách, tạp chí
Tiêu đề: Phát triển ứng dụng J2ME và J2ME Wireless Toolkit
2. Phương Lan, Java tập 3, NXB Lao động Xã hội, 2006 Sách, tạp chí
Tiêu đề: Java tập 3, NXB Lao động Xã hội
Nhà XB: NXB Lao động Xã hội
3. Nguyễn Hữu Mai, Tổng quan về J2ME, javavietnam.org, 2004 Sách, tạp chí
Tiêu đề: Tổng quan về J2ME, javavietnam.org
4. Nguyễn Thị Bích Ngà, Nền tảng công nghệ J2Me & MDP, NXB Giao thông Vận tải, 2006 Sách, tạp chí
Tiêu đề: Nền tảng công nghệ J2Me & MDP
Nhà XB: NXB Giao thông Vận tải
5. John W. Muchow, Core J2ME TM Technology & MIDP, Prentice Hall PTR publisher, 2001 Sách, tạp chí
Tiêu đề: Core J2ME"TM "Technology & MIDP, Prentice Hall PTR publisher
6. Kim Topley, J2Me in a Nutshell, O’Reilly publisher, 2002 Sách, tạp chí
Tiêu đề: J2Me in a Nutshell, O’Reilly publisher
7. Gwenặl Le Bodic, Mobile Messaging Technologies and Service, John Wiley & Sons publisher, 2003 Sách, tạp chí
Tiêu đề: Mobile Messaging Technologies and Service, John Wiley "& Sons publisher
8. www.dictionaryresource.com 9. www.freedict.de Sách, tạp chí
Tiêu đề: www.dictionaryresource.com"9
10. www.informatik.uni-leipzig.de/~duc/Dict/ Link

HÌNH ẢNH LIÊN QUAN

Hình 1.1 Các thành phần trong nền tảng Java - Xây dựng từ đỉển anh   việt htdict trên nền j2me
Hình 1.1 Các thành phần trong nền tảng Java (Trang 10)
Bảng 1.1 Bảng so sánh thông số giữa CLDC và CDC - Xây dựng từ đỉển anh   việt htdict trên nền j2me
Bảng 1.1 Bảng so sánh thông số giữa CLDC và CDC (Trang 12)
Hình 2.1 Giao diện NetBeans - Xây dựng từ đỉển anh   việt htdict trên nền j2me
Hình 2.1 Giao diện NetBeans (Trang 25)
Hình 2.4 Đặt tên cho project Nhấn Finish để kết thúc tạo một Project. - Xây dựng từ đỉển anh   việt htdict trên nền j2me
Hình 2.4 Đặt tên cho project Nhấn Finish để kết thúc tạo một Project (Trang 27)
Hình 2.5 Hoàn thành việc tạo một project - Xây dựng từ đỉển anh   việt htdict trên nền j2me
Hình 2.5 Hoàn thành việc tạo một project (Trang 27)
Hình 2.9 Chạy một dự án MIDlet - Xây dựng từ đỉển anh   việt htdict trên nền j2me
Hình 2.9 Chạy một dự án MIDlet (Trang 29)
Hình 2.8 Ghi tên lớp và hoàn thành việc tạo lớp - Xây dựng từ đỉển anh   việt htdict trên nền j2me
Hình 2.8 Ghi tên lớp và hoàn thành việc tạo lớp (Trang 29)
Hình 2.10 Ví dụ chạy thử - Xây dựng từ đỉển anh   việt htdict trên nền j2me
Hình 2.10 Ví dụ chạy thử (Trang 30)
Hình 3.2 Đặt bộ mã cho ứng dụng - Xây dựng từ đỉển anh   việt htdict trên nền j2me
Hình 3.2 Đặt bộ mã cho ứng dụng (Trang 35)
Hình 4.1 Biểu đồ use case - Xây dựng từ đỉển anh   việt htdict trên nền j2me
Hình 4.1 Biểu đồ use case (Trang 39)
Bảng 4.1 Danh sách Actor - Xây dựng từ đỉển anh   việt htdict trên nền j2me
Bảng 4.1 Danh sách Actor (Trang 40)
Hình 4.2 Lớp HTDict mức phân tích - Xây dựng từ đỉển anh   việt htdict trên nền j2me
Hình 4.2 Lớp HTDict mức phân tích (Trang 42)
Hình 4.4 Lớp Dictionary mức phân tích - Xây dựng từ đỉển anh   việt htdict trên nền j2me
Hình 4.4 Lớp Dictionary mức phân tích (Trang 43)
Hình 4.8 Giao diện HTDict - Xây dựng từ đỉển anh   việt htdict trên nền j2me
Hình 4.8 Giao diện HTDict (Trang 49)
Hình 4.9 Giao diện Menu chính - Xây dựng từ đỉển anh   việt htdict trên nền j2me
Hình 4.9 Giao diện Menu chính (Trang 49)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w