Danh mục

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

Số trang: 13      Loại file: pdf      Dung lượng: 0.00 B      Lượt xem: 8      Lượt tải: 0    
Hoai.2512

Hỗ trợ phí lưu trữ khi tải xuống: 3,000 VND Tải xuống file đầy đủ (13 trang) 0

Báo xấu

Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Đặ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
Nội dung trích xuất từ tài liệu:
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 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ạiSamsung 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íchvớ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, đasố 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ậndụ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 MobileGames 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ạiSamsung, ứ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 AudioClipCó 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ànmà 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 địnhdạ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.IOExceptiontrong đó 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ụngPsmPlayer đượ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ợ âmthanh hay không, bạn dùng phương thức tĩnh (static) AudioClip.isSupported(). AudioClip hỗ trợ 4 phươngthức điều kiển là play() để chơi nhạc, stop() để dừng chơi, pause() giúp bạn tạm dừng và resume() chophé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 đamộ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ựnggiao 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 choX100:package org.javavietnam.j2me.samsungdemo;import javax.microedition.lcdui.*;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)) {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(c ...

Tài liệu được xem nhiều: