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

正文內(nèi)容

基于安卓系統(tǒng)天氣預(yù)報(bào)應(yīng)用程序開發(fā)本科畢業(yè)論文(參考版)

2025-06-27 15:56本頁面
  

【正文】 感謝她的不辭辛勞,從開始的搜集材料確定題目,老師就細(xì)心地講解分析,感謝她的不遺余力,當(dāng)我初稿完成后,我就請(qǐng)她給我審核,到最后論文的定稿的整個(gè)過程中,老師都及時(shí)給予我建議,指出不足之處,不斷充實(shí)論文的內(nèi)容最終幫助我完成了這篇報(bào)告。解決的問題還有很多,當(dāng)然也還有沒有完善的問題以下是我自己所列的不足之處:1代碼耦合性高2界面或背景在切換時(shí)沒有做一定的修飾動(dòng)畫3沒有盡可能的優(yōu)化java代碼4在輸入城市時(shí),暫時(shí)沒有實(shí)現(xiàn)對(duì)亂碼和英文進(jìn)行判斷5下拉刷新這一個(gè)功能模塊沒有做好6當(dāng)我在加入了“天氣實(shí)況”之后,顯示除中國之外的城市時(shí)信有誤息,因?yàn)閣ebservice中提供的信息不完整。除此之外,還有我在上文中提到的沒有成功獲取調(diào)用service的binder實(shí)例,導(dǎo)致程序在運(yùn)行時(shí)直接出現(xiàn)crash。3 增加了定位功能,這是利用TelephonyManager等相知識(shí),通過SIM卡,我可以得到用戶所在地的經(jīng)度和緯度,然后再通過google map 獲取經(jīng)緯度所對(duì)應(yīng)的城市。后來我在查閱資料時(shí),學(xué)習(xí)到了可以通過WebService服務(wù)從WebXml網(wǎng)站獲取天氣信息。2完成和改善了城市天氣查詢功能,方便用戶查詢信息。經(jīng)過查閱大量的資料,我按質(zhì)按量完成了設(shè)計(jì)的功能。經(jīng)過近兩個(gè)月的設(shè)想、設(shè)計(jì)、規(guī)劃,我終于完成了這個(gè)項(xiàng)目。圖59 定位界面(8)當(dāng)用戶在查詢界面點(diǎn)擊檢測網(wǎng)絡(luò)的時(shí)候,會(huì)顯示當(dāng)前手機(jī)所連接的網(wǎng)絡(luò)狀態(tài),如圖15。圖57 未來天氣(6) 當(dāng)用戶在信息主界面點(diǎn)擊菜單按鈕時(shí),會(huì)進(jìn)入查詢界面,如圖13。圖56 城市介紹(4)當(dāng)用戶在城市介紹界面時(shí),如果繼續(xù)向右滑動(dòng),那么會(huì)切換背景,如圖11。調(diào)試分析如圖8:圖54 調(diào)試分析保證在獲取天氣的線程使用這個(gè)接口的實(shí)例時(shí),就已經(jīng)完成了綁定,并成功獲取接口。然后會(huì)啟動(dòng)Service,之后才能獲取igetweather。最后,我采用了多線程,在主線程中開了一個(gè)線程,并讓這個(gè)子線程在完成綁定前休眠若干個(gè)10ms,最后成功的解決問題。調(diào)試信息如圖6:DISCONNECTED狀態(tài)UNKNOW狀態(tài)圖52 調(diào)試分析另一個(gè)比較重要的問題是,在我用binder通信機(jī)制時(shí)出現(xiàn)了一個(gè)crash。調(diào)試信息如圖5:在獲取位置時(shí),導(dǎo)致阻塞在getLocation函數(shù)里面圖51 調(diào)試分析之后我在代碼中,就添加了對(duì)狀態(tài)的判斷。在從WebService中獲取天氣信息時(shí)要進(jìn)行幾部操作,最終才能成功獲取。 // 如果截?cái)嗍录?,我們則仍然把這個(gè)事件交給刷新View去處理,典型的情況是讓ListView/GridView將按下 if (mIsHandledTouchEvent) { (event)。amp。 // 這里有三個(gè)條件: // 1,位移差大于mTouchSlop,這是為了防止快速拖動(dòng)引發(fā)刷新 // 2,isPullRefreshing(),如果當(dāng)前正在下拉刷新的話,是允許向上滑動(dòng),并把刷新的HeaderView擠上去 if (absDiff mTouchSlop || isPullRefreshing()) { mLastMotionY = ()。case : // 計(jì)算差值 final float deltaY = () mLastMotionY。}同時(shí)還要設(shè)置下拉的監(jiān)聽事件,如果符合條件就會(huì)進(jìn)行刷新操作。 mHeaderHeight = headerHeight。其中,要獲取三個(gè)值,第一個(gè)是當(dāng)下拉到某個(gè)臨界值值后能夠執(zhí)行刷新命令,第二個(gè)值是下拉的最大值,第三個(gè)值是用戶下拉的值。還有一點(diǎn)是這個(gè)服務(wù)也要在配置文件中注冊(cè)。這里的detail是SoapObject對(duì)象,這個(gè)detail相當(dāng)于一個(gè)數(shù)組,第一條語句的意思是取出detail中的下標(biāo)為6的數(shù)據(jù),并轉(zhuǎn)換為String類型,將結(jié)果賦給tmp,(“ ”)[0]是指首先將tmp里的字符串以空格為結(jié)束符,分為字符數(shù)組,[0]就是指數(shù)組的下標(biāo),這樣就獲得了日期和天氣的信息了。 = 日期: + ( )[0]。}在解析時(shí),由于soap協(xié)議,將獲取的信息都轉(zhuǎn)換為字符串類型,所以在解析時(shí)主要就是根據(jù)轉(zhuǎn)換后的數(shù)據(jù)信息來解析得到所需要的。//使用getResponse方法獲取WebService方法的返回結(jié)果 detail = (SoapObject) ()。 = true。 (rpc)。 = rpc。 // 生成調(diào)用WebService方法的soap請(qǐng)求信息,該信息是由下面這個(gè)類來 //描述 。//指定Webservice的命名空間和要獲取信息時(shí)調(diào)用的Webservice的方法名 SoapObject rpc = new SoapObject(SERVICE_NAME, METHODNAME)。}}在線程的執(zhí)行函數(shù)run中會(huì)調(diào)用函數(shù),從WebXml網(wǎng)站這個(gè)webservice服務(wù)中獲取天氣信息。 weatherInfo = getResult(cityname)。}//IGetWeather是定義的一個(gè)接口,接口里只有一個(gè)函數(shù),在這個(gè)服務(wù)中被//實(shí)現(xiàn),然后可以在Weather中得到IGetWeather的實(shí)例。MyBinder binder = new MyBinder()。采用的是binder通信機(jī)制在類中,構(gòu)建一個(gè)內(nèi)部類MyBinder,讓它實(shí)現(xiàn)一個(gè)定義的一個(gè)接口。 //最后啟動(dòng)這個(gè)天氣信息顯示主界面類}此外,還在這個(gè)界面顯示了關(guān)于本人的一些信息,用的是一個(gè)TextView控件,然后對(duì)空間進(jìn)行設(shè)置內(nèi)容。第二中就是判斷 //wifi連接狀態(tài),} //聲明一個(gè)Intent來啟動(dòng)天氣信息顯示的主界面 //在這個(gè)Intent對(duì)象中添加用戶輸入的城市名 int flag = 0。 if(()){//對(duì)用戶輸入的城市進(jìn)行判斷,盡可能的判斷輸入的是合法的。然后再給其設(shè)置一個(gè)監(jiān)聽事件,實(shí)現(xiàn)監(jiān)聽函數(shù)接口onClick() public void onClick(View v) { String cityname = null。 eCityName = (EditText)findViewById()。將解釋分析查詢功能。除此之外,在這里又創(chuàng)建了三個(gè)Activity,當(dāng)然會(huì)有對(duì)應(yīng)的布局文件,這些布局文件都要在配置文件中進(jìn)行注冊(cè),之后才能引用這些布局。當(dāng)用戶繼續(xù)向右滑動(dòng)界面時(shí)會(huì)切換這個(gè)界面的背景。 PreviousPage當(dāng)用戶在主界面時(shí),向右滑動(dòng)界面,這時(shí)會(huì)進(jìn)入PreviousPage界面,在這個(gè)界面中會(huì)顯示該城市的發(fā)展歷史和旅游介紹。}//設(shè)置與天氣相對(duì)應(yīng)的圖標(biāo) ()。圖片會(huì)在R文 //件中自動(dòng)生成一個(gè)Id ()。調(diào)用的線性布局的對(duì)象的系統(tǒng)函數(shù)。//根據(jù)每一天的天氣情況來設(shè)置天氣圖標(biāo),用flag 來將背景設(shè)置和明天的 //天氣相符的圖片 public void SetImageRsr(String weather,ImageView iv) {//從傳入的信息中解析出明天和后天的“天氣”對(duì)應(yīng)的實(shí)際情況 str = (start+2, end4)。 (after_tom, )。在這個(gè)類中將信息顯示出來case nextpage: Intent nextintent = new Intent(,)。這里的WeatherInfo是代表天氣信息的一個(gè)類,包含與天氣相關(guān)的各種信息,如表1::WeatherInfo 成員變量的含義類型變量名保存的信息Stringcity城市名Stringweather天氣狀況Stringtem溫度Stringwind風(fēng)向和強(qiáng)度Stringdate日期Stringmesg各項(xiàng)指數(shù),如穿衣指數(shù)Stringnowinfo天氣實(shí)況Stringtomorrow明天的天氣信息StringafterTom后天的天氣信息Stringintro城市的介紹信息 NextPage當(dāng)用戶向左滑動(dòng)屏幕時(shí),界面會(huì)進(jìn)入NextPage,在這個(gè)界面會(huì)顯示明天和后天的天氣情。 if (weatherInfo==null){//會(huì)進(jìn)行安全判斷//顯示當(dāng)天的信息,就是將對(duì)應(yīng)的控件設(shè)置獲取的天氣信息 showResult(weatherInfo,mainpage)。 (msg)。 = mainpage。 try {//調(diào)用service中的函數(shù),實(shí)際上是調(diào)用IGetWeather接口中的接口函//數(shù),這個(gè)接口是在Service中實(shí)現(xiàn)的 weatherinfo = (cityname)。//在這個(gè)函數(shù)中會(huì)調(diào)用GetWeatherService中的函數(shù) GetWeatherInfo(city)。 (TAG, Get igetweather = + igetweather)。}//這個(gè)函數(shù)是用來獲取一個(gè)GetWeatherService類中的一個(gè)內(nèi)部類 //MyBinder的實(shí)例,運(yùn)用的是binder通信機(jī)制,由操作系統(tǒng)調(diào)用 //conn的一個(gè)連接函數(shù)返回實(shí)例 bindService(startService, conn, )。 (new () {//在這里設(shè)置了一個(gè)匿名內(nèi)部類,如果用戶點(diǎn)擊了這個(gè)按鈕,則會(huì) //通過Intent跳轉(zhuǎn)到GetInfo類 public void onClick(View v) { Intent intent = new Intent(,)。 //這個(gè)函數(shù)會(huì)開一個(gè)線程,通過binder通信,與 //GetWeatherService建立聯(lián)系,獲取天氣信息,runThread()。 //開一個(gè)handle消息處理函數(shù),采用的匿名內(nèi)部類 handler = new Handler() { public void handleMes
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1