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

正文內(nèi)容

基于android的天氣預(yù)報(bào)系統(tǒng)設(shè)計(jì)說明-閱讀頁

2025-07-11 13:20本頁面
  

【正文】 的大眾化以及功能的復(fù)雜化使手機(jī)界面的設(shè)計(jì)及其使用環(huán)境的技術(shù)成為關(guān)心的焦點(diǎn),尤其在競(jìng)爭(zhēng)激烈的市場(chǎng)環(huán)境中,人性化的用戶界面設(shè)計(jì)是諸多設(shè)計(jì)中受歡迎的。 引導(dǎo)界面對(duì)于有引導(dǎo)界面的 App,剛安裝或使用后將其數(shù)據(jù)清除(SettingApps...) ,啟動(dòng)后就會(huì)出現(xiàn)引導(dǎo)界面,目的是向用戶介紹本款應(yīng)用的使用方法或主要功能。除了非常必要,放過多頁面會(huì)影響用戶體驗(yàn),雖然可以在界面上添加“跳過”按鈕(最近較為常用的按鈕為“立即體驗(yàn)” )為不需要被引導(dǎo)的用戶提供進(jìn)入 App 的捷徑。 主界面對(duì)于天氣預(yù)報(bào)這種實(shí)用性很強(qiáng)的軟件,界面不宜做的花哨。但由于查天氣的工具屬性太強(qiáng),用戶用完即走,功能越多越反感 [20] 。同樣情況的還有迅雷,自從迅雷推出迅雷 9 之后,網(wǎng)上招來一片罵聲,好端端的下載軟件強(qiáng)行變成了視頻播放軟件,而且還不能關(guān)閉,廣告費(fèi)賺著了,用戶體驗(yàn)卻差. . . . 參考了,舍本逐末!本設(shè)計(jì)堅(jiān)決遵守“簡(jiǎn)潔”原則(同時(shí)也沒有能力做出那么多功能) ,主界面高仿 OPPO R9 天氣預(yù)報(bào),界面信息沒有一絲冗余,主界面如圖所示:城市選擇發(fā)布時(shí)間天氣描述溫度顯示P M 指數(shù)預(yù)報(bào)8 : 0 0 1 2 : 0 0 1 6 : 0 0 2 0 : 0 0 1 2 176。 1 6 176。今天 陰 2 2 176。明天 多云 2 2 176。后天 陰 2 2 176。第三天 陰 2 2 176。詳細(xì)信息 體感溫度 1 4 176。當(dāng)用戶手動(dòng)選擇城市界面時(shí),即會(huì)彈出如下界面: 圖 46 城市選擇界面 城市選擇 北京 上海 廣州 深圳 成都 綿陽 瀘州 自貢 西安 眉山 重慶 天津 杭州 南京 無錫. . . . 參考第五章 詳細(xì)設(shè)計(jì) 創(chuàng)建工程新建工程時(shí),首先確定本設(shè)計(jì)工程名為“Weather” ,然后根據(jù)要實(shí)現(xiàn)的功能,建立Weather 工程,Weather 工程文件結(jié)構(gòu)如圖所示:圖 51 項(xiàng)目工程目錄為了讓項(xiàng)目結(jié)構(gòu)更加清晰易懂,項(xiàng)目工程設(shè)置了多個(gè)包名,分別用來保存核心實(shí)現(xiàn)代碼、適配器、數(shù)據(jù)實(shí)例、界面加載、數(shù)據(jù)刷新、網(wǎng)絡(luò)傳輸?shù)裙δ堋VC 是一種使用 MVC(Model View Controller 模型視圖控制器)設(shè)計(jì)創(chuàng)建應(yīng)用程序的模式。在編程中,MVC 機(jī)制被發(fā)揮得淋漓盡致。圖 52 MVC 示意圖MVC 約定,Model 不允許與 View 打交道。MVC 也約定, View 不允許直接引用 Modal, 它只能被 Controller 所控制。我們知道,View 所要顯示的數(shù)據(jù)是來源于Modal,View 上產(chǎn)生的事件(比如 Touch 事件)需要通知 Controller。 引導(dǎo)界面引導(dǎo)界面是程序首次運(yùn)行時(shí)加載的界面,由上一章的 UI 界面分析可知,引導(dǎo)界面的主要功能就是引導(dǎo)使用、歡迎用戶以及彰顯版權(quán)等。判斷后進(jìn)行相應(yīng)的界面跳轉(zhuǎn),相關(guān)判斷如下:判斷是否首次使用進(jìn)入主界面進(jìn)入引導(dǎo)頁面將登錄標(biāo)志位置為 f a l s e是否圖 53 判斷是否跳轉(zhuǎn)引導(dǎo)頁面進(jìn)行判斷后,通過 Intent 組件進(jìn)行界面跳轉(zhuǎn),跳轉(zhuǎn)到 AndyViewPagerActivity 時(shí)進(jìn)行引導(dǎo)界面的設(shè)置。XML 布局文件用的RelativeLayout 布局,內(nèi)部套一個(gè) LinearLayout 布局和一個(gè) Button 按鈕。 主界面主界面是應(yīng)用程序的門面,主界面的設(shè)計(jì)直接影響用戶體驗(yàn)。任何設(shè)計(jì)必然都有主次功能之分,將主要功能放在主界面,次要功能放在其他界面,這是一個(gè)優(yōu)秀設(shè)計(jì)的必然之選。最后可以酌情添加濕度、風(fēng)向風(fēng)力等其他天氣信息。其中,activity_weather 主界面 UI 使用線性布局,為了能夠?qū)崿F(xiàn)下拉刷新,線性布局下一級(jí)嵌套 ,然后再一層一層的往下嵌套布局或是控件,最終構(gòu)建完成主界面。. . . . 參考圖 56 需要計(jì)算比例的控件如上圖所示,上面三排都是 5 個(gè)控件平均排列,而下面一排只有 4 個(gè)控件,且要上下排控件都能對(duì)其,顯然不能按照相同的方式進(jìn)行排列,此時(shí)就需要計(jì)算其在父布局中的權(quán)重比例,下面計(jì)算最后一排的四個(gè)控件所占權(quán)重:delta = parent_width4*parent_width=3*parent_width (51)其中,delta 表示多余部分。總結(jié)上述公式,相當(dāng)于將父布局寬度均分為 5 份,第一個(gè)控件占 2 份,后面三個(gè)控件各占一份。主要是用一個(gè) ListView 控件裝載獲取到的城市,可以進(jìn)行滾動(dòng)下滑查找城市。 數(shù)據(jù)獲取及解析 聚合數(shù)據(jù)平臺(tái)申請(qǐng)數(shù)據(jù)首先要解決天氣預(yù)報(bào)數(shù)據(jù)來源的問題,提供天氣預(yù)報(bào)服務(wù)的有很多網(wǎng)站,這些網(wǎng)站一般都會(huì)提供比較詳細(xì)的 API 接口供應(yīng)用程序調(diào)用,以聚合數(shù)據(jù)為例,其官網(wǎng)為:(1)點(diǎn)擊注冊(cè),進(jìn)入注冊(cè)界面(2)點(diǎn)擊左側(cè)菜單中我的數(shù)據(jù)(3)點(diǎn)擊申請(qǐng)新數(shù)據(jù),必須實(shí)名認(rèn)證(沒有實(shí)名認(rèn)證只能使用 2 個(gè)月)(4)進(jìn)入聚合數(shù)據(jù)首頁,選擇 API 選項(xiàng)卡,選擇免費(fèi)的天氣預(yù)報(bào) API(5)點(diǎn)擊進(jìn)入后,只要申請(qǐng)就送 500 次使用(6)復(fù)制其中的 AppKey,參照聚合數(shù)據(jù)的文檔進(jìn)行使用. . . . 參考進(jìn)行以上步驟,按照使用說明,即可進(jìn)行數(shù)據(jù)獲取。但是如何通過代碼在軟件中進(jìn)行數(shù)據(jù)獲取呢?這就需要用到網(wǎng)絡(luò)編程進(jìn)行網(wǎng)絡(luò)連接了。public interface HttpCallbackListener {void onFinish(String response)。}然后定義 HttpUtil 類,定義 get 訪問。圖 57 城市請(qǐng)求示例測(cè)試一下能否正常訪問天氣預(yù)報(bào)接口得到返回的數(shù)據(jù),由于涉及到訪問網(wǎng)絡(luò),需要在 文件中加入訪問網(wǎng)絡(luò)的權(quán)限。獲取到的數(shù)據(jù)是 JSON 格式。其語法比較簡(jiǎn)單:(1)數(shù)據(jù)在名稱/值對(duì)中(2)數(shù)據(jù)由逗號(hào)分開(3)花括號(hào)保存對(duì)象(4)方括號(hào)保存數(shù)組JSON 值分為以下幾種:(1)數(shù)字(整數(shù)或浮點(diǎn)數(shù))(2)字符串(在雙引號(hào)中)(3)邏輯值(true 或 false)(4)數(shù)組(在方括號(hào)中)(5)對(duì)象(在花括號(hào)中). . . . 參考(6)null需要對(duì)數(shù)據(jù)進(jìn)行解析。圖 58 JSON 數(shù)據(jù)在線解析 城市天氣三小時(shí)預(yù)報(bào)天氣預(yù)報(bào)軟件需要預(yù)報(bào)當(dāng)天每隔三小時(shí)的天氣數(shù)據(jù),上述方法獲得的是當(dāng)前天氣和未來三天天氣,并沒有當(dāng)天的三小時(shí)預(yù)報(bào),所以需要更換接口。. . . . 參考圖 510 獲取城市列表 城市空氣質(zhì)量從功能分析中獲悉,本設(shè)計(jì)需要獲取 的數(shù)據(jù),而該數(shù)據(jù)并不能通過天氣預(yù)報(bào)接口獲取,需要另外申請(qǐng)“空氣質(zhì)量”接口,此接口只有 100 次免費(fèi)使用機(jī)會(huì)。圖 511 獲取空氣質(zhì)量 下拉刷新談到下拉刷新就不得不說一下 Android 四大組件之一的 service。service 分為兩種:started(啟動(dòng)):當(dāng)應(yīng)用程序組件(如 activity)調(diào)用 startService()方法啟動(dòng)服務(wù)時(shí),服務(wù)處于 started 狀態(tài)。開發(fā)人員需要在應(yīng)用程序配置文件中聲明全部的 service,使用service/service標(biāo)簽。Service 組件需要繼承 Service 基類。. . . . 參考service 服務(wù),從最直白的視角來看,就是剝離了界面的 Activity,它們?cè)诤芏郃ndroid 的概念方面比較接近,都是封裝有一個(gè)完整的功能邏輯實(shí)現(xiàn),只不過 Service 不拋頭露臉,只是默默無聲的做堅(jiān)實(shí)的后盾,等待上層調(diào)用服務(wù),然后產(chǎn)生一段持久的通信處理?,F(xiàn)在 App 基本都有下拉刷新的功能,以前基本都使用 XListView 或者自己寫一個(gè)下拉刷新,后來 Google 開發(fā)了一個(gè)官方的下拉刷新控件 SwipeRefreshLayout。SwipeRefreshLayout 組件只接受一個(gè)子組件:即需要刷新的那個(gè)組件。該 Activity 負(fù)責(zé)處理事件刷新和刷新相應(yīng)的視圖。如果要展示一個(gè)“刷新動(dòng)畫” ,它必須調(diào)用 setRefrshing(true) ,否則取消動(dòng)畫就調(diào)用 setRefreshing(false) 。比如:播放多媒體,檢測(cè) SD 卡上的文件變化等等。本設(shè)計(jì)用 Service 在后臺(tái)獲取服務(wù)器數(shù)據(jù),并且與主界面交互,更新主界面。. . . . 參考圖 513 Service 主要方法 存在問題及解決方案系統(tǒng)開發(fā)過程中遇到了不少問題,其中有些問題困擾自己許久,有些問題查閱網(wǎng)絡(luò)資料即可輕松解決?,F(xiàn)對(duì)設(shè)計(jì)過程存在的問題及解決作如下總結(jié): 數(shù)據(jù)無法解析天氣預(yù)報(bào)最重要的是什么?毫無疑問,當(dāng)然是天氣數(shù)據(jù)信息最為重要。對(duì)項(xiàng)目進(jìn)行 debug 調(diào)試,顯示系統(tǒng)異常。加入斷點(diǎn) debug 后,提示系統(tǒng)異常。最后求助于聚合數(shù)據(jù)平臺(tái)客服,該客服提示聚合數(shù)據(jù)的 SDK 已下架,再也無法正常使用其 SDK 集成的方法。. . . . 參考 JSON 解析報(bào)錯(cuò)因?yàn)樯厦娴膯栴}無法調(diào)用 SDK 的方法,于是決定編寫網(wǎng)絡(luò)數(shù)據(jù)訪問工具類,通過網(wǎng)絡(luò)編程的方法獲取數(shù)據(jù)。數(shù)據(jù)中的引號(hào)會(huì)被誤認(rèn)為有其他含義。 區(qū)域的數(shù)據(jù)解析無從下手最初以為 的相關(guān)數(shù)據(jù)在天氣預(yù)報(bào)接口中,仔細(xì)查看該接口的所提供的數(shù)據(jù),發(fā)現(xiàn)并無 PM 指數(shù),于是在 API 平臺(tái)查找相關(guān)接口,找到空氣質(zhì)量 API 能夠提供 PM 數(shù)據(jù)。檢查發(fā)現(xiàn)可以正確解析數(shù)據(jù),但是只有第一個(gè)數(shù)據(jù)能夠顯示。將 setHoursView 方法放到代碼域外邊即可。經(jīng)查閱資料,將顯示白天的圖片按序以“d”為開頭命名,將顯示晚上的圖片按序以“n”為開頭命名,UI 設(shè)置圖片時(shí)對(duì)字符串進(jìn)行處理獲得相應(yīng)的圖片名。圖 518 錯(cuò)誤提示運(yùn)行在手機(jī)端時(shí),除了引導(dǎo)頁面以外,其他所有界面都一片空白,沒有任何數(shù)據(jù)。而本設(shè)計(jì)這種沒有花過錢的應(yīng)用,只怕是難以認(rèn)證成功。第六章 系統(tǒng)測(cè)試測(cè)試是對(duì)軟件產(chǎn)品質(zhì)量的檢驗(yàn)和評(píng)價(jià)。簡(jiǎn)單地說,就是替用戶使用,測(cè)試的最終目的是確保最終交給用戶的產(chǎn)品的功能符合用戶的需求,把盡可能多的問題在產(chǎn)品交給用戶之前發(fā)現(xiàn)并改正。同時(shí),在交給用戶使用之前檢查從聚合數(shù)據(jù)收集的天氣信息是否準(zhǔn)確,避免致命錯(cuò)誤。在解決完所有 節(jié)提到的問題以及調(diào)試過程的其他細(xì)小問題后,最終的測(cè)試結(jié)果如圖所示:圖 61 安裝及加載界面. . . . 參考圖 62 首次使用時(shí)的引導(dǎo)頁面圖 63 主要功能圖. . . . 參考第七章 結(jié)論天氣預(yù)報(bào)是根據(jù)氣象觀探測(cè)資料,應(yīng)用天氣學(xué)、動(dòng)力學(xué)、統(tǒng)計(jì)學(xué)的原理和方法,對(duì)某區(qū)域或某地點(diǎn)未來一定時(shí)段的天氣狀況作出定性或定量的預(yù)測(cè)。天氣預(yù)報(bào)的歷史可以從最早的看云識(shí)天氣和根據(jù)物像來推測(cè)天氣開始,以后經(jīng)歷了單站預(yù)報(bào),天氣圖預(yù)報(bào),到目前的應(yīng)用氣象衛(wèi)星、天氣雷達(dá)等先進(jìn)的探測(cè)資料和用計(jì)算機(jī)進(jìn)行天氣預(yù)報(bào)的階段。天氣預(yù)報(bào)的種類按預(yù)報(bào)時(shí)效可大致分為:臨近預(yù)報(bào)(1~2 小時(shí))、甚短期預(yù)報(bào)(2~12小時(shí))、短期預(yù)報(bào)(12~48 小時(shí))、中期預(yù)報(bào)(3~10 天)、長(zhǎng)期預(yù)報(bào)(10 天以上)等;按服務(wù)對(duì)象可劃分為:日常天氣預(yù)報(bào)和專業(yè)天氣預(yù)報(bào)(如航空天氣預(yù)報(bào)等);按預(yù)報(bào)范圍可大致劃分為區(qū)域預(yù)報(bào)和站點(diǎn)預(yù)報(bào)等。目前制作天氣預(yù)報(bào)主要采用天氣學(xué)預(yù)報(bào)方法、統(tǒng)計(jì)學(xué)預(yù)報(bào)方法和動(dòng)力學(xué)預(yù)報(bào)方法,以及由這三種基本預(yù)報(bào)方法相互結(jié)合形成的天氣—統(tǒng)計(jì)預(yù)報(bào)方法、動(dòng)力統(tǒng)計(jì)預(yù)報(bào)方法和天氣—?jiǎng)恿︻A(yù)報(bào)方法等?;?Android 的天氣預(yù)報(bào)系統(tǒng)設(shè)計(jì)就是站在這些“巨人的肩膀”上,才能如此輕易的通過網(wǎng)絡(luò)獲取天氣數(shù)據(jù)。經(jīng)濟(jì)不息,氣象不止。我國(guó)作為一個(gè)農(nóng)業(yè)大國(guó),天氣對(duì)國(guó)民經(jīng)濟(jì)的影響是尤為重要的,關(guān)系到我國(guó)社會(huì)的穩(wěn)定和經(jīng)濟(jì)的發(fā)展,所以自古以來,我國(guó)勞動(dòng)人民通過自己的智慧在遵循自然規(guī)律的前提下,不斷地影響天氣變化,利用天氣,趨利避害,為人 類的幸福生活而努力。另一方面,在我看來,Android 平臺(tái)是非常具有發(fā)展前景的。由于其極大的開放性和兼容性,同時(shí)也深為手機(jī)廠商的喜愛。當(dāng)然,基于 Android 平臺(tái)的開發(fā)技術(shù)還需要進(jìn)一步完善,需要在日后的工作中不斷探索、研究,以建立實(shí)用的城市天氣實(shí)況預(yù)報(bào)系統(tǒng)。 總之,這次設(shè)計(jì)從軟件編寫、調(diào)試到確定,我傾注了大量的時(shí)間和心血。因?yàn)槲也粌H品味到了結(jié)果的喜悅,更明白了過程的彌
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1