Android天氣預(yù)報軟件畢業(yè)設(shè)計答辯PPt_第1頁
Android天氣預(yù)報軟件畢業(yè)設(shè)計答辯PPt_第2頁
Android天氣預(yù)報軟件畢業(yè)設(shè)計答辯PPt_第3頁
Android天氣預(yù)報軟件畢業(yè)設(shè)計答辯PPt_第4頁
Android天氣預(yù)報軟件畢業(yè)設(shè)計答辯PPt_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、基于android天氣預(yù)報軟件的設(shè)計與實現(xiàn)專業(yè)班級:軟件班專業(yè)班級:軟件班學(xué)生姓名:學(xué)生姓名:指導(dǎo)老師:指導(dǎo)老師:1 項目背景2 概要設(shè)計3 詳細設(shè)計4 測試及其他開發(fā)背景目的及意義可行性分析平臺介紹系統(tǒng)流程圖主界面更換城市界面測試總結(jié)功能框架數(shù)據(jù)庫致謝內(nèi)容簡介 開發(fā)背景1android是一種開放源碼操作系統(tǒng)。22013年,android在全球市場份達到75%。3android在中國的前景十分廣闊。4隨著人們生活節(jié)奏的加快,精確地掌握每天的天氣情況已成為一個人早上出門前的必修課。 目的及意義1提供準(zhǔn)確的實時天氣數(shù)據(jù)。2進一步擴大天氣信息的覆蓋面。3完善公共服務(wù)體系,更好地發(fā)揮氣象事業(yè)對經(jīng)濟社會

2、發(fā)展的現(xiàn)實性作用。 平臺介紹android平臺的基本框架如下: 在android系統(tǒng)中,為我們提供了四大基本組件,每個組件是一個視圖,activity,contentprovider是可見的視圖,service和broadcastreceiver是不可見的,它們只在系統(tǒng)的后臺運行。 在android平臺上,集成了一個嵌入式關(guān)系型數(shù)據(jù)庫sqlite。它占用的資源非常低,同時能夠跟很多程序語言相結(jié)合,處理速度非常快。 可行性分析經(jīng)濟可行性技術(shù)可行性法律可行性總結(jié)操作可行性需求低平臺成熟周期短環(huán)境完善人員多能掌握核心設(shè)備充足操作簡便遵守法規(guī)綠色環(huán)保綜上,本系統(tǒng)可以進行研發(fā) 系統(tǒng)流程圖 本系統(tǒng)的流程比

3、較清晰,首先天氣數(shù)據(jù)每更新一次,系統(tǒng)就會通過http向指定的地址發(fā)出數(shù)據(jù)請求,若請求成功,則返回天氣數(shù)據(jù)并通過json格式來解析數(shù)據(jù),最終把解析到的數(shù)據(jù)顯示在手機界面上,這樣就完成了一次天氣數(shù)據(jù)的更新。 功能框架 軟件的功能框架如上圖所示: 實時天氣信息:用戶可以查看指定城市的實時天氣,包括溫度、濕度、風(fēng)力和穿衣指數(shù)等; 未來三天預(yù)報:用戶可以查看到未來三天的天氣情況; 更換城市:用戶可以根據(jù)自己的實際情況選擇自己想要查詢的城市。 自動定位:可以獲得當(dāng)前用戶所在的城市。 主界面 該界面綜合使用了android平臺的各種常用組件,包括button、textview、imageview等,界面的頂

4、部顯示當(dāng)前選擇的城市和天氣數(shù)據(jù)刷新按鈕,用戶可以根據(jù)自己的需要隨時通過該按鈕來刷新數(shù)據(jù),右邊為一個“更換城市”按鈕,用戶可以通過該按鈕來更改其它城市。 首先,進入的是界面的主體部分,顯示了當(dāng)前城市的實時天氣情況,包括時間、天氣、溫度、風(fēng)力和濕度等信息。 其次,顯示了未來三天的天氣情況和穿衣指數(shù)提醒。 最后,顯示了當(dāng)前天氣數(shù)據(jù)的發(fā)布時間和最近一次刷新時間。private void setweatherjson(string snowweatherstring, string s6detil) try jsonobject = new jsonobject(snowweatherstring);j

