freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

朱曉戰(zhàn)-網(wǎng)絡(luò)0606-論文-資料下載頁

2025-06-25 11:59本頁面
  

【正文】 )) != 1){(ch)。}byte[] data = ()。return String = new String(data, UTF8)。()。()。 } catch (IOException e) {()。}}return returnString。} J2ME的I/O序列化在CLDC中定義的Java IO是非常短小精悍的,但是也提供了足夠的類來完成我們的IO操作。由于和J2SE的實(shí)現(xiàn)是通用的,因此你可以使用J2ME和J2SE或者J2EE平臺進(jìn)行通信。比如通過聯(lián)網(wǎng)和servlet進(jìn)行通信。在Record Management System中我們主要使用的類是ByteArrayInputStream、ByteArrayOutputStream、DataInputStream和DataOutputStream。前面兩個是基于字節(jié)的,ByteArrayInputStream的作用是把字節(jié)數(shù)組轉(zhuǎn)換成流而ByteArrayOutputStream的作用是把內(nèi)存緩沖區(qū)內(nèi)的數(shù)據(jù)轉(zhuǎn)換成字節(jié)。后面兩個類是基于java基本數(shù)據(jù)類型和String操作的。通常他們把前面兩個類作為參數(shù)傳送給構(gòu)造器,這樣他們就可以對基本數(shù)據(jù)類型以及String進(jìn)行讀寫操作了。值得注重的一點(diǎn)是ByteArrayOutputStream的toByteArray()方法是把內(nèi)存中的數(shù)據(jù)進(jìn)行復(fù)制返回,這樣的話多浪費(fèi)了一份內(nèi)存,為了更有效的使用有限的存儲空間你可以擴(kuò)展ByteArrayOutputSteam類然后提供getByteArray()方法。4 課題設(shè)計 設(shè)計內(nèi)容概述這次設(shè)計內(nèi)容包括:手機(jī)名片薄和Socket手機(jī)通信。手機(jī)名片薄的功能包括:新增手機(jī)名片、查看名片內(nèi)容、刪除選中的手機(jī)名片、修改名片內(nèi)容。每個名片內(nèi)容包括:姓名、公司名、地址、電話號碼。該軟件是用J2ME的文件系統(tǒng)實(shí)現(xiàn)的,為每個人的信息建立一個*.txt文件,用姓名作為該文件的名字,該文件內(nèi)存著這個人的所有信息。把所有這樣的文件都放在同一個文件夾。通過對該文件夾的操作把所有名片的名字添加到List列表中。通過列表中的名字來對文件進(jìn)行操作。Socket通信的功能包括:服務(wù)器和客戶端之間進(jìn)行通信、客戶端從服務(wù)端下載圖片。由于是使用TCP協(xié)議,所以客戶端和服務(wù)端在通信之前必須先建立連接。該程序需要在網(wǎng)絡(luò)中傳輸圖片,所以我們用到了Image類。該類是一種圖形圖像數(shù)據(jù)容器,根據(jù)創(chuàng)建的方式不同,圖像可以使可變圖像或者不可變圖像。創(chuàng)建不便圖像時,一般都是從文件、網(wǎng)絡(luò)中加載,不變圖像在創(chuàng)建之后就不能修改,相反可變圖像在屏幕外內(nèi)存中創(chuàng)建,而且可以被任意修改。該程序中創(chuàng)建的是不可變圖像。使用的創(chuàng)建方法是 creatImage(String),該方法是Image類中提供的。該程序的總體流程如圖41所示:圖41 總體流程 模塊設(shè)計 手機(jī)名片?。簣D42 總體流程圖列出所有名片所用的技術(shù):(url)方法在特定的目錄來創(chuàng)建FileConnection,其中url=file:///root1/+box+/。然后用調(diào)用方法list()獲得該目錄的子文件和子目錄的枚舉,并把子文件名添加到List列表中。在添加文件名時需要對字符串進(jìn)行操作把后綴名去掉,方法如下:通過符號.對字符串進(jìn)行分割,只要前面的一部分并把后面的部分去掉。代碼如下:String a=(String)(())。String b。if((.)0){ b=(0,(.))。}else {b=a。}(b,null)。流程圖如圖43所示:圖43 新增名片流程圖該模塊所用到的主要技術(shù):首先創(chuàng)建特定文件的FileConnection。然后需要通過數(shù)據(jù)流的封裝先把字符串轉(zhuǎn)化成字節(jié)類型,并放在字節(jié)數(shù)組中。代碼如下:ByteArrayOutputStream bos = new ByteArrayOutputStream()。DataOutputStream dos = new DataOutputStream(bos)。 (string)。()。Byte[] data=()。然后通過FileConnection提供openOutputStream()方法打開數(shù)據(jù)流,把該字節(jié)數(shù)組的內(nèi)容寫到打開的文件中。代碼如下:OutputStream os=()。(result, 0, )。()。流程圖如圖44所示:44 查看名片流程圖該模塊所用到的主要技術(shù):首先創(chuàng)建特定文件的FileConnection。然后通過FileConnection提供openInputStream()方法打開數(shù)據(jù)流,把該文件的內(nèi)容讀到字節(jié)數(shù)組中,代碼如下:is=()。int size=(int)()。byte[] readbuffer=new byte[size]。(readbuffer, 0, size)。最后把字符數(shù)組中的內(nèi)容通過數(shù)據(jù)流轉(zhuǎn)化成UTF8字符。代碼如下:ByteArrayInputStream bis = new ByteArrayInputStream(byte[] data)。DataInputStream dis = new DataInputStream(bis)。String s=readUTF()。流程圖如圖45所示:圖45 修改名片流程圖流程圖如圖46所示:圖46 刪除名片流程圖 Socket通信該模塊的流程圖如圖47所示:圖47 Socket流程圖該模塊所用到的主要技術(shù):通過打開Socket的數(shù)據(jù)流來進(jìn)行通信,在進(jìn)行圖片傳輸時,需要先獲得圖片的大小并把圖片存入字節(jié)數(shù)組,客戶端根據(jù)圖片的大小來設(shè)置緩沖區(qū)。服務(wù)端發(fā)送圖片的主要代碼:sc=(SocketConnection)()。os=()。InputStream in=getClass().getResourceAsStream(/)。 int imagesize= ()。byte[] imagebuffer=new byte[imagesize]。(imagebuffer,0,)。ByteArrayOutputStream bos= new ByteArrayOutputStream()。DataOutputStream ds=new DataOutputStream(bos)。(imagesize)。()??蛻舳私邮請D片的主要代碼:ts=()。(readBuffer,0,)。ByteArrayInputStream bis= new ByteArrayInputStream(readBuffer)。DataInputStream ds=new DataInputStream(bis)。int imagesize=()。readBuffer=new byte[imagesize]。(readBuffer,0,imagesize)。5 實(shí)現(xiàn)描述 實(shí)現(xiàn)結(jié)果 該程序最終需要實(shí)現(xiàn)對手機(jī)名片的管理,包括增加新的名片、查詢名片內(nèi)容、修改名片內(nèi)容、刪除不需要的名片。從這些名片中可以看到一個人的姓名、公司名稱、地址和電話號碼信息。這些信息可以用中文字符顯示。Socket通信需要實(shí)現(xiàn)客戶端和服務(wù)端之間進(jìn)行聊天,而且客戶端可以從服務(wù)端下載圖片。 測試結(jié)果 手機(jī)名片薄的測試結(jié)果:首先列出所有的名片,添加新的名片,顯示添加的結(jié)果。如圖48所示:圖48 運(yùn)行結(jié)果1修改李寧的名片,把名字改為李東,然后刪除該名片。如圖49所示圖49 運(yùn)行結(jié)果2Socket程序的測試結(jié)果,客戶端和服務(wù)端進(jìn)行通信??蛻舳藦姆?wù)端下載圖片,如圖410所示:圖410 socket測試結(jié)果 不足和改進(jìn)本論文設(shè)計了手機(jī)名片管理功能和Socket通信功能。其中手機(jī)名片薄里的功能有:增加新的名片、查看名片、修改名片和刪除名片。每張名片包括的內(nèi)容有:姓名、公司名稱、地址和手機(jī)號碼。Socket通信包括的功能有:服務(wù)端和客戶端之間進(jìn)行文字通信、客戶端可以從服務(wù)端下載圖片。本次設(shè)計的內(nèi)容都已經(jīng)實(shí)現(xiàn),但還有以下不足:a. 在管理名片時,不能增加名字相同的名片,如果名字相同就會覆蓋原來的信息。解決方案:在存儲新增加的名片時,先檢查是否已有相同名字的名片存在,如果存在則提示用戶進(jìn)行修改。否則存儲該名片。b. Socket通信時,只要有一方結(jié)束通信,另外一方就會自動結(jié)束,要想繼續(xù)通信時,必須從新啟動服務(wù)端和客戶端。解決方案:當(dāng)客戶端結(jié)束通信時,服務(wù)端不退出,而是返回到監(jiān)聽端口處,等待新的連接。只有在服務(wù)端結(jié)束通信時,雙方才都退出通信。c. 客戶端只能從服務(wù)端下載先前指定的圖片,不能進(jìn)行選擇。解決方案:當(dāng)客戶端向服務(wù)端請求下載圖片時,服務(wù)端向客戶端返回所有圖片的名字,客戶端可以從中選擇自己想要下載的圖片。6 結(jié)論。實(shí)現(xiàn)了各種I/O操作,包括對中文字符的處理、網(wǎng)絡(luò)之間的數(shù)據(jù)傳輸、對本地文件的操作。知道了如何在不同的要求下怎樣對數(shù)據(jù)流進(jìn)行封裝。而且對J2ME的文件系統(tǒng)有了更深的了解,在JAVAME中,程序的數(shù)據(jù)保存的地方,無外乎兩種,一種是把數(shù)據(jù)保存在RMS里面,這是所有的JAVAME的手機(jī)都支持的,還有一種就是把數(shù)據(jù)保存在手機(jī)的文件系統(tǒng)里面,這個不是所有手機(jī)都能支持的,只有支持JSR075的手機(jī)。FC APIs提供了MIDlets與本地文件和其它應(yīng)用的交互,比如我們可以通過 FC API在MIDlets中打開外部的各種文件,并且保存一些極大的資源,這一點(diǎn)RMS沒有辦法做到的,F(xiàn)C API并不是強(qiáng)制實(shí)現(xiàn)的。RMS用來存儲程序中的一些數(shù)據(jù),F(xiàn)C API不會取代RMS。另外,這次做畢業(yè)設(shè)計的經(jīng)歷也將使我終身受益,我感受到做系統(tǒng)是要真正用心去做的一件事情,是真正的自己學(xué)習(xí)的過程和研究的過程,這次的經(jīng)歷鍛煉和提高了我實(shí)際開發(fā)項目的能力,將大學(xué)期間所學(xué)的知識整理、融會貫通,我相信會為我以后走上工作崗位打下良好的基礎(chǔ)。致謝首先要感謝朱輝老師,在他的正確指導(dǎo)下我順利地完成了畢業(yè)設(shè)計的任務(wù)。他在整個畢業(yè)設(shè)計過程中給我提供了畢業(yè)設(shè)計所需要的資料,幫助解答畢業(yè)設(shè)計中遇到的問題。他堅持每周一下午給我們進(jìn)行指導(dǎo),通過郵件、短信等方式對我的工作進(jìn)行監(jiān)督和指導(dǎo)。再次要感謝和我一起做畢業(yè)設(shè)計的同學(xué)們,正是有了他們,我們才在遇到問題時,相互鼓勵,最終解決了問題,圓滿地完成了畢業(yè)設(shè)計的各項工作。 參考文獻(xiàn)[1] . 北京 機(jī)械工業(yè)出版社[2] . 北京 電子工業(yè)出版社[3] . 北京 電子工業(yè)出版社[4] [5]萬輝,[M].北京 清華大學(xué)出版社,2009.[6][M].北京 2009機(jī)械工業(yè)出版社[7]陸昌輝,[M].北京 2009電子工業(yè)出版社[8][M].北京 2006 人民郵電出版社[9](美)??藸栔? 機(jī)械工業(yè)出版社[10] 西安交通大學(xué)出版社[11]李繼民,(論文)指導(dǎo)[M].北京 2009清華大學(xué)出版社[12] J2ME手機(jī)游戲開發(fā)[EB/OL].:// ,2008.3
點(diǎn)擊復(fù)制文檔內(nèi)容
職業(yè)教育相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1