CSDN博客

img qlampskyface

心窍通了之纪念篇---我对midlet的理解

发表于2004/9/16 10:25:00  874人阅读

分类: J2ME

近两个月来,我一直在钻j2me,但是由于没有名师开化,再加上资质拙劣,我对j2me的理解一直隔着一层.

开始学j2me,我将精力放在对例子程序的研读上,发现也并不难,因为它们在某种程度上框架是一致的,用的代码也差不多,所以,可以"套".但是,也很难,因为要想弄明白一个midlet
的生命周期就已经够像我这样的初学者受的了.

所以,在这段时间里,我的问题很多:比如:
1.既然destroyApp(false)不是使MIDlet进入销毁态,那么为什么还要调用它呢?
2.经过这几天的观察,我觉得一个midlet里应该有如下这么几个线程,它和application是不一样的
3.贪吃蛇里到底有几个线程,怎么我只发现一个?
4.midlet的入口问题
5.  props.append(txtField);
    props.addCommand(exitCommand);
    props.setCommandListener(this);
    display.setCurrent(props);

    在上面的例子中,display扮演什么角色,props又扮演什么角色?(props可以是canvas,也可以是form,也可以是list等的对象)

 

    对于问题1,在csdn中我的问题里有详细解答.
    对于问题2,我昨天才弄懂,一个midlet中至少有一个线程,如果自己创建了线程,那么就等于1+自己创建的线程数,
    其实这没什么说的,不过我当初将midlet看得比较神秘,认为它不是一个完整的程序,写了一篇文章<midlet并不是由你一个人来控制>,其实,要是这么说的话,任何
    java程序都不是完整的了,因为application有jvm,midlet有jams,其实,原因是,我以前没有做过任何的图形界面编程,对事件驱动这点上理解得很浅.所以,
    midlet中的多线程也很好理解了.
    对于问题3,和问题2一样,是对贪吃蛇代码的拷问.
    对于问题4,我和23岁的幼男有过比较深入的讨论,详情请看
    "D:/skyface/a_Bak/study&work/Items/4th Item/J2ME/开发/心得"中"midlet程序的入口问题.txt"一文.
    对于问题5,我觉得也是我对midlet心窍通了的标志,
    最重要的是display.setCurrent(props)这句上,这句就等于是,将props设为当前容器,所谓当前容器,也可以说是被激活的布局管理器,就是说,这个对象props上还有
    其它对象,比如说命令对象,文本域对象.而对于命令对象,它附着在某管理器上之后,必须有这句:props.setCommandListener(this);意指监听命令,通常都是这么写的
    setCommandListener(this);

    此外,我还对jad/manifest文件的属性提出了问题,也解决了,详情请看<关于jad和manifest的属性问题.txt>和文件夹<建立一个有包的jar和jad所注意的>里所提及的

 

    我终于真正进入j2me的大门,我很高兴,撰文以记之!

0 0

相关博文

我的热门文章

img
取 消
img