1. Trang chủ
  2. » Mẫu Slide

Phát triển ứng dụng J2ME sử dụng các tính năng mở rộng của điện thoại Samsung tinh nang cua DTDD Samsung

7 13 0

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

THÔNG TIN TÀI LIỆU

Nội dung

package org.javavietnam.j2me.samsungdemo; import javax.microedition.lcdui.*;.[r]

(1)

Phát tri n ng d ng J2ME s d ng tính m r ng c a n tho i

ể ứ

ử ụ

ở ộ

Samsung

Tóm t t: Bài vi t trình bày cách l p trình s d ng tínhắ ế ử ụ năng riêng c a n tho i Samsung đ xây d ng ngủ d ng ch y n tho i này.ụ

Đ c t MIDP đặ ả ược xây d ng đ phát tri n ng d ng cho n tho i di đ ng (ĐTDĐ) có th tự ể ể ứ ụ ệ ộ ể ương thích v i n tho i c a hãng s n xu t khác Tuy nhiên đ c t MIDP 1.0 m t s gi i h n, đaớ ệ ủ ả ấ ặ ả ộ ố

s hãng s n xu t ĐTDĐ đ u cung c p th vi n API b sung đ m r ng thêm kh c a ngố ả ấ ề ấ ệ ổ ể ộ ả ủ ứ

d ng ch y lo i n tho i Vì v y n u b n vi t ng d ng ĐTDĐ Samsung, b n nên t n d ngụ ạ ệ ậ ế ế ứ ụ ậ ụ

h t tính mà n tho i cung c p cho b n N u game c a b n có s d ng tính c a nế ệ ấ ế ủ ụ ủ ệ

tho i Samsung, game c a b n s h p d n h n b n s đạ ủ ẽ ấ ẫ ẽ ược thêm m cu c thi Mobile Gamesể ộ

2004 Tuy nhiên b n ý r ng m t b n s d ng tính riêng c a n tho i Samsung, ngạ ằ ộ ụ ủ ệ ứ

d ng c a b n s không ch y ĐTDĐ c a hãng khác.ụ ủ ẽ ủ

Các đ i n tho i Samsung thờ ệ ường cung c p th vi n API bao g m AudioClip đ ch i nh c, Vibration đấ ệ ể ể

t o đ rung cho n tho i, LCDLight đ b t t t hình n tho i cu i SMS giúp b n có th l pạ ộ ệ ể ậ ắ ệ ố ể ậ

trình g i tin nh n SMS.ử ắ

1 Ch i nh c v i AudioClipơ

Có l âm m t tính khơng th thi u đẽ ộ ể ế ược c a game, không ch game máy đ bànủ ỉ ể

mà c cho game ch y ĐTDĐ Samsung cung c p cho b n l p com.samsung.util.AudioClip đả ấ ể

b n có th l p trình âm cho ng d ng MIDP Hi n n tho i Samsung ch h tr ki u đ nhạ ể ậ ứ ụ ệ ệ ỉ ỗ ợ ể ị

d ng mmf (TYPE_MMF = 1) Đ t o đ i tạ ể ố ượng AudioClip, b n dùng constructor sau:ạ

public AudioClip(int type, java.lang.String filename) throws java.io.IOException

trong type ln ln b ng (ki u đ nh d ng mmf) filename tên t p tin mmf Đ t o t p tin mmf tằ ể ị ậ ể ậ

t p tin midi, b n dùng chậ ương trình PsmPlayer có CD c a BTC (bài hủ ướng d n s d ng PsmPlayerẫ ụ

được đăng kèm theo s báo này) Đ ki m tra n tho i Samsung c a b n có h tr âm hayố ể ể ệ ủ ỗ ợ

(2)

là play() đ ch i nh c, stop() đ d ng ch i, pause() giúp b n t m d ng resume() cho phép b n ch i ti pể ể ạ ế

đo n nh c đạ ượ ạc t m d ng trừ ước B n ý m i th i m ch có t i đa m t đ i tạ ỗ ể ỉ ố ộ ố ượng AudioClip ch i nh c đ i tơ ố ượng g i play() sau Đo n chọ ương trình sau minh ho cáchạ

dùng AudioClip đ ch i file âm mmf, minh ho cách xây d ng giao di n đ b o đ mể ự ệ ể ả ả

tính logic, ví d nh ch cho phép g i play() stop, ho c cho phép resume() ch sau b n g iụ ỉ ọ ặ ỉ ọ

(3)(4)

import com.samsung.util.AudioClip; /**

* Demo AudioClip * @author Minh Nguyen */