5、sonobject = jsonobject.getjsonobject(weatherinfo);tvcityname.settext(jsonobject.getstring(city);tvnowtemp.settext(jsonobject.getstring(temp) + );tvtodaywindsd.settext(jsonobject.getstring(wd)+ jsonobject.getstring(ws) + + 濕度:+ jsonobject.getstring(sd);/ 風(fēng)力jsonobject = new jsonobject(s6detil);jsonobj

6、ect = jsonobject.getjsonobject(weatherinfo);sdate_y = jsonobject.getstring(date_y);tvissuetime.settext(sdate_y.substring(5) + + jsonobject.getstring(fchh) + :00);/ 設(shè)置發(fā)布時間tvtoday.settext(sdate_y + + jsonobject.getstring(week);/ 設(shè)置今天日期string img_title = jsonobject.getstring(img_title1);/ 天氣圖標(biāo)int weath

7、er_icon = getweatherbitmapresource(img_title);imageview1.setimageresource(weather_icon);tvprompt.settext(jsonobject.getstring(index_d);/ 穿衣提醒主界面核心代碼: 更換城市界面 該界面包括兩部分,分別是熱門城市和所有城市,熱門城市模塊列舉了國內(nèi)主要的大城市,目的是方便用戶選擇,而所有城市則是顯示了國內(nèi)所有的城市數(shù)據(jù),用戶可以先選擇省份,接著選擇城市,最后選擇縣(區(qū))這種顯示來選擇。選擇完畢后可以通過確定按鈕來提交設(shè)置。更換城市界面核心代碼:public lis

8、t getcitset(int pro_id) citylist.clear();/ 打開數(shù)據(jù)庫sqlitedatabase db1 = sqlitedatabase.openorcreatedatabase(database_path+ dbname, null);cursor cursor = db1.query(citys, null, province_id= + pro_id, null,null, null, city_num);list citylisttemp = new arraylist();while (cursor.movetonext() string cityid

9、= cursor.getstring(cursor.getcolumnindexorthrow(city_num);string cityn = cursor.getstring(cursor.getcolumnindexorthrow(name);citylist.add(new cityinfo(cityid, cityn);for (int i = 0; i citylist.size(); i+) if (!citylist.get(i).getname().contains(.) citylisttemp.add(new cityinfo(citylist.get(i).getcit

10、y_num(),citylist.get(i).getname();cursor.close();db1.close();return citylisttemp;自動定位 調(diào)用安卓sdk的定位中的locationclient和bdlocation等類以及bdlocationlistener等接口,通過gps和網(wǎng)絡(luò)來返回百度坐標(biāo)系的定位結(jié)果。自動定位功能的核心代碼:public class mylocationlistenner implements bdlocationlistener overridepublic void onreceivelocation(final bdlocation

11、 location) dialog.dismiss();misstart = false;if (location = null) toastutil.show(定位失敗);return;alertdialog.builder build = new alertdialog.builder(weatherchangecityactivity.this);build.settitle(定位成功).setmessage(當(dāng)前城市: + location.getprovince() + -+ location.getcity() + -+ location.getdistrict().setposi

12、tivebutton(確定,new dialoginterface.onclicklistener() overridepublic void onclick(dialoginterface dialog,int which) cityinfo cityinfo = getcitybyloc(location.getcity(),location.getdistrict(); 數(shù)據(jù)庫 android平臺上,集成了一個嵌入式關(guān)系型數(shù)據(jù)庫sqlite。它占用資源非常的低,可能幾百k就夠了。它能夠支持windows/linux/unix等主流的操作系統(tǒng),同時能夠跟很多程序語言相結(jié)合,比如 tcl、c

13、#、php、java等,還有odbc接口,同樣比mysql、postgresql這兩款數(shù)據(jù)庫管理系統(tǒng)快。 本數(shù)據(jù)庫支持功能如下: 1.自動建表; 2.自動支持增刪改操作; 3.查詢方式靈活; 4.查詢結(jié)果對象化; 5.查詢結(jié)果靈活:查詢結(jié)果支持對象化,也支持結(jié)果為listmap形式。 測試 本測試我們測試的是主界面、更換城市界面和網(wǎng)絡(luò)接口這三個模塊,測試目的是驗證修改城市后系統(tǒng)能否自動更新天氣數(shù)據(jù),從而驗證系統(tǒng)功能的完整性,首先我們點擊主界面右上角的“更改城市”按鈕,把當(dāng)前城市修改成昆山,點擊確定按鈕后系統(tǒng)當(dāng)前的城市已經(jīng)切換到昆山了,并且當(dāng)前顯示的天氣數(shù)據(jù)也是昆山的數(shù)據(jù),所以這三個模塊的功能及測試結(jié)果都是是正常的。 總結(jié) 本次畢業(yè)設(shè)計是我在大學(xué)學(xué)習(xí)的最后一個階段,這三個多月以來,從拿到題目的毫無頭緒,到在網(wǎng)上查找各種相關(guān)資料,再到一個個功能逐步實現(xiàn),最后終于能完整連貫的呈現(xiàn),這中間經(jīng)歷了種種磨難

溫馨提示

  • 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

提交評論