J2ME綜合實訓(xùn)評測報告參考文檔_第1頁
J2ME綜合實訓(xùn)評測報告參考文檔_第2頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、計算機科學(xué)與技術(shù)系 課程綜合實訓(xùn)報告 項目名稱 中文): 個人通訊錄 英文): PhoneDir 課程名稱:J2ME 移動應(yīng)用開發(fā) 專業(yè)名稱:計算機科學(xué)與技術(shù) 年級班級:2009 年級 1 班 學(xué)年學(xué)期:2018-2018 學(xué)年第二學(xué)期 學(xué)號: 0906401032 姓名: 聶劍峰 2018 年 4 月 5 日 目錄 1前言 1 2. 系統(tǒng)總體設(shè)計 1 2.1 系統(tǒng)設(shè)計目標(biāo) 1 2.2 系統(tǒng)設(shè)計思路 1 2.3 系統(tǒng)總體架構(gòu) 1 2.4 系統(tǒng)流程圖 1 3. 服務(wù)器端的設(shè)計 1 3.1 數(shù)據(jù)庫存儲層設(shè)計 1 3.2 服務(wù)器端的代碼實現(xiàn)和分析 1 4. 客戶端設(shè)計 2 4.1 手機客戶端程序設(shè)計

2、 2 4.2 界面設(shè)計 2 4.3 程序的運行流程 23 / 16 5. 4.4 手機客戶端的代碼實現(xiàn)和分析 2 1 / 16 個人通訊錄的設(shè)計和實現(xiàn) 0906401032 聶劍峰 1. 前言 個人通訊錄是在移動電話中常用的程序,它可以用來理解在持久存儲中進 行添加、查找、瀏覽和刪除的過程。它可以清楚地演示每個界面切換過程,以 及響應(yīng)用戶輸入的命令,實現(xiàn)用戶對個人電話簿信息的管理。 此次個人通訊錄設(shè)計的目的:首先因為每個人都有手機,通訊錄是必不可 少的,很貼近我們的生活,通過設(shè)計這個項目能更深了解移動通信編程思想和 移動應(yīng)用開發(fā)過程。 2. 系統(tǒng)總體設(shè)計 2.1 系統(tǒng)設(shè)計目標(biāo) 系統(tǒng)的設(shè)計目標(biāo)是

3、掌握使用無線 Java 應(yīng)用技術(shù)即 J2ME 技術(shù)的軟件系統(tǒng)設(shè) 計方法,并且以一個個人通訊錄系統(tǒng)的實際應(yīng)用來進行討論。 2.2 系統(tǒng)設(shè)計思路 1)、初始化界面: 初始化界面為歡迎界面,啟動系統(tǒng)的第一個界面,顯 示版權(quán)信息和歡迎圖片以及歡迎詞。 2)、功能設(shè)計: 通過歡迎界面進入功能主界面,包含了新建聯(lián)系人 和我的電話簿兩個功能, 在瀏覽我的電話簿里可以對對應(yīng)聯(lián)系人進行 修改和刪除操作,還可以查看詳情。 3)、類的設(shè)計: 本通訊錄是通過 MVC 模式設(shè)計,各個界面都有相應(yīng)的 java 文件, 控制類 Customer 用來在各個界面跳轉(zhuǎn), 業(yè)務(wù)類及數(shù)據(jù)庫操作類都放 在 RMSDao 內(nèi)。 2.3

