首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2ME开发 >

手机J2ME程序开发(1)

2012-08-27 
手机J2ME程序开发(一)  用JAVA好长时间了,从来没有想过写J2ME程序,最近买了个手机,比较便宜,相当的功能就

手机J2ME程序开发(一)
  用JAVA好长时间了,从来没有想过写J2ME程序,最近买了个手机,比较便宜,相当的功能就少了些,就有了自己写几个程序的想法。

  有了写J2EE程序的基础,很快就可以上手写J2ME的程序,由此我发现JAVA的跨平台能力否真不是白叫的。

  写程序前先要熟悉几个相关概念,然后搭建一下开发环境,这方面网上都有详细的介绍,我在这里不过多的进行介绍了。我使用的环境是eclipse3.2及wtk2.5。

  大家都知道学编程,一个helloworld的程序是很重要的,下面我把的编写的一个程序代码贴在下面,希望大家有所帮助。


package midp.wallimn.com;import java.util.Date;import java.util.Timer;import java.util.TimerTask;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.Item;import javax.microedition.lcdui.Spacer;import javax.microedition.lcdui.StringItem;import javax.microedition.lcdui.TextBox;import javax.microedition.midlet.MIDlet;import javax.microedition.midlet.MIDletStateChangeException;/** *//** * 这是个秒表程序,以我的L6g为运行平台,是我自己编写的第一个手机程序, 很快就调试运行成功,很有成就感。 <br/> *  * @version : V1.0<br/> * @author : (Email: wallimn@sohu.com QQ: 54871876)<br/> * @date : 2008-1-14 下午01:37:28<br/> */public class StopWatchMIDlet extends MIDlet implements CommandListener ...{ //private TextBox tBox;// 显示 //原来使用TextBox做显示用,用户敲键盘会出现输入窗口。 private Form mainForm; private StringItem stringItem; private Timer m_timer;// 定时器 private Display display; private Command EXIT_CMD = new Command("退出", Command.EXIT, 1); private Command STOP_CMD = new Command("停止", Command.STOP, 1); private Command START_CMD = new Command("开始", Command.STOP, 1); class MyTimerTask extends TimerTask ...{  int s = 0;//秒  int m = 0;//分  int h = 0;//时  int ms = 0;//1/100秒  StringBuffer sb = null;  public MyTimerTask()...{   sb = new StringBuffer();  }  public void init() ...{   s = 0;   m = 0;   h = 0;   ms = 0;  }  public String getString() ...{   //StringBuffer sb = new StringBuffer();   sb.delete(0, sb.length());   if (h <= 9)    sb.append("0");   sb.append(h);   sb.append(":");   if (m <= 9)    sb.append("0");   sb.append(m);   sb.append(":");   if (s <= 9)    sb.append("0");   sb.append(s);   sb.append(".");   sb.append(ms);   return sb.toString();  }  public void run() ...{   if (ms == 9) ...{    ms = 0;    if (s == 59) ...{     s = 0;     if (m == 59) ...{      m = 0;      h++;     } else ...{      m++;     }    } else ...{     s++;    }   } else ...{    ms++;   }   stringItem.setText(getString());  } } public StopWatchMIDlet() ...{  display = Display.getDisplay(this);  mainForm = new Form("=秒表程序=");  Spacer spacer = new Spacer(20,mainForm.getHeight()/2-18);  mainForm.append(spacer);  stringItem = new StringItem("","00:00:00.0");  stringItem.setLayout(Item.LAYOUT_CENTER);  mainForm.append(stringItem);  mainForm.addCommand(EXIT_CMD);//添加命令显示  mainForm.addCommand(START_CMD);//添加命令显示  mainForm.setCommandListener(this);//添加事件监听 } protected void destroyApp(boolean arg0) ...{  stringItem = null; } protected void pauseApp() ...{ } protected void startApp() throws MIDletStateChangeException ...{  display.setCurrent(mainForm); } public void commandAction(Command c, Displayable s) ...{  if (c == EXIT_CMD) ...{   if(m_timer!=null)...{//停止计时器,释放资源    m_timer.cancel();    m_timer=null;   }   try ...{    destroyApp(false);   } catch (Exception e) ...{   }   notifyDestroyed();  }  else if (c == STOP_CMD) ...{    this.m_timer.cancel();    m_timer = null;    mainForm.removeCommand(STOP_CMD);    mainForm.addCommand(START_CMD);  }  else if(c==START_CMD)...{   m_timer = new Timer();   m_timer.schedule(new MyTimerTask(), new Date(),100);   mainForm.removeCommand(START_CMD);   mainForm.addCommand(STOP_CMD);  } }}


  相关软件请到我的网络硬盘下载:http://wallimn.ys168.com

/***********本人原创,欢迎转载,转载请保留本人信息*************/
作者:wallimn 电邮:wallimn@sohu.com 时间:2008-02-13
博客:http://blog.csdn.net/wallimn http://wallimn.iteye.com
网络硬盘:http://wallimn.ys168.com
/***********文章发表请与本人联系,作者保留所有权利*************/

热点排行