public class AudioDemoForm extends List implements CommandListener { private Command cmdBack = new Command("Back", Command.BACK, 1); private Command cmdStart = new Command("Start", Command.SCREEN, 1); private Command cmdStop = new Command("Stop", Command.SCREEN, 1); private Command cmdPause = new Command("Pause", Command.SCREEN, 1); private Command cmdResume = new Command("Resume", Command.SCREEN, 1); private AudioClip audioClip = null;

public AudioDemoForm() {

super("Audio Demo", List.IMPLICIT); append("Joy", null);

append("One Stop", null); append("Nguoi ta noi", null); setCommandListener(this); addCommand(cmdBack); addCommand(cmdStart); }

public void commandAction(Command command, Displayable displayable) { if (command == cmdBack) {

stopAudioClip();

Display.getDisplay(SamsungDemoMIDlet.instance).setCurrent(new MainForm()); } else if (command == cmdStart) {

int currentIndex = getSelectedIndex(); String currentString = getString(currentIndex); String filename = null;

if (currentString.equals("Joy")) { filename = "/joy.mmf";

} else if (currentString.equals("Nguoi ta noi")) { filename = "/nguoitanoi.mmf";

(5)

filename = "/onestop.mmf"; }

playAudioClip(filename);

} else if (command == cmdStop) { stopAudioClip();

} else if (command == cmdPause) { pauseAudioClip();

} else if (command == cmdResume) { resumeAudioClip();

} }

public void playAudioClip(String filename) { stopAudioClip();

try {

audioClip = new AudioClip(1, filename);

audioClip.play(10, 5);// loop 10 times with maximum volume (5) addCommand(cmdStop);

addCommand(cmdPause); removeCommand(cmdResume); } catch (Exception e) {

e.printStackTrace(); }

}

public void stopAudioClip() { if (audioClip != null) { try {

audioClip.stop(); audioClip = null;

removeCommand(cmdStop); removeCommand(cmdPause); removeCommand(cmdResume); } catch (Exception e) {

e.printStackTrace(); }

} }

public void pauseAudioClip() { if (audioClip != null) {

(6)

ki u com.samsung.util.SM v i constructor sau:ể

public SM(java.lang.String dest, java.lang.String callback, java.lang.String textMessage)

trong dest đ a ch đ n, callback đ a ch callback textMessage n i dung tin nh n Sau có đ iị ỉ ế ị ỉ ộ ắ ố

tượng SM, b n dùng phạ ương th c tĩnh SMS.send(SM sm) đ g i tin nh n B n tham kh o đo n ể ắ ả ương trình sau minh ho vi c g i tin nh n v i n tho i Samsungạ ệ ắ ệ

package org.javavietnam.j2me.samsungdemo; import javax.microedition.lcdui.*;

import com.samsung.util.SM; import com.samsung.util.SMS; /**

* Demo SMS

* @author Minh Nguyen */

public class SMSForm extends Form implements CommandListener { private Command cmdBack = new Command("Back", Command.BACK, 1); private Command cmdSend = new Command("Send", Command.SCREEN, 1); TextField textFieldDest;

TextField textFieldCallback; TextField textFieldMsg; public SMSForm() { super("SMS Demo");

textFieldDest = new TextField("Destination", "", 15, TextField.ANY); textFieldCallback = new TextField("Call back", "", 15, TextField.ANY); textFieldMsg = new TextField("Message", "", 128, TextField.ANY); this.append(textFieldDest);

(7)

}

public void commandAction(Command command, Displayable displayable) { if (command == cmdBack) {

Display.getDisplay(SamsungDemoMIDlet.instance).setCurrent(new MainForm()); } else if (command == cmdSend) {

String dest = textFieldDest.getString(); String callback = textFieldCallback.getString(); String message = textFieldMsg.getString(); SM sm = new SM(dest, callback, message); SMS.send(sm);

} } }

5 K t lu nế

Bài vi t trình bày cách l p trình s d ng tính riêng bi t c a n tho i Samsung V i nh ngế ậ ụ ệ ủ ệ ữ

k thu t này, game c a b n s h p d n h n s đỹ ậ ủ ẽ ấ ẫ ẽ ược ch m m cao h n cu c thi Mobile Gamesấ ể ộ

2004

Mã ngu n tồn b chồ ộ ương trình opensource v i gi p phép công c ng GPL đ t t i CVS c aớ ấ ộ ặ ủ

JavaVietnam t i http://sf.net/projects/javavietnam b n có th download t iạ ể

http://www.javavietnam.org/javavn/tutorial/j2me/SamsungDemo.zip Ngồi n u b n có n tho i Samsung, b n có th t i v ch y th t iế ệ ạ ể ả ề

i http://www.javavietnam.org/javavn/tutorial/j2me/SamsungDemo.zip http://www.javavietnam.org/javavn/wap/game.wml

Ngày đăng: 09/03/2021, 03:59

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

TÀI LIỆU LIÊN QUAN

w