(泉州師范學(xué)院軟件學(xué)院 福建 泉州 362000)
基于手機(jī)短信平臺(tái)聊天程序的設(shè)計(jì)與實(shí)現(xiàn)
黃旭民
(泉州師范學(xué)院軟件學(xué)院福建泉州362000)
系統(tǒng)通過(guò)引用 System.Data.SqlServerCe組件在Pocket PC 2003模擬器上創(chuàng)建本地SQL Server CE數(shù)據(jù)庫(kù)AccessMsg.sdf和表MsgInfo,該表具有保存用戶ID和信息的功能。通過(guò)在Pocket PC寫(xiě)入數(shù)據(jù),能夠保存在本地SQL Server CE數(shù)據(jù)庫(kù)中。通過(guò)RDA同步技術(shù)中的PULL和PUSH兩個(gè)操作將數(shù)據(jù)保存到在遠(yuǎn)程數(shù)據(jù)庫(kù)中。該系統(tǒng)能較清晰的展示智能手機(jī)短信息通信原理因此達(dá)到設(shè)計(jì)的目的。
智能手機(jī);SQL Server CE;ADO.NET
(一)功能需求。綜合運(yùn)用所學(xué)知識(shí)開(kāi)發(fā)一種基于PC機(jī)的手機(jī)短信通信系統(tǒng),側(cè)重在于模擬手機(jī)短信通信的過(guò)程。通過(guò)在客戶端輸入信息能夠訪問(wèn)本地?cái)?shù)據(jù)庫(kù),即在本地?cái)?shù)據(jù)庫(kù)SQLCE上能查看信息;通過(guò)RDA的技術(shù),執(zhí)行PULL操作和PUSH操作訪問(wèn)遠(yuǎn)程數(shù)據(jù)庫(kù)。
(二)性能需求。該設(shè)計(jì)最大存儲(chǔ)容量為用戶存儲(chǔ)容量和信息存儲(chǔ)容量。用戶存儲(chǔ)容量中包含了用戶ID和姓名,其容量允許用戶隨時(shí)添加和刪除存儲(chǔ)信息,但用戶存儲(chǔ)容量最高為50個(gè)字符,信息存儲(chǔ)容量為100個(gè)字符。
該設(shè)計(jì)由于是在PC機(jī)上模擬PPC通信,其運(yùn)行的時(shí)間受其搭建的系統(tǒng)平臺(tái)環(huán)境的影響。一般從程序調(diào)試運(yùn)行到模擬器部署成功要花2至3分鐘時(shí)間。
安全性方面由于系統(tǒng)平臺(tái)搭建時(shí)均采用默認(rèn)值,因此在使用該系統(tǒng)時(shí)不會(huì)存在使用過(guò)程中的保密限制。任何用戶只要在系統(tǒng)正常情況下都可使用。
(三)環(huán)境需求。該設(shè)計(jì)完成需要硬件環(huán)境和軟件環(huán)境的支持。
硬件環(huán)境:主機(jī)上采用一般的個(gè)人PC,其硬件核心在于處理器和內(nèi)存,硬盤(pán)有效空間在4G以上。
軟件環(huán)境:操作系統(tǒng)為Windows Server 2003;在網(wǎng)絡(luò)環(huán)境上另需安裝IIS信息服務(wù)器;數(shù)據(jù)庫(kù)為SQL Server 2000 sp4 和SQL Server 2000 Windows CE Edition 2.0(SQL Server CE),開(kāi)發(fā)工具為Visual Studio.NET2005。
(四)界面需求。為使該設(shè)計(jì)可行,可靠,其界面設(shè)計(jì)要求簡(jiǎn)單,方便,且具有人性化的操作界面,系統(tǒng)功能可以良好的功能按鈕相結(jié)合。使用Send,accept,添加,刪除四個(gè)按鈕控制相關(guān)的功能;TextBox 控件用來(lái)分別顯示信息和用戶ID,用戶名。整個(gè)界面簡(jiǎn)單,醒目,且有效。
(一)主體設(shè)計(jì)思路。本系統(tǒng)主要使用SQL Server CE數(shù)據(jù)庫(kù)和SQL Server 2000數(shù)據(jù)庫(kù),通過(guò)引用System.Data.SqlServerCe組件創(chuàng)建SqlConnection實(shí)例利用代碼在Pocket PC 模擬器上創(chuàng)建本地?cái)?shù)據(jù)庫(kù)表:MsgInfo。對(duì)遠(yuǎn)程SQL Server 2000數(shù)據(jù)庫(kù)的訪問(wèn)通過(guò)RDA技術(shù)需要System.Data.SqlClient的引用完成PULL操作和PUSH操作。
在對(duì)Pocket PC上存儲(chǔ)數(shù)據(jù)實(shí)際上是對(duì)本地?cái)?shù)據(jù)庫(kù)的操作,通過(guò)代碼在編輯環(huán)境中創(chuàng)建出本地?cái)?shù)據(jù)庫(kù)AccessMsg.sdf,該數(shù)據(jù)庫(kù)是個(gè)精簡(jiǎn)版的SQL Server 數(shù)據(jù)庫(kù),同樣是個(gè)關(guān)系型數(shù)據(jù)庫(kù),同時(shí)通過(guò)代碼在SQLCE中創(chuàng)建表MsgInfo,表中列屬性為用戶ID和Message,分別用來(lái)存儲(chǔ)用戶信息和發(fā)送接收的信息。
系統(tǒng)整體運(yùn)行模式:通過(guò)一臺(tái)Pocket PC向另一臺(tái)Pocket PC傳送信息,首先發(fā)送方將信息寫(xiě)入Pocket PC中即完成對(duì)發(fā)送方本地?cái)?shù)據(jù)庫(kù)的操作,在通過(guò)PUSH操作向遠(yuǎn)程數(shù)據(jù)庫(kù)中發(fā)送數(shù)據(jù),接收方再通過(guò)PULL操作從遠(yuǎn)程數(shù)據(jù)庫(kù)接受數(shù)據(jù),此時(shí)信息將保存在接收方本地?cái)?shù)據(jù)庫(kù)中,通過(guò)相應(yīng)的查詢操作完成對(duì)接收方本地?cái)?shù)據(jù)庫(kù)的訪問(wèn)。同時(shí)需要考慮此傳輸過(guò)程是一種樂(lè)觀的傳輸過(guò)程。
(二)設(shè)計(jì)結(jié)構(gòu)
1.系統(tǒng)功能模塊結(jié)構(gòu)。發(fā)送方包含了接收方的ID號(hào)和待發(fā)信息,接收方的ID號(hào)以列表的方式展現(xiàn)在發(fā)送方。
接收方包含了發(fā)送方的ID號(hào)和接收信息即發(fā)送方發(fā)出的信息。
發(fā)送方通過(guò)模擬器軟件盤(pán)寫(xiě)入信息,通過(guò)添加刪除功能完成信息寫(xiě)入與發(fā)送。
通過(guò)RDA技術(shù)可以訪問(wèn)在遠(yuǎn)程SQL Server 2000數(shù)據(jù)庫(kù)中表內(nèi)信息。
2.系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)。在SQL Server 2000企業(yè)管理器中創(chuàng)建數(shù)據(jù)庫(kù)mysqlce和表MsgInfo1。
使用SQLCE通過(guò)代碼在智能設(shè)備Pocket PC 2003 上創(chuàng)建數(shù)據(jù)庫(kù)AccessMsg.sdf和表Ppc1。
(一)開(kāi)發(fā)環(huán)境搭建
1.配置SQL Server 2000數(shù)據(jù)庫(kù)。安裝使用設(shè)備上的移動(dòng)數(shù)據(jù)庫(kù),首先要安裝SQL Server,因?yàn)槭褂肧QL Server可以進(jìn)行遠(yuǎn)程數(shù)據(jù)訪問(wèn)和合并復(fù)制兩種方式的同步數(shù)據(jù)。RDA訪問(wèn)功能支持與SQL Server7.0數(shù)據(jù)庫(kù)的連接,合并復(fù)制則要求后端必須是SQL Server 2000。這里選擇SQL Server 2000安裝,同時(shí)為下步安裝SQL Server CE做準(zhǔn)備,要先安裝SQL Server 2000升級(jí)補(bǔ)丁包SQL Server PackSP4。在選擇驗(yàn)證模式時(shí)選擇混合模式。
2.安裝及配置SQL Server CE。下載最新自解壓包sqlce20sql2ksp4和sqlce2.0安裝文件,即可將SQL Server CE數(shù)據(jù)庫(kù)安裝在開(kāi)發(fā)用的PC機(jī)上。如果僅僅創(chuàng)建本地?cái)?shù)據(jù)庫(kù),則選擇安裝即可;要使用SQL Server CE的遠(yuǎn)程數(shù)據(jù)訪問(wèn)和復(fù)制技術(shù),除了安裝以上外,還需要選擇安裝。
(二)創(chuàng)建本地設(shè)備上的數(shù)據(jù)庫(kù)。通過(guò)對(duì)本地?cái)?shù)據(jù)庫(kù)的訪問(wèn)可以知道本地?cái)?shù)據(jù)庫(kù)上保存的相關(guān)信息??梢酝ㄟ^(guò)SQL Server CE 2.0的查詢分析器ISQLW查詢信息。
(一)測(cè)試。在系統(tǒng)搭建起后通過(guò)使用部署Pocket PC 2003模擬器進(jìn)行測(cè)試,首先從Visual Studio.NET菜單欄的“調(diào)試”來(lái)進(jìn)行調(diào)試,運(yùn)行代碼調(diào)試無(wú)誤,在部署對(duì)話框中選擇Pocket PC 2003 SE仿真模擬器,單擊“部署”按鈕,系統(tǒng)加載Pocket PC 2003模擬器,并在模擬器上運(yùn)行SQLCECF應(yīng)用程序,當(dāng)測(cè)試環(huán)境報(bào)錯(cuò),則開(kāi)發(fā)者一定要注意查看報(bào)錯(cuò)代碼和報(bào)錯(cuò)的信息,以便準(zhǔn)確診斷出錯(cuò)的原因,然后根據(jù)錯(cuò)誤類型重新配置IIS服務(wù),SQL Server 2000數(shù)據(jù)庫(kù)發(fā)布或修改SQL Server CE上AccessMsg.sdf的源程序。
部署成功后Pocket PC 2003模擬器上可以輸入相應(yīng)的內(nèi)容:用戶名,信息和用戶號(hào)碼來(lái)模擬手機(jī)的功能。在模擬器中還有個(gè)很重要的步驟:在模擬器中確定SQLCE本地?cái)?shù)據(jù)庫(kù)是否建成,因?yàn)镾QLCE數(shù)據(jù)庫(kù)的實(shí)現(xiàn)不能通過(guò)控制臺(tái)建立,這是它與SQL Server 2000的一大區(qū),這一點(diǎn)可以通過(guò)SQL Server CE 2.0的查詢分析器ISQLW查詢信息,SQLCE數(shù)據(jù)庫(kù)可以通過(guò)在Visual Studio.NET里通過(guò)代碼來(lái)實(shí)現(xiàn)。在模擬器中找到路徑就能連接上本地?cái)?shù)據(jù)庫(kù),通過(guò)PPC顯示屏能查看本地?cái)?shù)據(jù)庫(kù)。
(二)結(jié)果。本系統(tǒng)設(shè)計(jì)從開(kāi)始到現(xiàn)在,遠(yuǎn)程數(shù)據(jù)庫(kù)采用SQL Server 2000,它功能強(qiáng)大,可操作性強(qiáng),本地智能設(shè)備上采用的是Microsoft SQL Server 2000 Windows CE Edition(即SQL Server CE 2.0)通過(guò)對(duì)系統(tǒng)的開(kāi)發(fā)更熟練的掌握了兩種數(shù)據(jù)庫(kù)的功能和特性,特別是SQL Server CE數(shù)據(jù)庫(kù)的開(kāi)發(fā)。
在開(kāi)發(fā)該系統(tǒng)時(shí),本人對(duì)智能設(shè)備項(xiàng)目和SQL Server CE數(shù)據(jù)庫(kù)不熟悉,再加上畢業(yè)設(shè)計(jì)時(shí)間有限,所以走了一段彎路才找著實(shí)施方向,因此許多方面在下一步的工作中還需要進(jìn)一步的完善。
1.實(shí)現(xiàn)多臺(tái)Pocket PC 2003 之間的相互訪問(wèn)。
2.增加在Pocket PC 2003上的功能,使之完善成為一個(gè)小的系統(tǒng)功能。
[1]張冬泉.譚南林.王雪梅.焦風(fēng)川.Windows CE實(shí)用開(kāi)發(fā)技術(shù)[M].北京:電子工業(yè)出版社 2006.4
[2]方睿.刁仁宏.吳四九.網(wǎng)絡(luò)數(shù)據(jù)庫(kù)原理及應(yīng)用[M].成都:四川大學(xué)出版社 2005.8
[3]顏友寧.NET Compact Framework 移動(dòng)開(kāi)發(fā)指南[M].北京:清華大學(xué)出版社 2006
黃旭民(1996-),男,漢族,福建漳州人,泉州師范學(xué)院學(xué)院軟件學(xué)院。