J2ME开发环境的建立

这里是在eclipse中安装eclipseMe插件来完成的。到网上下载J2ME套件eclipseme.feature_1.7.9_site.zip。然后将里面的plugins和features的JAR包分别拷贝到eclipse下的对应的plugins和features目录下面.这样eclipse的插件就安装成功了。然后还要安装J2me的开发安装包.可以使用SUN,Samsung,Motorlora,等提拱的开发包。在这里我使用Sun的sun_java_wireless_toolkit-2_5_2-ml-windows.exe.默认安装,完成后,然后还要对其进行配置.打开eclipse,然后选择windows/references选项.选中J2me节点,在WTK Root下选择开发套件的目录,在这里我选择D:/SamsungSDK.再选中Device Management。点击import按钮。在弹出的对话框中点击Brower.选中至bin目录下D:/SamsungSDK/bin.随之点击refresh。就可以引入该套件所支持的所有Device.你可以对其进行一些配置即可.

 

这样J2ME的开发环境就配置好了。接下来我们开发一个试例,来测试是否配置成功.点击NEW/Other选项,弹出一个创建项目的对知框.在里面有一个J2ME节点,选中J2ME Midlet Suite选项,点击Next,接着输入项目的名字(我输入j2meTextExample),点击Next,这里选择开发的设备,这跟实际要用到的手机型号有关,你可以选择你所需要的设备.,最后点击finish。这样就创建好了一个j2me项目了。

 

然后就可以添加一些J2me Midlet类了.在这里我首先创建了一个包:com.j2me.app

添加一个SimpleMidletApp.里面最初只有一些startApp(),destroyApp(),pauseApp()方法。

你可以运行一下看看效里。你右键点击该simpleMidletApp类,点击run as /Emulated J2ME Midlet。即可,如果弹出了一个空白的手机模拟器。说明运行正常。这样J2ME开发环境就建立起来了。这为以后开发程序做好准备了。

 

下面我举一个开发类似电话本的例子,来呈现一个简单的一个开发程序

 

package com.j2me.app;

import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
import javax.microedition.lcdui.*;//类似GUI包
import javax.microedition.rms.*;//数据库包

//一个简单的测试程序
public class SimpleMidletApp extends MIDlet implements CommandListener {

 private Display dis;
 private Form form=new Form("Phone测试");
 private TextField tf_name=new TextField("姓名: ","",255,TextField.ANY);
 private TextField tf_phone=new TextField("电话号码: ","",255,TextField.NUMERIC);
 private Command cmdOk=new Command("添加",Command.SCREEN,1);
 private Command cmdExit=new Command("退出",Command.EXIT,1);
 
 private Image img,alertImg=null;

 private RecordStore rs=null;
 
 
 private String phone,name;
 
 //创建一个提示框
 private Alert alert;
 
 public SimpleMidletApp(){
  try{
   img=Image.createImage("/face.png");//注意图片文件要以.png做为后缀名
   alertImg=Image.createImage("/alert.png");
   
  }catch(Exception evt){
   evt.printStackTrace();
  }
  
  alert=new Alert("温馨提示","",alertImg,AlertType.INFO);
 }
 
 protected void startApp() throws MIDletStateChangeException {
  if(dis==null){
   dis=Display.getDisplay(this);
  }
  
    form.append(tf_name);
    form.append(tf_phone);
    form.addCommand(cmdExit);
    form.addCommand(cmdOk);
   
    //添加事件监听程序
    form.setCommandListener(this);
   
  
  dis.setCurrent(form);

 }

 //处理事件
 public void commandAction(Command c, Displayable d) {
  //。。。。。。。。。。。。。
  
  if(c==this.cmdExit){
   //退出按钮
   try {
    this.destroyApp(true);
   } catch (Exception e) {
    e.printStackTrace();
   }
   this.notifyDestroyed();
  }
  
  if(c==cmdOk){
   
   //得到文本框中的值
   name=tf_name.getString();
   phone=tf_phone.getString();
   
   if(name.length()==0 || phone.equals("")){
    alert.setString("名字或电话号码不能为空");
    alert.setTimeout(2000);
    dis.setCurrent(alert,form);
    //一段时间跳回至form
   }
   
  
   
   //存储到数据库中
       //如何将字节流存入数据库,思考 
   openDataBase();
   try {
    rs.addRecord(name.getBytes(),0,name.getBytes().length);
    rs.addRecord(phone.getBytes(),0,phone.getBytes().length);
   } catch (Exception e) {
    e.printStackTrace();
   }
   
   
  }
  
 }

 public void openDataBase(){
  try {
    rs=RecordStore.openRecordStore("RS1", true);
   //类似数据名,true则表示存在则覆盖,不存在则创建
  } catch (RecordStoreFullException e) {
   e.printStackTrace();
  } catch (RecordStoreNotFoundException e) {
   e.printStackTrace();
  } catch (RecordStoreException e) {
   e.printStackTrace();
  }
 }

 protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
  

 }

 protected void pauseApp() {
  

 }


}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值