当前位置:编程学习 > JAVA >>

j2me模板大家都分享一下吧


/**
 * 类说明:音乐的控制
 * ware audio files  audio/x-wav
 * au                audio/basic
 * mp3               audio/mpeg
 * midi              audio/midi
 * tone              audio/x-tone-sep
 * mpeg              video/mpeg
 * @author 作者: User
 * @version 创建时间:2011-3-22 下午10:02:59
 */

import java.io.InputStream;

import javax.microedition.media.Manager;
import javax.microedition.media.MediaException;
import javax.microedition.media.Player;
import javax.microedition.media.control.VolumeControl;

public class Music {
private static Music instance;

private Player player;// 创建一个音乐播放器
private VolumeControl volumeControl = null;// 声音控制
private int volume = 50;// 音量的初始值
private static final int MAX = 100;// 音量最大值
private static final int MIN = 0;// 音量最小值
private boolean isplay = false;//是否真正播放

private Music() {

}

// 采用单例模式 返回本类对象
static Music getInstance() {
if (instance == null) {
instance = new Music();
}
return instance;
}

// 播放音乐
public void playMusic() {
player = createPlayer("/city.mid", "audio/midi");// 创建音乐播放器
volumeControl = (VolumeControl) player.getControl("VolumeControl");// 得到音乐控制器
isplay = true;
startPlayer(player);// 开始播放音乐
}

// 停止音乐播放
public void stopMusic() {
try {
if (player != null)
player.stop();
player = null;
isplay = false;
} catch (Exception e) {
e.printStackTrace();
}
}

// 加大音量
public void addVolume() {
if (volumeControl != null) {
volume += 10;
if (volume > MAX)
volume = MAX;
volumeControl.setLevel(volume);
}
}

public boolean isPlay() {
return isplay;
}

// 减小音量
public void subVolume() {
if (volumeControl != null) {
volume -= 10;
if (volume < MIN)
volume = MIN;
volumeControl.setLevel(volume);
}
}

// 设置音量
public void setVolume(int volue) {
if (volumeControl != null) {
volumeControl.setLevel(volue);
}
}
// 开始播放
private void startPlayer(Player p) {
if (p != null) {
try {
p.stop();
p.setLoopCount(-1);
p.start();
} catch (MediaException me) {
me.printStackTrace();
}
}
}

// 创建音乐播放器
private Player createPlayer(String filename, String format) {
Player p = null;
try {
InputStream is = getClass().getResourceAsStream(filename);// 得到音乐文件输入流
p = Manager.createPlayer(is, format);
p.prefetch();
} catch (Exception ioe) {
ioe.printStackTrace();
}
return p;
}
}
--------------------编程问答-------------------- java字符串解析 将字符串解析成字符数组

//字符串解析
private String[] stringAnalytical(String str, String divisionChar) {
String string[];
   int i = 0; 
StringTokenizer tokenizer = new StringTokenizer(str, divisionChar);
string = new String[tokenizer.countTokens()];// 动态的决定数组的长度
 while (tokenizer.hasMoreTokens()) {
string[i] = new String();
string[i] = tokenizer.nextToken();
i++;
}
return string;// 返回字符串数组
}
--------------------编程问答-------------------- j2me中字符串的解析,将字符串根据特定的字符解析成字符数组

// 字符串解析,将字符串转根据分割符换成字符串数组
private String[] stringAnalytical(String string, char c) {
int i = 0;
int count = 0;

if (string.indexOf(c) == -1)
return new String[] { string };// 如果不含分割符则返回字符本身
char[] cs = string.toCharArray();
int length = cs.length;
for (i = 1; i < length - 1; i++) {// 过滤掉第一个和最后一个是分隔符的情况
if (cs[i] == c) {
count++;// 得到分隔符的个数
}
}
String[] strArray = new String[count + 1];
int k = 0, j = 0;
String str = string;
if ((k = str.indexOf(c)) == 0)// 去掉第一个字符是分隔符的情况
str = str.substring(k + 1);
if (str.indexOf(c) == -1)// 检测是否含分隔符,如果不含则返回字符串
return new String[] { str };
while ((k = str.indexOf(c)) != -1) {// 字符串含分割符的时候
strArray[j++] = str.substring(0, k);
str = str.substring(k + 1);
if ((k = str.indexOf(c)) == -1 && str.length() > 0)
strArray[j++] = str.substring(0);
}
return strArray;
}
--------------------编程问答-------------------- 有 rms的操作类吗? --------------------编程问答-------------------- java进度条实例模板



