




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、基于Android天氣預報軟件的設計與實現(xiàn)專業(yè)班級:軟件班專業(yè)班級:軟件班學生姓名:學生姓名:指導老師:指導老師:1 項目背景2 概要設計3 詳細設計4 測試及其他開發(fā)背景目的及意義可行性分析平臺介紹系統(tǒng)流程圖主界面更換城市界面測試總結(jié)功能框架數(shù)據(jù)庫致謝內(nèi)容簡介 開發(fā)背景1Android是一種開放源碼操作系統(tǒng)。22013年,Android在全球市場份達到75%。3Android在中國的前景十分廣闊。4隨著人們生活節(jié)奏的加快,精確地掌握每天的天氣情況已成為一個人早上出門前的必修課。 目的及意義1提供準確的實時天氣數(shù)據(jù)。2進一步擴大天氣信息的覆蓋面。3完善公共服務體系,更好地發(fā)揮氣象事業(yè)對經(jīng)濟社會
2、發(fā)展的現(xiàn)實性作用。 平臺介紹Android平臺的基本框架如下: 在Android系統(tǒng)中,為我們提供了四大基本組件,每個組件是一個視圖,Activity,ContentProvider是可見的視圖,Service和BroadcastReceiver是不可見的,它們只在系統(tǒng)的后臺運行。 在Android平臺上,集成了一個嵌入式關系型數(shù)據(jù)庫SQLite。它占用的資源非常低,同時能夠跟很多程序語言相結(jié)合,處理速度非常快。 可行性分析經(jīng)濟可行性技術(shù)可行性法律可行性總結(jié)操作可行性需求低平臺成熟周期短環(huán)境完善人員多能掌握核心設備充足操作簡便遵守法規(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ù)的更新。 功能框架 軟件的功能框架如上圖所示: 實時天氣信息:用戶可以查看指定城市的實時天氣,包括溫度、濕度、風力和穿衣指數(shù)等; 未來三天預報:用戶可以查看到未來三天的天氣情況; 更換城市:用戶可以根據(jù)自己的實際情況選擇自己想要查詢的城市。 自動定位:可以獲得當前用戶所在的城市。 主界面 該界面綜合使用了Android平臺的各種常用組件,包括Button、TextView、ImageView等,界面的頂
4、部顯示當前選擇的城市和天氣數(shù)據(jù)刷新按鈕,用戶可以根據(jù)自己的需要隨時通過該按鈕來刷新數(shù)據(jù),右邊為一個“更換城市”按鈕,用戶可以通過該按鈕來更改其它城市。 首先,進入的是界面的主體部分,顯示了當前城市的實時天氣情況,包括時間、天氣、溫度、風力和濕度等信息。 其次,顯示了未來三天的天氣情況和穿衣指數(shù)提醒。 最后,顯示了當前天氣數(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);/ 風力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);/ 設置發(fā)布時間tvToday.setText(sdate_y + + jsonObject.getString(week);/ 設置今天日期String img_title = jsonObject.getString(img_title1);/ 天氣圖標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ū))這種顯示來選擇。選擇完畢后可以通過確定按鈕來提交設置。更換城市界面核心代碼: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)絡來返回百度坐標系的定位結(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(當前城市: + 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平臺上,集成了一個嵌入式關系型數(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)絡接口這三個模塊,測試目的是驗證修改城市后系統(tǒng)能否自動更新天氣數(shù)據(jù),從而驗證系統(tǒng)功能的完整性,首先我們點擊主界面右上角的“更改城市”按鈕,把當前城市修改成昆山,點擊確定按鈕后系統(tǒng)當前的城市已經(jīng)切換到昆山了,并且當前顯示的天氣數(shù)據(jù)也是昆山的數(shù)據(jù),所以這三個模塊的功能及測試結(jié)果都是是正常的。 總結(jié) 本次畢業(yè)設計是我在大學學習的最后一個階段,這三個多月以來,從拿到題目的毫無頭緒,到在網(wǎng)上查找各種相關資料,再到一個個功能逐步實現(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)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年電容器無功補償裝置項目發(fā)展計劃
- 2025年風力發(fā)電機組項目合作計劃書
- 不可忽視2024計算機基礎考試試題及答案
- 2025年映前廣告項目合作計劃書
- 2024汽車美容師行業(yè)標準解析試題及答案
- 2025年初中物理(教師招聘教師資格面試可用)8.3 摩擦力說課稿 人教版物理八年級下冊
- 2024年汽車維修工職業(yè)技能與考試要求的調(diào)整試題及答案
- 2025年血液凈化類產(chǎn)品合作協(xié)議書
- 2025年小學語文教材輔導試題及答案
- 美容師職業(yè)發(fā)展規(guī)劃與考試干貨試題及答案
- 鋼筋優(yōu)化技術(shù)創(chuàng)效手冊(2022年)
- 基于微信小程序的音樂播放的設計與實現(xiàn)
- 宣傳冊設計教學課件
- 授權(quán)查檔的授權(quán)委托書
- 【基于Java的水果商城購物系統(tǒng)設計與實現(xiàn)10000字(論文)】
- 置業(yè)顧問銷售逼單技巧培訓
- 醫(yī)院處方箋模板
- 【工程項目施工階段造價的控制與管理8100字(論文)】
- XX學校推廣應用“國家中小學智慧教育平臺”工作實施方案
- 非遺文化創(chuàng)意產(chǎn)品設計 課件全套 第1-5章 概述- 非遺文創(chuàng)產(chǎn)品設計案例解析
- 法律盡職調(diào)查所需資料清單
評論
0/150
提交評論