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 14 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 7
Dung lượng 293,72 KB

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

Nội dung

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

Trang 1

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

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

d ng ch y trên các đi n tho i này ụ ạ ệ ạ

Đ c t MIDP đặ ả ược xây d ng đ phát tri n các ng d ng cho đi n tho i di đ ng (ĐTDĐ) có th tự ể ể ứ ụ ệ ạ ộ ể ương thích

v i các đi n tho i c a các hãng s n xu t khác nhau Tuy nhiên do đ c t MIDP 1.0 còn m t s gi i h n, đaớ ệ ạ ủ ả ấ ặ ả ộ ố ớ ạ

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

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

h t các tính năng mà đi n tho i cung c p cho b n N u game c a b n có s d ng các tính năng c a đi nế ệ ạ ấ ạ ế ủ ạ ử ụ ủ ệ tho i Samsung, game c a b n s h p d n h n và b n s đạ ủ ạ ẽ ấ ẫ ơ ạ ẽ ược thêm đi m trong cu c thi Mobile Gamesể ộ

2004 Tuy nhiên b n cũng chú ý r ng m t khi b n s d ng các tính năng riêng c a đi n tho i Samsung, ngạ ằ ộ ạ ử ụ ủ ệ ạ ứ

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

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

t o đ rung cho đi n tho i, LCDLight đ b t t t màn hình đi n tho i và cu i cùng là SMS giúp b n có th l pạ ộ ệ ạ ể ậ ắ ệ ạ ố ạ ể ậ trình g i các tin nh n SMS.ử ắ

1 Ch i nh c v i AudioClip ơ ạ ớ

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

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

b n có th l p trình âm thanh cho các ng d ng MIDP Hi n nay đi 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 luôn luôn b ng 1 (ki u đ nh d ng mmf) và filename là tên t p tin mmf Đ t o t p tin mmf tằ ể ị ạ ậ ể ạ ậ ừ

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

được đăng kèm theo trong s báo này) Đ ki m tra đi n tho i Samsung c a b n có h tr âm thanh hayố ể ể ệ ạ ủ ạ ỗ ợ không, b n dùng phạ ương th c tĩnh (static) AudioClip.isSupported() AudioClip h tr 4 phứ ỗ ợ ương th c đi u ki nứ ề ể

Trang 2

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

đo n nh c đã đạ ạ ượ ạc t m d ng trừ ước đó B n chú ý là trong m i th i đi m ch có t i đa m t đ i tạ ỗ ờ ể ỉ ố ộ ố ượ ng AudioClip ch i nh c và đó là đ i tơ ạ ố ượng được g i play() sau cùng Đo n chọ ạ ương trình sau đây minh ho cáchạ dùng AudioClip đ ch i 3 file âm thanh mmf, trong đó cũng 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() khi đang stop, ho c cho phép resume() ch sau khi b n đã g iụ ư ỉ ọ ặ ỉ ạ ọ pause() trước đó Các b n xem thêm hình minh ho khi ch y trong emulator cho X100:ạ ạ ạ

Trang 3

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

Trang 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";

} else if (currentString.equals("One Stop")) {

Trang 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) {

try {

Trang 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 là đ a ch đ n, callback là đ a ch callback và textMessage là n i dung tin nh n Sau khi có đ iị ỉ ế ị ỉ ộ ắ ố

tượng SM, b n dùng phạ ương th c tĩnh SMS.send(SM sm) đ g i tin nh n đi B n tham kh o đo n chứ ể ử ắ ạ ả ạ ươ ng trình sau minh ho vi c g i tin nh n v i đ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);

this.append(textFieldCallback);

this.append(textFieldMsg);

setCommandListener(this);

addCommand(cmdBack);

addCommand(cmdSend);

Trang 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 này đã trình bày cách l p trình s d ng các tính năng riêng bi t c a đi 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 và s đỹ ậ ủ ạ ẽ ấ ẫ ơ ẽ ược ch m đi m cao h n trong cu c thi Mobile Gamesấ ể ơ ộ

2004 này

Mã ngu n toàn b chồ ộ ương trình này được opensource v i gi p phép công c ng GPL và đ t t i CVS c aớ ấ ộ ặ ạ ủ JavaVietnam t i ạ http://sf.net/projects/javavietnam và b n có th download t iạ ể ạ

http://www.javavietnam.org/javavn/tutorial/j2me/SamsungDemo.zip

Ngoài ra n u b n có đi n tho i Samsung, b n có th t i v ch y th t iế ạ ệ ạ ạ ể ả ề ạ ử ạ

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

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

w