Xem mẫu
- MobileGames 2004 www.JavaVietnam.org
HƯỚNG DẪN SỬ DỤNG SAMSUNG JSDK 1.0
Ngô Văn Khoa – 30/4/2004
Hầu hết các loại điện thoại di động (ĐTDD) ngày nay đều hỗ trợ lập trình với
ngôn ngữ Java. Mặc dù nổi tiếng là ngôn ngữ “viết một lần, chạy mọi nơi”, một ứng
dụng Java chạy tốt trên một loại ĐTDD, chưa hẳn đã chạy tốt trên các loại ĐTDD
khác. Mỗi kiểu ĐTDD khác nhau (kể cả cùng một hãng sản xuất) được trang bị khác
nhau về cấu hình phần cứng và thư viện lập trình (API) đính kèm. Điều nầy đã tạo
nên sự không tương thích. Do vậy, muốn phát triển ứng dụng cho một kiểu ĐTDD cụ
thể, bạn nên sử dụng công cụ phát triển dành riêng cho kiểu ĐTDD đó, để có thể đạt
được sự tương thích và hỗ trợ tốt nhất. Bài viết này sẽ giới thiệu với bạn một công
cụ phát triển ứng dụng của Samsung: Samsung JSDK version 1.0.
Samsung JSDK 1.0 là một công cụ phát triển ứng dụng Java (Java Software
Development Kit) dành riêng cho các loại ĐTDD của Samsung, gồm SGH-X100, SGH-
X600, SGH-E700.
I. CÀI ĐẶT
Hiện tại, Samsung JSDK 1.0 chỉ có phiên bản cho Windows.
Download Samsung JSDK 1.0 tại địa chỉ ở cuối bài viết, dung lượng 7.75 MB.
Chương trình cài đặt được đóng gói thành một file exe duy nhất, mặc định có tên
JSDKv1_0.exe. Để cài đặt, bạn chỉ cần kích đôi chuột vào file JSDKv1_0.exe.
Samsung JSDK 1.0 đã bao gồm KVM (K Virtual Machine – Máy ảo Java dành
cho các thiết bị có cấu hình phần cứng giới hạn). Do vậy, khi cài đặt Samsung JSDK
1.0, bạn không cần phải cài đặt thêm bất kỳ JDK hay JRE nào vẫn có thể chạy tốt các
ứng dụng Java giành cho ĐTDD Samsung.
II. CHẠY ỨNG DỤNG VỚI SAMSUNG JSDK 1.0
Thực chất, Samsung JSDK 1.0 là công cụ dùng để chạy thử, kiểm tra lỗi, các
tính năng đặc biệt của điện thoại Samsung (âm thanh, rung, đèn, SMS) và sự tương
thích của các ứng dụng MIDlet (xem bài “Giới thiệu về nền tảng J2ME” trên PC
World trong số nầy) trên các loại ĐTDD Samsung được hỗ trợ. Samsung JSDK 1.0 hỗ
trợ MIDP 1.0.3 và CLDC 1.0.3
Để tạo ra các ứng dụng MIDlet, bạn có thể sử dụng bất kỳ Java IDE nào có hỗ
trợ J2ME. Sau khi đóng gói ứng dụng thành file jad và jar, bạn sẽ đưa ứng dụng lên
Samsung JSDK 1.0 để chạy thử. Nếu bạn đã cài đặt J2ME Wireless Toolkit phiên bản
1.0.4 về trước (tham khảo địa chỉ download ở cuối bài viết), bạn cũng có thể lấy các
ứng dụng đã đóng gói từ các ví dụ mẫu của Sun để chạy thử (trong thư mục
{$Thư_Mục_Cài_Đặt_JWT}\apps\{$Tên_Ứng_Dụng}\bin). Sau đây là các bước chạy
một ứng dụng:
Trang 1 1
- MobileGames 2004 www.JavaVietnam.org
1. Khởi động Samsung JSDK 1.0
Trong Windows, vào Start > Programs > Samsung JSDK >, mở Java SDK v1.0.
Màn hình sẽ xuất hiện như ở Hình 1. Trong cửa sổ console (DOS promt), bạn sẽ thấy
có ngoại lệ xuất ra: “java.lang.IndexOutBoundsException …”. Bạn đừng lo lắng vì đó
không phải là lỗi của chương trình mà là ngoại lệ (Exception) KVM xuất ra do
workspace chưa có ứng dụng. Khi workspace đã có ít nhất một ứng dụng, ngoại lệ nầy
sẽ không xuất ra nữa.
2. Tạo workspace:
Workspace là nơi lưu trữ thông tin của ứng dụng, tương tự như bộ nhớ trên
ĐTDD thực. Workspace cũng là nơi chứa loại nào của điện ĐTDD bạn muốn sử dụng
(SGH-X600, SGH-E700…). Bạn cần phải tạo workspace trước khi chạy một ứng
dụng.
Vào menu File >
New Workspace. Chương
trình sẽ hỏi bạn có lưu
workspace hiện tại hay
không, hãy chọn “No”.
Chọn thư mục để lưu
workspace đang tạo. Trong
ô “workspace”, hãy gõ tên
workspace, nhấn nút
“New”. Hộp thoại “Open
skin file” xuất hiện yêu
cầu bạn chọn một skin
(kiểu điện thoại). Hãy
chọn
{$Thư_Mục_Cài_Đặt_JSDK1.0}\skins, sau đó chọn một skin bạn muốn, ví dụ SGH-
X600.ski, nhấn nút “Open”. Lúc nầ1 –bạn hìnhcó ởi động sau khi cài chạSamsungdụng.1.0
Hình
y Màn đã kh workspace để đặt y ứng JSDK Vào
menu Option > Restart Emulator để refresh skin.
3. Mở ứng dụng:
Vào menu File > Import MIDlet. Chọn thư mục chứa ứng dụng. Trong ô “Files
of type”, chọn kiểu “jar file *.jar”.Chọn file jar muốn mở và nhấn nút “Open”. Lúc
nầy, trong màn hình của ĐTDD giả lập đã xuất hiện ứng dụng bạn vừa nạp vào (Hình
2).
Trang 2 2
- MobileGames 2004 www.JavaVietnam.org
Bạn cũng có thể mở ứng dụng với file jad. Tuy nhiên, Samsung JSDK 1.0 không
hiểu đường dẫn tương đối được chỉ ra trong file jad. Bạn cần phải mở file jad bằng
một chương trình soạn thảo văn bản, chẳng hạn NotePad, sau đó sửa đường dẫn của
file jar thành đường dẫn tuyệt đối. Lưu ý rằng cách nầy chỉ để chạy ứng dụng trên
Samsung JSDK 1.0. Khi muốn đưa ứng dụng vào ĐTDD thực, bạn cần phải sửa lại
đường dẫn tương đối như lúc đầu.
Samsung JSDK 1.0 còn có thể chạy được file class với điều kiện lớp đó phải là
lớp chính của ứng dụng, tức là lớp kế thừa từ lớp javax.microedition.midlet.MIDlet.
4. Chạy ứng dụng:
Bạn hãy chuyển qua cửa sổ chứa hình ĐTDD để chạy ứng dụng. Kích chuột vào
các phím trên ĐTDD để điều khiển như trên ĐTDD thật.
5. Xóa ứng dụng ra khỏi workspace:
Trên ĐTDD giả lập, chọn ứng dụng bạn muốn xoá. Bấm
nút Info, cửa sổ Info sẽ hiện ra, bấm nút Delete để xóa ứng
dụng.
III. QUẢN LÝ VÀ KIỂM TRA ỨNG DỤNG:
1. Quản lý ĐTDD giả lập:
Để thay đổi kiểu điện thoại, bạn hãy vào menu File
> Change skin rồi chọn kiểu điện thoại muốn đổi. Để
cửa sổ giả lập luôn nổi, vào menu Options > Always on
top. Để refresh ĐTDD giả lập, vào menu Options >
Restart emulator.
2. Quản lý workspace:
Hình 2 – Ứng dụng xuất Một workspace tại lúc đang làm việc tương tự một chiếc ĐTDD thật đang
hiện sau khi nạp sử dụng. Có những lúc bạn đang phát triển nhiều ứng dụng, bạn có thể kết hợp
một ứng dụng với một workspace và chuyển đổi qua lại giữa chúng. Bạn cũng
muốn kiểm tra ứng dụng của mình trên nhiều kiểu ĐTDD khác nhau, hãy tạo nhiều
nhiều workspace khác nhau, mỗi workspace chứa một skin bạn muốn.
Phần trước đã hướng dẫn chi tiết về cách tạo một workspace. Để lưu một
workspace đang làm việc, vào menu File > Save Workspace. Để mở một workspace,
vào menu File > Open Workspace. Chuyển đổi qua lại giữa các workspace, vào menu
File > Recent Workspaces.
3. Quản lý sự kiện:
Trang 3 3
- MobileGames 2004 www.JavaVietnam.org
Trên ĐTDD thực, các sự kiện bên ngoài có thể ảnh hưởng đến quá trình thực thi
của ứng dụng. Để kiểm tra sự ổn định của ứng dụng khi các sự kiện không đồng bộ
xuất hiện, Samsung JSDK 1.0 cho phép bạn phát ra 2 loại sự kiện: hết chổ lưu trữ
(File System Full) và mất kết nối mạng (Lose Connection) thông qua menu Events >
File System Full và Events > Lose Connection.
4. Theo dõi quá trình thực thi của ứng dụng:
Samsung JSDK 1.0 cung cấp công cụ Trace để bạn
theo dõi dấu vết của toàn bộ quá trình thực thi ứng dụng.
Các loại hành vi của ứng dụng được theo dõi bao gồm: truy
xất file, kết nối mạng, sự kiện phím.
Đối với mỗi loại hành vi, bạn có thể đặt chế độ theo
dõi chỉ đơn giản ở mức các sự kiện của hệ thống hay một
cách chi tiết đến từng bước thực thi phương thức trong máy
ảo KVM.
Để hiển thị thông tin trace trong workspace đang làm
việc, bạn phải có một file trace để lưu trữ các thong tin đó.
Vào menu Traces > New để tạo Hình 3 - Cửa sổ trace mới một file trace chứa
các thông tin theo dõi. Muốn theo dõi các loại hành vi nào và
mức độ chi tiết cuả nó, vào menu Traces > Filters để chọn hành vi và mức độ theo
dõi. Nếu cửa sổ trace chưa hiển thị, vào menu Traces > Show. Để bắt đầu theo dõi,
vào menu Traces > Start. Bạn có thể dừng quá trình theo dõi bất kỳ lúc nào bằng cách
vào menu Traces > Stop.
5. Các chức năng giả lập đặc biệt:
Mỗi loại ĐTDD có một vài chức năng đặc trưng khác nhau. Nhà sản xuất
thường cung cấp các API đính kèm để bạn có thể điều khiển các tính năng của ĐTDD
trong ứng dụng của mình.
Có vài chức năng chỉ có thể thực hiện khi chạy với thiết bị thực. Trên ĐTDD
Samsung có các chức năng đặc biệt như đèn màn hình, rung, gửi tin nhắn SMS, nhạc
chuông đa âm điệu… Khi chạy ứng dụng trên Samsung JSDK 1.0, các chức năng nầy
được thể hiện bằng việc hiển thị thông tin trong cửa sổ console (DOS promt) để bạn
biết rằng chức năng nào của ĐTDD đã được thực thi.
6. Kết nối mạng:
Samsung JSDK hỗ trợ việc kết nối mạng bằng socket để thiết lập giao tiếp giữa
ứng dụng và server. Tất cả các chức năng về mạng trong CLDC/MIDP đều có thể
thực hiện được trên ĐTDD giả lập của Samsung JSDK 1.0.
7. Quản lý lỗi:
Trang 4 4
- MobileGames 2004 www.JavaVietnam.org
Khi chạy ứng dụng, Samsung JSDK 1.0 sẽ quản lý 3 loại lỗi sau đây:
a) Cảnh báo (warning): Một cửa sổ thông báo sẽ được hiển thị để cảnh báo
người sử dụng rằng có một vài thao tác trong ứng dụng đang chạy bị sai. Tuy
nhiên chính ứng dụng đã quản lý được lỗi nầy.
b) Thông tin (information): Một cửa sổ thông báo sẽ được hiển thị để thông
báo với người sử dụng rằng thao tác hiện tại không được phép thi hành trong
lúc nầy.
c) Lổi (error): Một cửa sổ thông báo sẽ được hiển thị để thông báo với người
sử dụng rằng ứng dụng sẽ bị đóng.
Khi lỗi xuất hiện, thông báo sẽ được hiển thị để trình bày nguyên nhân gây ra
lỗi. Ứng dụng sẽ quay về trạng thái trước đó.
Trên đây là các chức năng chính của Samsung JSDK 1.0. Trong quá trình sử dụng,
bạn sẽ khám phá thêm nhiều tính năng thú vị khác. Chạy ứng dụng với Samsung JSDK
1.0, bạn có thể khai thác mọi tính năng của ĐTDD Samsung. Vấn đề còn lại chỉ là
việc nạp ứng dụng lên thiết bị thực.
Việc lập trình cho thiết bị di động ngày nay không còn là vấn đề xa lạ. Và bây
giờ thì bạn đã thấy rằng lập trình cho ĐTDD còn dễ hơn cả lập trình cho máy tính.
Bạn có thể mua một chiếc ĐTDD để kiểm tra các ứng dụng của mình. Tuy nhiên, nếu
điều kiện không cho phép, bạn vẫn có thể chỉ sử dụng chương trình giả lập để tạo ra
một ứng dụng trên ĐTDD hoàn thiện.
Với kiểu dáng thời trang và chức năng đa dạng, ĐTDD Samsung ngày càng
chiếm được thị hiếu của người tiêu dùng. Việc có thể lập trình, cài đặt và xoá ứng
dụng trên ĐTDD đã làm cho nó có thể thay thế một số chức năng của máy tính. Tuy
nhiên, phần mềm, đặc biệt là games, cho ĐTDD Samsung còn quá ít trên thị trường.
Do vậy, thị trường sẽ cần đến một lượng lớn các lập trình viên games và phần mềm
cho ĐTDD Samsung. Đó chính là lý do để chúng tôi viết bài nầy.
Tài liệu tham khảo:
1. Samsung JSDK 1.0 User Guide:
(http://uk.samsungmobile.com/club/developers_club/cl_de_sdk_02.jsp)
2. Java 2 Micro Edition : http://java.sun.com/j2me
3. Chuyên mục J2ME trên JavaVietnam: http://www.javavietnam.org/javavn/mvnforum/listthreads?
forum=30
Địa chỉ download (miễn phí):
1. Samsung JSDK 1.0: http://uk.samsungmobile.com/club/developers_club/cl_de_sdk_02.jsp
2. J2ME Wireless Toolkit 1.0.4: http://java.sun.com/products/j2mewtoolkit/download.html
NGÔ VĂN KHOA
Trang 5 5
- MobileGames 2004 www.JavaVietnam.org
Địa chỉ: 221 Lê Thúc Hoạch, Q. Tân Phú, TP.HCM
Email: billkhoa@yahoo.com
Trang 6 6
nguon tai.lieu . vn