import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.Gauge;



public class GaugeUI extends Form implements CommandListener {
private static final int MAX = 8;
private static final int LEVELS = 8;
int current = 0;
Gauge gauge;
Command stopCommand;
boolean stop;
boolean stopped;

/** Creates a new instance of GaugeObserverUI */
public GaugeUI() {
super("");
// 创建一个进度条
gauge = new Gauge("", false, MAX, 0);
stopCommand = new Command("停止", Command.STOP, 10);
addCommand(stopCommand);
append(gauge);
setCommandListener(this);

}

// 初时化进度条
public void init(String note, boolean stop) {
gauge.setValue(0);
setNote(note);
setStop(stop);
stopped = false;
}

// 进度条标题
public void setNote(String note) {
setTitle(note);
}

// 是否停止
public boolean isStop() {
return stop;
}

// 设置进度条停止
public void setStop(boolean stop) {
this.stop = stop;
}

// 是否已停止
public boolean isStopped() {
return stopped;
}

// 更新进度条
public void updateGauge() {
current = (current + 1) % LEVELS;
gauge.setValue(current * MAX / LEVELS);
}

// 处理监听
public void commandAction(Command c, Displayable d) {
if (c == stopCommand) {
stopped = true;
stop();
}
}

// 停止时事件处理
public void stop() {

}
}

--------------------编程问答--------------------
引用 3 楼 xming4321 的回复:
有 rms的操作类吗?

有啊 

import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
import javax.microedition.rms.RecordComparator;
import javax.microedition.rms.RecordEnumeration;
import javax.microedition.rms.RecordFilter;
import javax.microedition.rms.RecordStore;


public class RmsPricatis extends MIDlet {

public RmsPricatis() {
// TODO Auto-generated constructor stub
}

protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
// TODO Auto-generated method stub

}

protected void pauseApp() {
// TODO Auto-generated method stub

}

protected void startApp() throws MIDletStateChangeException {
        try {
RecordStore rs = RecordStore.openRecordStore("rj", true);
/* rs.addRecord("张三".getBytes(), 0, 4);
 rs.addRecord("李四".getBytes(), 0, 4);
 rs.addRecord("王五".getBytes(), 0, 4);
 rs.addRecord("王强".getBytes(), 0, 4);
 rs.addRecord("钱王六".getBytes(), 0, 6);*/
            RecordEnumeration re = rs.enumerateRecords(new Filter(), new Compare(), false);
            while (re.hasNextElement()) {
       System.out.println(new String(rs.getRecord(re.nextRecordId())));
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
        
}
//过滤器
class Filter implements RecordFilter {

public boolean matches(byte[] b) {
String name = new String(b);
if (name.indexOf("王") >= 0) {
return true;
}
return false;
}
}
// 比较器
class Compare implements RecordComparator{

public int compare(byte[] b1, byte[] b2) {
String  s1 = new String(b1);
String  s2 = new String(b2);
if(s1.length()>s2.length())
return RecordComparator.FOLLOWS;
else if(s1.length()==s2.length())
return RecordComparator.EQUIVALENT;
else 
    return RecordComparator.PRECEDES;
}

}
}
--------------------编程问答-------------------- --------------------编程问答-------------------- j2me中将对象转换成字节数组的方法

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;

public class PhoneCard {
private int password;// 电话密码
private long cardNumber;// 电话卡卡号
private double balance;// 电话卡余额
private String conncetNumber;// 电话卡接入号码
private boolean connected;// 电话是否接通

//将对象转换成字节数组
public byte[] PhoneCard2Byte() throws IOException{
byte[] phonecard;// 用于存放转换后的对象
ByteArrayOutputStream baos = new ByteArrayOutputStream();// 字节输出流
DataOutputStream dos = new DataOutputStream(baos);// 数据输出流用于包装字节输出流
dos.writeInt(password);
dos.writeLong(cardNumber);
dos.writeDouble(balance);
dos.writeUTF(conncetNumber);
dos.writeBoolean(connected);
phonecard = baos.toByteArray();// 将写入的数据转换成字节数组
dos.close();
baos.close();
return phonecard;
}
//将字节数组装换成PhoneCard对象
public static  PhoneCard byte2PhonCard(byte[] phonecard)throws IOException{
PhoneCard pc = new PhoneCard();
ByteArrayInputStream bais = new ByteArrayInputStream(phonecard);// 字节输入流
DataInputStream dis = new DataInputStream(bais);// 数据输入流用于包装字节输入流
// 从流中读取数据,顺序要和写入时一至
pc.setPassword(dis.readInt());
pc.setCardNumber(dis.readLong());
pc.setBalance(dis.readDouble());
pc.setConncetNumber(dis.readUTF());
pc.setConnected(dis.readBoolean());
dis.close();
bais.close();
return pc;// 返回PhoneCard对象

}

// 返回对象的字符串类型
public String toString(){
return "电话密码 : " + password + "     电话卡号 :" + cardNumber + "    电话余额 :"
+ balance + "    接入号码 :" + conncetNumber + "    接通否 :"
+ connected;
}
public int getPassword() {
return password;
}

public void setPassword(int password) {
this.password = password;
}

public long getCardNumber() {
return cardNumber;
}

public void setCardNumber(long cardNumber) {
this.cardNumber = cardNumber;
}

public double getBalance() {
return balance;
}

public void setBalance(double balance) {
this.balance = balance;
}

public String getConncetNumber() {
return conncetNumber;
}

public void setConncetNumber(String conncetNumber) {
this.conncetNumber = conncetNumber;
}

public boolean isConnected() {
return connected;
}

public void setConnected(boolean connected) {
this.connected = connected;
}
    
}


--------------------编程问答-------------------- j2me联网测试

import java.io.DataInputStream;

import javax.microedition.io.Connector;
import javax.microedition.io.HttpConnection;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Form;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;


public class Test7_1Http extends MIDlet {
private Form form = null;
private Display display = null;
public Test7_1Http() {
form = new Form("连网测试");
display = Display.getDisplay(this);
}
protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
}

protected void pauseApp() {
}

protected void startApp() throws MIDletStateChangeException {
    try {
     HttpConnection connection = (HttpConnection)Connector.open("http://localhost:8080/pdsu.html");
    
     System.out.println(connection.getResponseCode());//得到连接状态
     System.out.println(connection.getResponseMessage());//得到连接响应的消息
    
     System.out.println(connection.getHost());//得到主机地址
     System.out.println(connection.getPort());//得到连接的断口号
     System.out.println(connection.getProtocol());//得到连接的协议
     System.out.println(connection.getURL());
     System.out.println(connection.getRequestMethod());//得到连接方式     默认get
    
     DataInputStream dis = connection.openDataInputStream();
      byte message[];
      int length = (int)connection.getLength();
      message = new byte[length];
      dis.readFully(message);
          form.append(new String(message));
      display.setCurrent(form);
} catch (Exception e) {
e.printStackTrace();
}
}

}
--------------------编程问答-------------------- j2me Socket通信例子