4、 系統(tǒng)總體架構(gòu) 系 統(tǒng) 開 發(fā) 采 用 MVCModel-View-Controller ) 框 架 , 模 型 2 / 16 vModel)提供數(shù)據(jù)的內(nèi)部表示,視圖 protected void startApp( throws MIDletStateChangeException dis = Display.getDisplay(this。 this.ChangeInterface(WelcomePhone。 protected void destroyApp(boolean unconditional throws MIDletStateChangeException protected

5、 void pauseApp( public void ChangeInterface(String interfaceName if(interfaceName.equals(WelcomePhone welcomeP = new WelcomePhone(this。 dis.setCurrent(welcomeP。 if(interfaceName.equals(PhoneList phoneList = new PhoneList(this。 dis.setCurrent(phoneList。 if(interfaceName.equals(AddPhone addPhone = new

6、 AddPhone(this。 dis.setCurrent(addPhone。 if(interfaceName.equals(ShowPhoneList showPhoneList = new ShowPhoneList(this。 showPhoneList.refresh(。 dis.setCurrent(showPhoneList。 public void ChangeInterface2(String interfaceName,String item if(interfaceName.equals(BrowsePhone browsePh one = new BrowsePh o

7、n e(this 8 / 16 browsePhone.refreshXq(item。 dis.setCurrent(browsePhone。 if(interfaceName.equals(OpPhone opPhone = new OpPhone(this。 opPhone.refresh(item。 dis.setCurrent(opPhone。 if(interfaceName.equals(AlterPhone alterPhone = new AlterPhone(this。 alterPhone.refresh(item。 dis.setCurrent(alterPhone。 i

8、f(interfaceName.equals(alert alterClew = new AlterClew(this。 alterClew.flag(item。 phoneList = new PhoneList(this。 dis.setCurrent(alterClew,phoneList。 數(shù)據(jù)庫操作類 RMSOpe ,實現(xiàn)數(shù)據(jù)的增刪改查等操作。 public class RMSOpe private RecordStore rs。 / 打開記錄集 private void openRecordStore( try rs = RecordStore.ope nRecordStore(R

9、SPh on e, true catch (Exception e e.printStackTrace(。 / 關(guān)閉記錄集 private void closeRecordStore( 9 / 16 try rs.closeRecordStore(。 catch (Exception e e.printStackTrace(。 / 增加記錄 public boolean addPhone(Customer cus this.openRecordStore(。 try Stri ng n ame = cus.getC name( byte data = cus.object2ByteArray(

10、。 int nextId = rs.getNextRecordID(。 for (int id = 1。 id Customer cust = null。 try cust= Customer.byteArray2Object(rs.getRecord(id。 if(name.equals(cust.getCname( return false。 catch(InvalidRecordIDException ie rs.addRecord(data, 0, data .len gth。 catch (Exception e e.printStackTrace(。 this.closeRecor

11、dStore(。 return true。 /修改記錄 public void alterPhone(Customer cus,String name this.openRecordStore(。 try byte data = cus.object2ByteArray(。 int nextId = rs.getNextRecordID(。 10 / 16 for (int id = 1。 id Customer cust = null。 try cust= Customer.byteArray2Object(rs.getRecord(id。 if(name.equals(cust.getCn

12、ame( rs.setRecord(id, data, 0, data.le ngth catch(InvalidRecordIDException ie catch (Exception e e.printStackTrace(。 this.closeRecordStore(。 / 刪除記錄 public void delPhone(String content this.openRecordStore(。 try int nextId = rs.getNextRecordID(。 for (int id = 1。 id Customer cus = null。 try cus= Custo

13、mer.byteArray2Object(rs.getRecord(id。 if(content.equals(cus.getCname( rs.deleteRecord(id。 catch(InvalidRecordIDException ie catch (Exception e 11 / 16 e.printStackTrace(。 this.closeRecordStore(。 / 得到所有記錄 public Vector getAllPhone( Vector v = new Vector(。 this.openRecordStore(。 try RecordE nu merati

14、on re = rs.e nu merateRecords( null, nu II, false。 while(re.hasNextElement( Customercus = Customer.byteArray2Object(re .n extRecord( v.addElement(cus。 catch (Exception e e.printStackTrace(。 this.closeRecordStore(。 return v。 添加聯(lián)系人類 AddPhone public class AddPhone extends Form implements CommandListene

15、r private PhoneMIDLet pm。 private Command cmdOK。 private Command cmdBack。 private TextField tfName。 private TextField tfPhone。 private TextField info。 private TextField email。 12 / 16 private Alert alert。 public AddPhone(PhoneMIDLet pm super(添加聯(lián)系人。 this.pm = pm。 cmdOK = new Comma nd(” 確定添加,Comma nd.

16、SCREEN,1。 cmdBack = new Command(返回, Command.BACK ,1。 tfName = new TextField(姓名:,,15,TextField.ANY。 tfPhone = new TextField(電話:,,15,TextField.PHONENUMBER。 info = new TextField(備注:,15,TextField.ANY 。 email = new TextField(郵箱,15,TextField.ANY。 this.addCommand(cmdBack。 this.addCommand(cmdOK。 this.setCom

17、mandListener(this。 this.append(tfName。 this.append(tfPhone。 this.append(info。 this.append(email。 public void commandAction(Command c, Displayable d if(c=cmdOK /添加 boolean bool = this.addPhone(。 if(bool pm.ChangeInterface2(alert,true。 else pm.ChangeInterface2(alert,false。 else if(c=cmdBack pm.ChangeInterface(PhoneList。 public boolean addPhone( Customer cus = new Customer(。 13 / 16 cus.setCname(tfName.getString( 。 cus.setPho ne(tfPh on e.getStri ng( cus.setInfo(info.getString(。 cus.setEmail(email.getString(。 boolea n b = new RMSOpe(.addPh on e(cus return b。 4. 小結(jié) 通過個人通訊錄的設(shè)計與

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論