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

正文內(nèi)容

基于j2me平臺的手機天氣預(yù)報程序的設(shè)計與實現(xiàn)(參考版)

2025-06-25 19:21本頁面
  

【正文】 武漢工業(yè)學(xué)院學(xué)報。在此,我深深地感謝四年來幫助過、關(guān)心過我的所有老師!同時,我的各個方面的進步,也離不開全體同學(xué)在學(xué)習(xí)、生活各方面的支持與幫助。四年時間很快過去了,我即將畢業(yè),心中有萬般的不舍。然后感謝我們小組的其他兩位成員:高航和譚迪。在另外一些使用聯(lián)通網(wǎng)絡(luò)的手機上,無法正常聯(lián)網(wǎng)獲取天氣預(yù)報,初步確定是聯(lián)通的GPRS網(wǎng)絡(luò)沒有足夠的權(quán)限訪問Google服務(wù)器,如果改進需要更換獲取天氣的API服務(wù)器或者自己架設(shè)服務(wù)器。 結(jié)論基于J2ME平臺的手機天氣預(yù)報軟件,小巧,方便,能夠在較小的流量耗費,很短的聯(lián)網(wǎng)時間來查詢多個城市的天氣預(yù)報,相比某些WAP網(wǎng)站所提供的天氣預(yù)報服務(wù),更加的經(jīng)濟實用。參數(shù)d的類型是Displayable ,是傳回一個displayable類,用來判斷是在哪個界面下面響應(yīng)的命令按鈕,比如在城市界面按下OK鍵,則c就會是cmdOK而displayable則傳回的是List。 實現(xiàn)命令監(jiān)聽然后需要在類中重寫mandAction函數(shù) 重現(xiàn)命令動作方法這里有兩個參數(shù),一個參數(shù)c是當(dāng)命令按鈕執(zhí)行的時候,可以通過c來判斷按下的是哪個命令。關(guān)閉記錄集的代碼片段如下: 關(guān)閉記錄集最后當(dāng)程序結(jié)束的時候關(guān)閉所有的記錄集。存儲城市列表的代碼片段如下: 存儲城市列表使用循環(huán)將默認的城市列表寫入到CityListRS記錄集中。}因為記錄集中只能存儲字節(jié)序列,所以將城市對象存儲到記錄集中之前需要轉(zhuǎn)化為字節(jié)數(shù)組后才能存儲。 ()。 (())。 // 從bais讀取內(nèi)容 CityList cus = new CityList()。} Public static CityList ByteArray2Object(byte[] b) throws IOException { ByteArrayInputStream bais = new ByteArrayInputStream(b)。 ()。 ()。 DataOutputStream dos = new DataOutputStream(baos)。ByteArray2Object:將字節(jié)序列轉(zhuǎn)化為對象。我么使用如下的方法,static RecordStore openRecordStore(String recordStoreName, String vendorName, String suiteName) 代碼片段:新建記錄集的代碼片段如下: 打開記錄集這里 citylistrs用來保存城市列表,citynumrs用來保存城市個數(shù),defaultrs用來保存默認城市的數(shù)據(jù)。④創(chuàng)建可以被共享的RecordStore我們可以通過下面的方法來實現(xiàn),必須要把authmode設(shè)置為AUTHMODE_ANY。RecordEnumeration相當(dāng)于一個雙向的數(shù)據(jù)鏈表。RecordEnumeration enumerateRecords(RecordFilter filter, RecordComparator parator, boolean keepUpdated)在這個方法中還包括了RMS中的另外兩個接口RecordFilter和RecordComparator,他們是用來量身定制遍歷的結(jié)果集的,你可以實現(xiàn)RecordFilter來決定要把什么樣的數(shù)據(jù)篩選出來,通過實現(xiàn)RecordComparator來決定數(shù)據(jù)的排序。它可以遍歷RecordStore中的數(shù)據(jù)。程序很可能會失敗。(1)獲得RecordStore信息int getVersion() int getSize() String getName()long getLastModified() (2)獲得Record信息int getNumRecords() int getNextRecordID() int getRecordSize(int recordId) ②對Record進行添加、修改、讀取和刪除。在RMS中另外一個重要的概念就是Record,這就像數(shù)據(jù)庫中一行一行的數(shù)據(jù)一樣。新建RecordStore非常簡單,可以使用下面的靜態(tài)方法static RecordStore openRecordStore(String recordStoreName, boolean createIfNecessary) 注意,后面的boolean類型的createIfNecessary表示,如果標(biāo)記為true的時候,那么RecordStore不存在就創(chuàng)建它。因此這就要求我們開發(fā)人員來描繪數(shù)據(jù)的樣子,因為RMS只是負責(zé)把數(shù)據(jù)按照byte[]寫入和讀出。而存儲在RMS中的數(shù)據(jù)是不會被清除的。由此可見RMS設(shè)計的非常小巧,這正是為了滿足移動信息設(shè)備資源受限的需求。當(dāng)然你的系統(tǒng)如果支持JSR75的話,那么你可以使用FileConnection來對文件進行操作。最終實際運行效果圖: 添加城市實際運行截圖 使用記錄集(RMS)本程序使用J2ME的微型數(shù)據(jù)庫(RMS)來保存城市列表和默認城市信息到手機的Flash中,使得程序退出的時候可以存儲用戶設(shè)定的信息。使用append將城市的中文字符串來添加到List界面上,然后使用List類的成員變量addCommand來添加命令菜單,最后通過setCommandListener實現(xiàn)命令和List的綁定。城市添加界面:因為本程序可以自己定義新的城市并且添加到城市列表,方便查詢自己需要的城市,所以需要用一個表單來輸入城市的中文名稱和對應(yīng)的拼音,中文名稱用來在城市列表中顯示,而拼音是為了能夠使用Google的API來查詢對應(yīng)城市的天氣信息。城市管理界面:用于顯示目前保存在手機內(nèi)存中的城市列表,可以選擇不同的城市并且查詢這些城市的實時天氣。Basic版本采用高級用戶界面Form來顯示天氣,采用純文本的形式,這樣可以保證最大的兼容性,但是界面不夠美觀。Canvas容器:實際上是一個畫布,可以在上面繪制字符串或者圖像。這里用到了J2ME的幾個容器。實現(xiàn)xml解析的代碼片段如下: 解析xml字段然后通過查找之前設(shè)定的字段的結(jié)束標(biāo)志,這時parser已經(jīng)進入了forecast_condition標(biāo)簽中,().equals()來查找day_of_week,low,high,condition子標(biāo)簽,然后當(dāng)paraser指向了day_of_week標(biāo)簽的時候,使用getAttributeValue(0).getBytes(),方法來獲得第1個屬性的字節(jié)數(shù)組,接著通過String的構(gòu)造函數(shù)生成一個編碼為gb2312的字符串,最后保存到天字符串中方便以后調(diào)用。()方法來尋找下一個xml標(biāo)記。首先是用計算機的瀏覽器直接訪問該地址而返回來的xml源文件: xml文件結(jié)構(gòu)程序需要將里面的forecast_conditions標(biāo)簽中的day_of_week,low,hight ,condition中的data屬性值解析出來,然后單獨存放到一個字符串?dāng)?shù)組中,供程序其他部分使用和輸出到屏幕。 } (, null, elements)。 // handle element content (text content: + ())。 (, null, elements)。取而代之,它使用一種稍微不同的稱為Pull的分析方法。kXML重要特點kXML在特別限制的環(huán)境的開發(fā)中具有以下兩個重要特點:(1)支持WBXML (WAP Binary XML) :允許解析WAP或Wireless Village協(xié)議的內(nèi)容;(2)采用“放松”模式解析HTML或SGML(Standard Generalized Markup Language,標(biāo)準(zhǔn)通用標(biāo)記語言)格式文件,以避免在手機上需要兩個單獨的解析器。kXML 1與kXML 2的對比kXML 1是一個簡單的pull語法解析器,基于事件對象。這里我用到了J2ME第三方xml解析器kxml。當(dāng)我們使用軟件查詢天氣的時候,會首先選擇好城市,然后軟件會把城市對應(yīng)的拼音通過此url來建立連接,從而服務(wù)器會返回帶有響應(yīng)城市的天氣信息的數(shù)據(jù)。 } catch (Exception ex){}()靜態(tài)方法,為connection對象指向一個url來建立連接并且打開。 postUrl=+city。setCityName和setCityNamepy是修改此類的成員變量的方法。getCityName和getCityNamepy是將記錄集中的城市列表讀取到內(nèi)存中以備調(diào)用的方法。(3)CityList類用于城市管理的類,處理多個城市的數(shù)據(jù),存儲城市到記錄集,從記錄集中讀取城市的信息等。WeatherCanvas類繼承Canvas類后可以重寫Paint方法,這個方法就是用來繪制圖形的函數(shù)。ShowWeather方法用來解析獲取的xml文檔并且通知WeatherCanvas類顯示出查詢的天氣結(jié)果。reList是從記錄集中讀取城市列表的時候重新刷新List容器的方法。mandAction方法是當(dāng)JWeather類使用了CommandListener接口后需要重寫的方法,所有對于命令和鍵盤響應(yīng)的處理全部在這個方法中執(zhí)行。因為記錄集只能存儲bytes數(shù)組類型,任何數(shù)據(jù)在記錄集中存儲的時候都需要將它轉(zhuǎn)換為bytes數(shù)組類型,而當(dāng)從記錄集中讀取數(shù)據(jù)的時候則需要使用相應(yīng)的方法將bytes數(shù)組類型轉(zhuǎn)化為需要使用的類型。 JWeather類方法摘要在JWeather類中需要用到一些必要的方法,這些方法使用在連接網(wǎng)絡(luò)、獲取數(shù)據(jù)、解析數(shù)據(jù)等各個方面。 JWeather類結(jié)構(gòu)JWeather類實現(xiàn)CommandListener來處理基本的鍵盤響應(yīng)。這三個類在J2ME的生命周期中也提到過,startApp是J2ME程序的入口方法,pauseApp是當(dāng)程序通過外部消息暫停的情況下所執(zhí)行的方法,例如在真實的手機上運行程序的時候,如果這時有電話打進手機,程序會被迫中止,這時pauseApp將被執(zhí)行。任何J2ME程序都是以這個類為程序執(zhí)行的開始點,程序的基本初始化、基本成員變量和方法都可以在這個類中定義。 類分層結(jié)構(gòu)現(xiàn)在分別詳細說明一下各個類的功能。這個操作就需要使用J2ME的持久性存儲功能來對城市信息進行存儲。城市管理界面的功能就是為
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1