客户端

package test7www;

import java.io.DataOutputStream;
import java.io.IOException;

import javax.microedition.io.Connector;
import javax.microedition.io.SocketConnection;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.TextField;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;

public class Test7_2Client extends MIDlet implements CommandListener {
private Form form = null;
private Display display = null;
private TextField field = null;
private Command send = null;
private SocketConnection sc = null;

public Test7_2Client() {
form = new Form("客户端");
display = Display.getDisplay(this);
field = new TextField("文本信息", "", 100, TextField.ANY);
send = new Command("发送", Command.OK, 1);
form.setCommandListener(this);
form.addCommand(send);
form.append(field);
}

protected void startApp() throws MIDletStateChangeException {
display.setCurrent(form);
}

public void commandAction(Command c, Displayable d) {
if (c == send) {
new SendMessage().start();
}
}

protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
}

protected void pauseApp() {
}

class SendMessage extends Thread {
private DataOutputStream dos = null;

public void run() {

try {
sc = (SocketConnection) Connector
.open("socket://localhost:50000");
dos = sc.openDataOutputStream();
dos.writeUTF(field.getString());
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (dos != null)
dos.close();
if (sc != null)
sc.close();
} catch (IOException e) {
e.printStackTrace();
}
}

}
}

}



服务器端

package test7www;

import java.io.DataInputStream;
import java.io.IOException;

import javax.microedition.io.Connector;
import javax.microedition.io.ServerSocketConnection;
import javax.microedition.io.SocketConnection;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.TextField;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;

public class Test7_2Server extends MIDlet implements CommandListener {
private Form form = null;
private Display display = null;
private TextField field = null;
private Command accept = null;
private ServerSocketConnection ssc = null;
private SocketConnection sc = null;
private String message = null;

public Test7_2Server() {
form = new Form("服务端");
display = Display.getDisplay(this);
field = new TextField("文本信息", "", 100, TextField.ANY);
accept = new Command("接受", Command.OK, 1);
form.setCommandListener(this);
form.addCommand(accept);
form.append(field);
new AcceptMessage().start();
}

public void commandAction(Command c, Displayable d) {
if (c == accept) {
field.setString(message);
}
}

protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
}

