使用NetBeans进行J2ME开发(一):别让程序员的手机闲着

来源:互联网 发布:网络营销软件下载 编辑:程序博客网 时间:2024/05/17 23:05
我们是程序员,我们没有各种各样的应酬,电脑和网络就是我们的整个世界。上班之余,我们该如何自娱自乐呢?想一想我们每天别在裤腰带上的手机,再想一想我们已经非常熟悉Java,那么,我们为什么不写几个J2ME的手机程序玩玩呢?

  首先,我们需要搭建一个开发环境。Eclipse和NetBeans都是好选择。我这里选择的是NetBeans 5.5.1加Mobile Pack 5.5.1, 它们的下载地址如下图:
    01.PNG
  
  点击上面的Download NetBeans IDE按钮,就可以进入到详细的下载页面,如下图,这里,我们只需要NetBeans和MobilePack,其它的我们用不到。

  02.PNG

  下载完成后,运行安装程序,安装完后,运行NetBeans IDE,如下图:

  03.PNG

   本来以为,NetBeans IDE的界面是使用Swing编写的,肯定漂亮不起来。现在一看,以前的偏见都没有了,这个界面的确很漂亮,看来SUN再超越Eclipse方面的确下了 不少功夫。在这个启动界面中,我们甚至可以访问NetBeans星球中的博客,确实令人耳目一新。此外,从NetBeans IDE的菜单来看,似乎功能比Eclipse要多,看来以后还得好好探索才行啊。至于NetBeans速度慢的问题,我再也不需担心,因为我刚配置了一个 双核CPU加4G内存的台式机。这也正是为什么我直到现在才涉足NetBeans的原因。

  废话少说,下面来看看怎么编写手机程序吧。

  首先,新建项目,在类别中选Mobile,在项目中选“Mobile应用程序”,如下图:
  04.PNG

  点下一步,在这里输入项目的名称和保存项目的位置,注意这里,我们取消了“创建Hello MIDlet”前面的选择,如下图:
  05.PNG

  在点下一步,在下面的对话框中选择CLDC和MIDP的版本,如下图:
  06.PNG

   在这里,肯定有人要问:“什么是CLDC?什么MIDP呢?”这是两个规范。CLDC(连接受限设备配置)定义了我们的手机应该提供什么样的虚拟机和什 么样的核心Java类库,比如我们下面的程序中用到的java.lang.String类,java.io.ByteArrayOutputStream 类等等。那么为什么要选择CLDC1.0而不是1.1呢?那就要看你的手机了,我的Nokia手机就只支持CLDC1.0。MIDP(移动信息设备简表) 位于CLDC基础之上,为开发者提供了应用程序模型、图形用户界面等功能,比如我们下面的程序中用到的 javax.microediton.midlet.MIDlet类、javax.microediton.lcdui.Display类,甚至我们以后 编写游戏用到的javax.microedition.lcdui.game.*包中的类,都是MIDP规范定义的,也就是说,只要我们的手机满足这两个 规范,我们使用这些类写的程序就能够在手机上正常运行。现在最流行的MIDP版本为2.0。大家在为自己的手机写程序的时候,请参考用户手册。

  点击完成,我们就创建好了项目。

  在项目名称上面单击鼠标右键,在快捷菜单中选择新建Java包,这一步,可以让我们创建一个包来保存我们的程序代码,如下图:
  07.PNG

  下一步,输入包名:
  08.PNG

   下一步,当然是新建一个MIDlet了,这里的MIDlet,是一个继承自javax.microedition.midlet.MIDlet类的 Java类,也就是我们的手机程序的主程序,好比浏览器小程序称为Applet,而服务期端程序称为Servlet,这么一对比,就不难理解MIDlet 的概念了。如下图:
  09.PNG

  输入类名,如下图,在这个图中可以看出,我们还可以为我们的程序指定图标,图标可以是一个png格式的图片文件,我们这里省略,因为我们还没有为我们的程序准备这样的资源。
  10.PNG

  点击完成,下面就是IDE为我们自动生成的代码:
  11.PNG

  这个自动生成的代码代表了一个手机程序的生命周期,其中的startApp()就相当于普通Java程序的main(),而其它两个方法,则分别在程序暂停和程序退出的时候执行。我们对该程序进行扩充,代码如下:
/*
 * MyFirstMidlet.java
 *
 * Created on 2007年7月16日, 下午8:38
 
*/


