心竅通了之紀念篇---我對midlet的理解

近兩個月來,我一直在鑽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的大門,我很高興,撰文以記之!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章