protected void pauseApp() {
}

protected void startApp() throws MIDletStateChangeException {
display.setCurrent(form);
}

class AcceptMessage extends Thread {
private DataInputStream dis = null;

public void run() {
while (true) {
try {
ssc = (ServerSocketConnection) Connector
.open("socket://:50000");
sc = (SocketConnection) ssc.acceptAndOpen();
dis = sc.openDataInputStream();
message = dis.readUTF();
System.out.println("Server : " + message);
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (dis != null)
dis.close();
if (sc != null)
sc.close();
if (ssc != null)
ssc.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}

}

--------------------编程问答-------------------- 多谢 楼主 --------------------编程问答-------------------- --------------------编程问答--------------------
引用 5 楼 afgasdg 的回复:
引用 3 楼 xming4321 的回复:

有 rms的操作类吗?

有啊 
Java code

import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
import javax.microedition.rms.RecordComp……
顶楼主 感谢 --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 谢谢了 我有下载 楼主不要怪哦 --------------------编程问答--------------------
引用 13 楼 dlpzgr 的回复:
楼主威武

威武不屈。 --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 好帖,楼主好人啊。 --------------------编程问答-------------------- 虽然不是做JAVA的,但是非常感谢楼主提供这些完备的代码!谢谢楼主分享! --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 看起来不错的说 --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 很好,学习Android的也可以参考一下了。 --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 谢谢了 我有下载  --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 代码真的很完整,试试 --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 不错啊。太好了 --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 123456798 --------------------编程问答-------------------- 挺不错的....... --------------------编程问答-------------------- --------------------编程问答-------------------- 不错,现在已经.net了,但是看到j2me的代码还是有点小激动。 --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 代码看蒙了 --------------------编程问答-------------------- 大家有好代码的都分享一下呗! --------------------编程问答-------------------- 分享一下好的代码大家共同进步嘛,有代码的就分享一下了,谢谢!!! --------------------编程问答-------------------- j2me多线程的应用实例

import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.StringItem;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;

public class twoStrings extends MIDlet {
Display display;
Form form;
public String promote = "";
StringItem s1 = new StringItem("string1", "" + promote);
StringItem s2 = new StringItem("string1", "" + promote);

public twoStrings() {
}

protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
}

protected void pauseApp() {

}

protected void startApp() throws MIDletStateChangeException {
display = Display.getDisplay(this);
form = new Form("");
form.append(s1);
form.append(s2);
display.setCurrent(form);
Thread1 th1 = new Thread1();
th1.start();
Thread2 th2 = new Thread2();
new Thread(th2).start();

}

class Thread1 extends Thread {
int i = 1;
public void run() {
while (true) {
promote = Integer.toString(i);
i++;
s1.setText(promote);
try {
Thread.sleep(1000);
} catch (Exception e) {
}
}
}
}

class Thread2 implements Runnable {
int i = 1;
public void run() {
while (true) {
promote = Integer.toString(i);
i++;
s2.setText(promote);
try {
Thread.sleep(2000);
} catch (Exception e) {
}
}
}
}
}

--------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 内容存入剪贴板
--------------------编程问答--------------------
/**
 * 类说明:音乐的控制
 * ware audio files  audio/x-wav
 * au                audio/basic
 * mp3               audio/mpeg
 * midi              audio/midi
 * tone              audio/x-tone-sep
 * mpeg              video/mpeg
 * @author 作者: User
 * @version 创建时间:2011-3-22 下 --------------------编程问答-------------------- 谢谢  真的很需要 --------------------编程问答-------------------- 很好很强大。。 --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 感谢LZ分享~ --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 其实wtk自带的例子中有很多,不过楼主还是辛苦了 --------------------编程问答-------------------- --------------------编程问答-------------------- 编码很清晰 不过暂时用不上 --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 好强大啊 --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 手机中会有j2me的文件夹,一直不清楚是什么东东,赶紧学习一下! --------------------编程问答-------------------- 离开什么的,。m/.,m/、。,密密麻麻 --------------------编程问答-------------------- 真是厉害,我都自愧不如了 啊。强悍,顶了啊
--------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 多谢了啊,哈哈 --------------------编程问答-------------------- 很不错啊,谢谢
补充:Java ,  J2ME
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,