package  com.xkland.j2me;

import  java.io.ByteArrayOutputStream;
import  java.io.IOException;
import  javax.microedition.midlet. * ;
import  javax.microedition.lcdui. * ;

/**
 *
 * 
@author   海边沫沫
 * 
@version
 
*/

public   class  MyFirstMidlet  extends  MIDlet  implements  CommandListener  {
    
private  Display display  =   null ;
    
private  Form mainForm  =   null ;
    
public   static   final  Command exitCommand  =   new  Command( " 退出 " ,Command.OK, 1 );
    
    
public   void  startApp()  {
        
if (display == null ) {
            display 
=  Display.getDisplay( this );
        }

        mainForm 
=   new  Form( " MyFirstMobileApplication " );
        String text 
=   " 欢迎来到J2ME开发世界! " ;
        mainForm.append(text);
        mainForm.addCommand(exitCommand);
        mainForm.setCommandListener(
this );
        display.setCurrent(mainForm);
    }

    
    
public   void  pauseApp()  {
    }

    
    
public   void  destroyApp( boolean  unconditional)  {
    }

    
    
public   void  commandAction(Command cmd, Displayable displayable) {
        
if (cmd  ==  exitCommand) {
            destroyApp(
false );
            notifyDestroyed();
        }

    }

}

  对这段代码,我做一些简单的解释:
  1.我们的类implements了CommandListener接口,这个接口需要我们实现commandAction方法,而实现这个接口和方法的目的,就是为了对手机的按键做出响应;
  2.在这个程序界面中,我们用到了Form类,在Form中添加了字符串,然后再调用display.setCurrent方法显示这个Form,这里,display代表了手机的屏幕,而Form是充满这个屏幕的一个用户控件;
   3.这个程序用定义了一个Command对象,而通过Form.addCommand方法加入这个Command对象,这样,在手机的菜单条中就会显示 一个“退出”按钮,至于显示在屏幕的左下方还是右下方,那就根据手机而不同了,当我们点击这个按钮的时候,就会触发CommandListener的 commandAction方法,我们通过Form.addCommandListener添加监听器。

  在项目的快捷菜单中点击运行项目,如下图:
  12.PNG

  下面是运行效果:
  13.PNG

  按下模拟器的启动键,就可以启动程序,如下图:
  14.PNG

  点击模拟器上的退出键,就可以退出程序。

  今天就写到这里了。现在我们得到的,只是一个能够在模拟器上运行的简单程序。我们该如何把它弄到我们的手机上面呢?我们又该如何编写更加复杂的用户界面呢?怎么样才能编写游戏呢?且看我慢慢写来。

 
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 PS中缺失的字体怎么办 黑板墙不想要了怎么办 淘宝代练打坏了怎么办 绝地求生与ipad不兼容怎么办 小米手机玩绝地求生卡怎么办 绝地求生服务器目前非常繁忙怎么办 玩绝地求生手机发烫怎么办 绝地求生刺激战场延迟高怎么办 怀孕八个半月打喷嚏头疼怎么办 20岁打喷嚏漏尿怎么办 鼻炎犯了不停打喷嚏怎么办 鼻炎犯了不停打喷嚏流鼻涕怎么办 感冒鼻痒怎么办小窍门 腰扭了屁股也疼怎么办 小三把房子过户怎么办 小三把房子卖了怎么办 打印机ip地址变了怎么办 电脑ip地址错误不能上网怎么办 修改了注册表电脑无法启动怎么办 香水喷到衣服上有印怎么办 家里一股猫的味道怎么办 干菊花里面有虫怎么办 安装时显示程序已关闭怎么办 电脑一直重启开不了机怎么办 应用安装在sd卡打不开怎么办 安装ps打不开安装包怎么办 安装好的软件打不开怎么办? win10系统语言修改不了怎么办 一个月婴儿吵夜怎么办 玩游戏一直闪退怎么办 钱站一直闪退怎么办 win7重装连不上网怎么办 笔记本屏幕横过来了怎么办 3D贴图丢了怎么办 百度文库安装后手机打不开怎么办 win7系统不带usb驱动怎么办 手机网页上的pdf打不开怎么办 网页下载pdf后缀是.do怎么办 ps界面太小怎么办win10 ps软件打不开程序错误怎么办 ps打开后 未响应怎么办