posts - 33,comments - 21,trackbacks - 0

          記得前段時間我就說過,要改一個電話簿的例子,到今天才算完成,真是可謂浩大的工程啊!^_^

          其實,這兩個月來一直都沒弄他,忙別的了,然后就給忘了(這個習慣不好),昨天剛看了一下blog,發現自己還有這么個東西沒完成,就趕緊完成他了。

          原本是從j2medev上下載了一個電話簿程序,源文件是一個txt文件,結構混亂,不知道作者是用什么寫的,改擴展名.java,然后導入eclipse,直接ctrl+shift+F,沒效果,無奈1000多行一點一點的回車,終于把結構給分清了,然后格式化,改一些小錯誤,還不錯,能運行了。

          大學課程曾學過mvc,不過真正做項目時沒太用到過,所以就萌生了這么個念頭,改整個一個midlet文件成為真正的mvc架構程序。

          主midlet:AddrBookMIDlet.java

          UI包:

          MainMenuForm.java;//主菜單界面

          ListAllForm.java;//記錄列表界面

          AddTelForm.java;//添加記錄界面

          SearchForm.java;//搜索記錄界面

          ShowTelForm.java;//詳細記錄界面

          model包:

          AddrData.java;//記錄對象

          AddrDataVector.java;//記錄的Vector對象,保存記錄列表

          FriendData.java;//記錄數據model

          controller包:

          UIController.java;//控制器類,全部控制都寫在這里

          EventID.java;//事件ID

          結構理清楚了,下面就編碼了。

          至于代碼,我感覺只可意會不能言傳,或許是我語言表達能力太差吧,總之我認為重點的就是mvc的最基本思想,分工明確,完成各自任務,也就是理論說講的使輸入、處理和輸出分開。

          比如我新加一個電話聯系人記錄,過程是這樣的:在主界面選擇新建“新增電話記錄”,當你點擊“確定”的按鈕,controller控制器接受到了你的命令,做出一個相應動作

          addTelForm = new AddTelForm(this);//實例化了一個對象
          setCurrent(addTelForm);//然后將界面換成這個剛剛實例化的對象

          那么當上述命令執行完,控制器完成他的任務,然后繼續等待。

          這個時候呈現在手機界面上就是addTelForm這個視圖,在你添加了相應信息,點擊“確定”,這個時候控制器又工作了,根據你的要求,要新增,那么控制器從視圖上獲得數據的對象(這里是getString()),然后把數據發給model,model中有相對應的方法,對數據進行處理,結果或許返回,或許不返回,根據具體項目要求來定,這里不返回。都結束后,控制器再次setCurrent一個界面,顯示給使用者。

          整體就是這樣,視圖View只負責顯示,控制器用于傳遞,model負責邏輯處理,三者分工明確,各執其責,整個結構清晰明了。

          從昨天到現在大概用了10個左右小時完成了這個小程序,其實本不需要這么長時間,不過在改寫過程中,也遇到很多問題,在這次改寫過程中,對J2ME的理解又加深了一些。

          寫篇日志留念。

          posted on 2007-04-06 17:57 英明 閱讀(713) 評論(4)  編輯  收藏 所屬分類: J2ME

          FeedBack:
          # re: 耗時2個多月的敗家電話簿程序終于整理完畢
          2007-06-29 08:58 | yht
          你好,想看你下你修改之后的例子,和你學習一下,能否把程序給我發一份 yanghengtao0513@163.com  回復  更多評論
            
          # re: 耗時2個多月的敗家電話簿程序終于整理完畢
          2007-08-25 21:01 | no_pains
          摟主好 我剛開始學習java 您能否也把程序發給我一份? 跟您學習一下。 謝謝 我的郵箱no_pains@126.com  回復  更多評論
            
          # re: 耗時2個多月的敗家電話簿程序終于整理完畢
          2007-09-13 16:00 | yishanerguo
          這個只能獲得你添加的聯系人,無法獲得你原來手機里的聯系人啊,如果要獲得手機里面的聯系人和電話,應該怎么做呢,有沒有什么參考源碼?  回復  更多評論
            
          # re: 耗時2個多月的敗家電話簿程序終于整理完畢
          2007-12-12 21:58 | carlos
          剛買了個Nokia的手機,想找點J2me的程序看看,樓主能否發份給我
          yurongsheng@163.com  回復  更多評論
            
          主站蜘蛛池模板: 道孚县| 辽阳市| 黑河市| 东安县| 邵阳县| 古田县| 历史| 漳浦县| 江永县| 高雄市| 万山特区| 山丹县| 长武县| 长沙市| 农安县| 临猗县| 武汉市| 伊通| 宣城市| 锡林浩特市| 榕江县| 山阴县| 清远市| 阿合奇县| 钟祥市| 乡城县| 定州市| 上虞市| 栾城县| 如东县| 华安县| 上犹县| 江安县| 牟定县| 青海省| 城口县| 阳江市| 方正县| 汤原县| 南郑县| 元谋县|