循序渐进学J2Me,第一步

 什么是J2Me,这里我就不解释了。这里所讲的东西,就是怎么在PC上写J2Me程序,编译生成Jar文件在手机上运行。

 

为什么要写着东西呢?因为网上的教程动不动就是一堆的概念和理论,看得头都大了,却在电脑里连一个自己的程序都不会写,看NetBeans的Hellp World,却发现那是最优秀的程序员们写的例子,一点都不简单,初学者没有一定的恒心和毅力,很难等到看懂的那一天!

 

废话真多!言归正传。我的编程环境Window XP上安装了jdk-6u12-nb-6_5-windows-ml.exe,sun_java_wireless_toolkit-2_5-ml-windows.exe,netbeans-6.5-ml-windows.exe。这些自己上Sun公司网站上折腾吧,也不能把事情搞得太简单了,初学者还是要自己弄明白怎么把平台搭建起来。

 

打开NetBeans后,选择新建项目,然后选Java Me,不要选样例哦。选Mobile应用程序,然后下一步。别勾设置为主项目,也别勾创建Hello MIDlet,然后点完成,不要下一步了哦!(也不知道是不是Bug,你下一步去配置那些东西,一会NetBeans会停住)

 

好了,然后新建文件,选MIDP,新建一个MIDlet,就用缺省的名字,如果你喜欢,也可以给个别的名字,就是多些小麻烦罢了。

 

点击完成后,你可以先看看NetBeans自动生成的几句简单代码。然后你就可以照下面改代码了。里面的代码就是把NetBeans的Hello World样里的代码选一些加了进去。够简单吧!

 

NetBeans的Hello World 其实也很简单,就是盒子套盒子弄得挺多了!我这里也套了不少盒子。没有办法,这就是所谓的数据结构,优秀的代码应该是这样子的,什么面向对象编程呀,类呀这类的!如果你对这一套很熟悉,那么就很容易,否则的话,你会觉得很头晕!

一层套一层,以后要慢慢熟悉这样的思维,所以我也不把它完全剥开了。

 

要让生成的Jar在手机上运行,你还要根据你的机器去运行-〉配置项目配置-〉定制...那里去改改。程序在手机上显示一个Form,名称是Welcome;Form里面有个StringItem,标题是Hello,内容是Hello, World!

 


import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

/**
 * @author netscaner

 */
public class Midlet extends MIDlet {
    private Form showForm;//定义一个Form
    private StringItem stringItem;//一个StringItem

 

//给这个StringItem装东西,做个StringItem

    public StringItem getStringItem() {
        if (stringItem == null) {
            stringItem = new StringItem("Hello", "Hello, World!");
        }
        return stringItem;
    }

 

//给这个Form装东西,做个Form

    public Form getForm() {
        if (showForm == null) {
            showForm = new Form("Welcome", new Item[] { getStringItem() });
        }
        return showForm;
    }

 

//做个启动MIDlet的过程

    public void startMIDlet() {
        switchDisplayable(null, getForm());//用switchDisplayable把做好的Form显示出来
    }

 

//做个switchDisplayable过程来显示东西

    public void switchDisplayable(Alert alert, Displayable nextDisplayable) {
        Display display = getDisplay();
        if (alert == null) {
            display.setCurrent(nextDisplayable);
        } else {
            display.setCurrent(alert, nextDisplayable);
        }
    }

 

//做个显示东西的过程

        public Display getDisplay () {
        return Display.getDisplay(this);
        }

 

    public void startApp() throws MIDletStateChangeException  {
            startMIDlet ();//调用启动MIDlet的过程
    }

    public void pauseApp() {
    }

    public void destroyApp(boolean unconditional) {
    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值