實(shí)踐報(bào)告:基于安卓天氣預(yù)報(bào)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
實(shí)踐報(bào)告:基于安卓天氣預(yù)報(bào)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁
實(shí)踐報(bào)告:基于安卓天氣預(yù)報(bào)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第3頁
實(shí)踐報(bào)告:基于安卓天氣預(yù)報(bào)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第4頁
實(shí)踐報(bào)告:基于安卓天氣預(yù)報(bào)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第一章緒論 21.1課題的背景 31.2研究意義 3第二章相關(guān)技術(shù)概述 32.1系統(tǒng)開發(fā)環(huán)境 32.2Android的介紹 42.3SQLite的介紹 42.4Java語言的介紹 5第三章系統(tǒng)需求分析 63.1經(jīng)濟(jì)可行性 63.2技術(shù)可行性 63.3操作可行性 6第四章系統(tǒng)概要設(shè)計(jì) 64.1系統(tǒng)設(shè)計(jì)目標(biāo) 64.2設(shè)計(jì)思路 74.3系統(tǒng)界面設(shè)計(jì) 7第五章系統(tǒng)實(shí)現(xiàn) 85.1系統(tǒng)總體模塊的實(shí)現(xiàn) 85.2注冊登錄模塊的實(shí)現(xiàn) 95.2城市定位的實(shí)現(xiàn) 125.3天氣顯示的實(shí)現(xiàn) 135.6密碼修改的實(shí)現(xiàn) 17第六章系統(tǒng)測試 186.1測試的定義 186.2測試的重要性及目的 186.3測試的環(huán)境 196.4測試的過程 19結(jié)論 22

第一章緒論1.1課題的背景天氣預(yù)報(bào)為人們了解天氣狀況和出行計(jì)劃帶來了便利。然而,大多數(shù)天氣預(yù)報(bào)軟件都是基于PC端的,所以查詢起來并不方便。目前,手機(jī)的功能不僅僅是打電話和發(fā)短信,還為我們的生活和生產(chǎn)提供便利。過去,很難通過移動互聯(lián)網(wǎng)獲取實(shí)時(shí)信息。例如,在過去,人們通過觀看或收聽電視節(jié)目接收天氣報(bào)告,但現(xiàn)在智能手機(jī)能夠更快、更方便地通過互聯(lián)網(wǎng)獲取天氣信息[1]。隨著智能手機(jī)的普及,天氣調(diào)查可以在手機(jī)上進(jìn)行。因此,在手機(jī)上實(shí)現(xiàn)天氣預(yù)報(bào)系統(tǒng)是一種現(xiàn)實(shí)需求。該系統(tǒng)是一款帶有天氣預(yù)報(bào)功能的手機(jī)應(yīng)用程序,旨在方便人們出行[2]。基于Android的天氣預(yù)報(bào)系統(tǒng)具有界面友好、功能強(qiáng)、實(shí)用性強(qiáng)、可擴(kuò)展性好、穩(wěn)定性強(qiáng)等優(yōu)點(diǎn)。它可以讓用戶實(shí)時(shí)了解當(dāng)?shù)氐奶鞖鉅顩r,方便出行和調(diào)節(jié)生產(chǎn)[3]。本文在簡要介紹開發(fā)工具的基礎(chǔ)上,首先確定了系統(tǒng)的需求,對系統(tǒng)進(jìn)行了分析和設(shè)計(jì),然后介紹了基本功能的實(shí)現(xiàn)。最后對系統(tǒng)進(jìn)行了總結(jié)和展望。1.2研究意義實(shí)時(shí)天氣預(yù)報(bào)為人們的生活和工作提供了極大的便利。智能電子產(chǎn)品的普及為實(shí)時(shí)天氣預(yù)報(bào)系統(tǒng)提供了更方便、更有效的平臺。目前,Android已經(jīng)成為一個(gè)重要的移動軟件系統(tǒng),基于Android平臺的應(yīng)用越來越多。基于Android平臺的移動天氣預(yù)報(bào)系統(tǒng)可以為大多數(shù)手機(jī)用戶帶來好處。設(shè)計(jì)開發(fā)了基于Android平臺的天氣預(yù)報(bào)軟件,可以實(shí)時(shí)查詢不同城市的天氣信息,更新落后信息。使用模式具有操作簡單、功能豐富、用戶界面友好等優(yōu)點(diǎn),可以提供有關(guān)天氣和生活親密度的詳細(xì)信息。第二章相關(guān)技術(shù)概述2.1系統(tǒng)開發(fā)環(huán)境本文旨在概述基于Android平臺的天氣預(yù)報(bào)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)過程中所使用的系統(tǒng)開發(fā)環(huán)境。該系統(tǒng)以Java作為主要設(shè)計(jì)語言,充分利用了Java的跨平臺特性和面向?qū)ο缶幊痰膬?yōu)勢。以下是對該系統(tǒng)開發(fā)環(huán)境的詳細(xì)介紹。首先,本系統(tǒng)選擇在Windows10操作系統(tǒng)平臺上進(jìn)行開發(fā)。Windows10作為當(dāng)前主流的操作系統(tǒng)之一,提供了穩(wěn)定的運(yùn)行環(huán)境和豐富的軟件資源支持,為系統(tǒng)的開發(fā)提供了堅(jiān)實(shí)的基礎(chǔ)。在開發(fā)工具方面,我們選擇了Android開發(fā)環(huán)境。Android作為一種開源的移動操作系統(tǒng),擁有龐大的用戶群體和廣泛的應(yīng)用場景。通過使用Android開發(fā)環(huán)境,我們可以輕松構(gòu)建出符合標(biāo)準(zhǔn)的應(yīng)用程序并提交到GooglePlay商店進(jìn)行審核和發(fā)布。在數(shù)據(jù)存儲方面,系統(tǒng)采用了輕量級的SQLite數(shù)據(jù)庫。SQLite是一種嵌入式數(shù)據(jù)庫,它具有體積小、速度快、可移植性強(qiáng)等特點(diǎn),非常適合在移動設(shè)備上使用。通過SQLite數(shù)據(jù)庫,我們可以方便地存儲和管理天氣數(shù)據(jù),為用戶提供更加流暢的使用體驗(yàn)。此外,為了確保系統(tǒng)的兼容性和穩(wěn)定性,我們選擇了Gradle7.0.2作為構(gòu)建工具。Gradle是一種基于ApacheAnt和ApacheMaven概念的項(xiàng)目自動化構(gòu)建工具,它使用一種基于Groovy的特定領(lǐng)域語言來聲明項(xiàng)目設(shè)置,而不是傳統(tǒng)的XML。通過使用Gradle,我們可以更加高效地管理項(xiàng)目依賴關(guān)系和構(gòu)建過程。最后,在jdk版本方面,我們選擇了1.8.0版本。jdk1.8.0作為Java開發(fā)工具包的一個(gè)重要版本,提供了豐富的API和強(qiáng)大的功能支持,為系統(tǒng)的開發(fā)提供了有力的保障。2.2Android的介紹Android是一種基于Linux的自由及開放源代碼的操作系統(tǒng),主要使用于移動設(shè)備,如智能手機(jī)和平板電腦,由Google

公司和開放手機(jī)聯(lián)盟領(lǐng)導(dǎo)及開發(fā)。隨后

Google以Apache開源許可證的授權(quán)方式,發(fā)布了Android的源代碼[6]。Android采用了軟件堆層的架構(gòu),低層以Linux內(nèi)核工作為基礎(chǔ),只提供基本功能,其他的應(yīng)用軟件則由各公司自行開發(fā)。Android系統(tǒng)有如下的幾大特性:(1)應(yīng)用程序框架,支持組件的重用與替換;(2)Dalvik虛擬機(jī),專門為移動設(shè)備做了優(yōu)化;(3)內(nèi)部集成瀏覽器,該瀏覽器基于開源的WebKit引擎;(4)優(yōu)化的圖形庫,包括2D和3D圖形庫;(5)SQLite,用作結(jié)構(gòu)化的數(shù)據(jù)存儲;(6)多媒體支持,包括常見的音頻、視頻和靜態(tài)印象文件格式:(7)豐富的開發(fā)環(huán)境,包括設(shè)備模擬器,調(diào)試工具,內(nèi)存及性能分析圖表和

Eclipse集成開發(fā)環(huán)境插件。2.3SQLite的介紹SQLite

是一款嵌入式的輕型數(shù)據(jù)庫,它只占用很少的資源,有時(shí)只需幾百K。它支持

Windows/Linux/Unix等操作系統(tǒng),它能跟Java、C#等程序設(shè)計(jì)語言相結(jié)合,還有ODBC接口[7]。它處理數(shù)據(jù)的速度比Mysql、PostgreSQL等數(shù)據(jù)庫都快。Android作為目前主流的移動操作系統(tǒng),完全符合SQLite占用資源少的優(yōu)勢,故在Android平臺上,集成了一個(gè)嵌入式關(guān)系型數(shù)據(jù)庫——SQLite[8]。本數(shù)據(jù)庫支持功能如下:(1)自動建表,支持屬性來自繼承類:可根據(jù)注解自動完成建表,并且對于繼承類中的注解字段也支持自動建表。(2)自動支持增刪改,增改支持對象化操作:增刪改是數(shù)據(jù)庫操作的最基本單元,不用重復(fù)寫這些增刪改的代碼,并且添加和更新支持類似于hibernate中的對象化操作。(3)查詢方式靈活:支持android框架提供的方式,也支持原生sql方式。(4)查詢結(jié)果對象化:對于查詢結(jié)果可自動包裝為實(shí)體對象,類似于hibernate框架。2.4Java語言的介紹Java語言是面向?qū)ο蟮某绦蛟O(shè)計(jì)語言。Java語言吸收了Smalltalk語言和C++語言的優(yōu)勢,并增加了其他特性,如支持并發(fā)程序設(shè)計(jì)、網(wǎng)絡(luò)通信和多媒體數(shù)據(jù)控制。所以Java語言有兩個(gè)特點(diǎn):強(qiáng)大易用。Java語言作為靜態(tài)目標(biāo)編程語言的代表,很好的實(shí)現(xiàn)了目標(biāo)理論,讓程序員以優(yōu)雅的思維方式進(jìn)行復(fù)雜的編程。Java具有簡單性、面向?qū)ο?、分布式、健壯性、安全性、平臺獨(dú)立與可移植性、多線程、動態(tài)性等特點(diǎn)。Java可以編寫桌面應(yīng)用程序、Web應(yīng)用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應(yīng)用程序等。

第三章系統(tǒng)需求分析3.1經(jīng)濟(jì)可行性發(fā)展目標(biāo)體系的經(jīng)濟(jì)需求相對較低。此外,它擁有成熟的安卓平臺和非常受歡迎的移動設(shè)備,因此其在軟件和硬件方面的努力有限。此外,目標(biāo)體系不太復(fù)雜,開發(fā)周期短,人力資源成本有限。最重要的一點(diǎn)是,通過系統(tǒng)開發(fā),我們可以更好地理解軟件開發(fā)的過程,為軟件開發(fā)打下良好的基礎(chǔ)??紤]到長期利益,該系統(tǒng)在經(jīng)濟(jì)上是可行的。3.2技術(shù)可行性該系統(tǒng)采用安卓技術(shù)開發(fā)。到目前為止,Android被認(rèn)為是一個(gè)成熟的平臺。越來越多的公司和技術(shù)人員將其用作開發(fā)平臺。Android開發(fā)平臺是谷歌與開放移動聯(lián)盟合作開發(fā)的一個(gè)自由開放的移動終端平臺。它由操作系統(tǒng)、中間件和應(yīng)用軟件組成。該平臺配備了完善的程序開發(fā)環(huán)境,包括模擬器、調(diào)試工具、程序執(zhí)行所消耗的內(nèi)存、性能評估等功能。由于這個(gè)系統(tǒng)的開發(fā)平臺比較完善,除了培訓(xùn)基地上有大量的安卓項(xiàng)目外,我在開發(fā)此類項(xiàng)目方面有更多的經(jīng)驗(yàn)。因此,該系統(tǒng)符合技術(shù)可行性。3.3操作可行性系統(tǒng)用戶只要有安卓手機(jī)就可以使用。操作系統(tǒng)是用戶熟悉的復(fù)選框或按鈕。所有操作都可以通過手機(jī)完成。用戶不需要培訓(xùn),只需要一個(gè)小小的提醒。因此,該系統(tǒng)符合實(shí)際操作的可行性。第四章系統(tǒng)概要設(shè)計(jì)4.1系統(tǒng)設(shè)計(jì)目標(biāo)隨著計(jì)算機(jī)應(yīng)用的普及和深入,隨時(shí)隨地了解今天和明天的天氣是一種趨勢。該項(xiàng)目的目標(biāo)是開發(fā)一個(gè)基于Android的天氣預(yù)報(bào)軟件系統(tǒng)。隨著現(xiàn)代城市的快速發(fā)展,電視天氣預(yù)報(bào)變得越來越現(xiàn)實(shí)。因此,有必要建立一個(gè)綜合氣象咨詢服務(wù)功能的綜合信息系統(tǒng),節(jié)省時(shí)間,還可以實(shí)現(xiàn)個(gè)性化服務(wù),減少不必要的等待和信息冗余。該系統(tǒng)的目的是建立一個(gè)基于Android平臺的天氣預(yù)報(bào)系統(tǒng),以滿足用戶獲取最新天氣信息的需求。用戶界面友好,操作簡單。操作的每一步都經(jīng)過精心設(shè)計(jì)。復(fù)雜的統(tǒng)計(jì)運(yùn)算隱藏在簡單的運(yùn)算中。系統(tǒng)的設(shè)計(jì)可以減少培訓(xùn)、執(zhí)行和維護(hù)的使用。合理先進(jìn)的網(wǎng)絡(luò)設(shè)計(jì)和軟硬件優(yōu)化保證了系統(tǒng)的可靠性和容錯(cuò)性。系統(tǒng)的目標(biāo)是滿足用戶的需求,其原則是方便用戶。天氣軟件的開發(fā)讓更多的人了解天氣,這樣每個(gè)人都可以輕松出行。在天氣條件下,該軟件可以根據(jù)天氣情況為用戶提供準(zhǔn)確的天氣信息。4.2設(shè)計(jì)思路為了讓智能手機(jī)更容易顯示天氣信息,基于Android平臺設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)天氣客戶端,包括JSON天氣文件的收集和分析,以及基于Android平臺的天氣信息顯示,全國城市氣象信息用戶查詢及未來氣象基礎(chǔ)信息[10]。開發(fā)一個(gè)適合安裝在Android系統(tǒng)上的天氣預(yù)報(bào)軟件,該軟件可以執(zhí)行定位,同時(shí)氣象信息通過在線數(shù)據(jù)接口直接通過JSON分析數(shù)據(jù),以獲取當(dāng)前所需的詳細(xì)氣象信息。本文重點(diǎn)研究了移動手機(jī)端的主要功能模塊和api的設(shè)計(jì)與實(shí)現(xiàn)。系統(tǒng)運(yùn)行時(shí),實(shí)時(shí)天氣界面將顯示城市列表和中國城市名稱。用戶可以選擇城市來查看城市、溫度和氣候。同時(shí),它可以簡單地描述未來幾天的天氣狀況,包括日期、降雨量、最高和最低溫度、體溫、濕度、風(fēng)力和能見度,天氣隨時(shí)間變化[11]。4.3系統(tǒng)界面設(shè)計(jì)1、創(chuàng)建工程在程序開發(fā)階段,首先確定“天氣預(yù)報(bào)系統(tǒng)”的工程名稱為“Weather”,然后根據(jù)程序模塊設(shè)計(jì)的內(nèi)容,建立Weather工程,工程文件結(jié)構(gòu)如下所示:圖4-1工程文件界面2、界面設(shè)計(jì)一些基本的Android

UI元素在Android程序設(shè)計(jì)中經(jīng)常會用到。通過使用View、ViewGroup和layout便可以為Activity創(chuàng)建一些不但具有功能性而且富有直觀力的UI[12]。通常是使用Android

SDK中提供的一一些控件,進(jìn)行布局?jǐn)U展和定制這些控件,并使用ViewGroup去組合Views,創(chuàng)建由相互作用的子控件組成的原子的、重復(fù)利用的UI元素。也可以創(chuàng)建自己的Views,來實(shí)現(xiàn)顯示數(shù)據(jù)和與用戶交互的新途徑;或者是使用一些繼承從ViewGroup繼承來的Layout管理器來編排Android

UI中的單個(gè)元素到屏幕上。圖4-2布局文件3、界面需求美觀的界面可以讓用戶輕松舒適地使用。如果它太復(fù)雜,用戶將不會有耐心去使用它。因此,界面設(shè)計(jì)必須滿足以下要求:

(1)界面不應(yīng)過于復(fù)雜,而是簡單和方便的,以便用戶能夠正確操作以及當(dāng)用戶做出錯(cuò)誤選擇時(shí),可以給出提示。(2)表面的結(jié)構(gòu)應(yīng)輕量化,并滿足用戶的需求。(3)在視覺上,它給用戶一種簡單實(shí)用的感覺。第五章系統(tǒng)實(shí)現(xiàn)5.1系統(tǒng)總體模塊的實(shí)現(xiàn)系統(tǒng)運(yùn)行完成后會顯示注冊登錄的按鈕,先點(diǎn)擊注冊按鈕,分別輸入用戶名,密碼,點(diǎn)擊確定按鈕顯示注冊成功完成注冊操作。輸入您剛剛注冊的用戶名和密碼,然后單擊“登錄”按鈕登錄系統(tǒng)。第一次使用系統(tǒng)時(shí)主界面會提示“還未選擇城市,請選擇城市!”,點(diǎn)擊確定按鈕后,會跳轉(zhuǎn)到城市選擇的界面,同時(shí)定位到當(dāng)前城市,也可以選擇查看其他城市,支持搜索操作。城市選擇好后,回到主界面,分為三個(gè)板塊。最上面顯示的是城市的當(dāng)前溫度,天氣情況,最高、最低溫度,體感溫度,濕度,風(fēng)力和可見度信息。中間板塊顯示的是當(dāng)前城市的二十四小時(shí)的天氣情況。最下面的板塊顯示的是城市的七天內(nèi)天氣的情況,包括最高溫度和最低溫度。在主界面的第一個(gè)板塊下面有一個(gè)更多按鈕,點(diǎn)擊后,系統(tǒng)可以根據(jù)具體情況顯示運(yùn)動指數(shù)、洗車指數(shù)、服裝指數(shù)、釣魚指數(shù)、紫外線指數(shù)、舒適指數(shù)、感冒指數(shù)、防曬指數(shù)、空氣質(zhì)量指數(shù)等信息。同時(shí)還會顯示當(dāng)前城市之前發(fā)生過的地震和臺風(fēng)信息。返回到主界面后,點(diǎn)擊左上角的人物按鈕,可以顯示當(dāng)前系統(tǒng)登錄的賬號,支持修改密碼,也可以退出登錄。圖5-1系統(tǒng)流程圖5.2注冊登錄模塊的實(shí)現(xiàn)在首頁面點(diǎn)擊注冊按鈕后輸入注冊用戶名和密碼,再點(diǎn)擊確定按鈕完成系統(tǒng)的注冊功能。注冊完成后,返回登錄界面,輸入用戶名和密碼,然后點(diǎn)擊登錄按鈕登錄系統(tǒng)。publicvoidonClick(Viewv){if(binding.registerPassword1.getText().toString().equals("")||binding.registerPassword2.getText().toString().equals("")||binding.registerUsername.getText().toString().equals("")){Toast.makeText(context,"用戶名和密碼不可為空",Toast.LENGTH_SHORT).show();}else{Stringusername=binding.registerUsername.getText().toString();Stringpassword1=binding.registerPassword1.getText().toString();Stringpassword2=binding.registerPassword2.getText().toString();if(MyApplication.dao.checkUserExist(username)){Toast.makeText(context,"用戶已存在",Toast.LENGTH_SHORT).show();}else{if(password1.equals(password2)){MyApplication.dao.insertUser(username,password1);Toast.makeText(MyApplication.context,"注冊成功",Toast.LENGTH_SHORT).show();finish();}else{Toast.makeText(context,"兩次輸入的密碼不一致",Toast.LENGTH_SHORT).show();}});}}圖5-2注冊界面圖5-3登錄界面5.2城市定位的實(shí)現(xiàn)在主界面點(diǎn)擊設(shè)置按鈕后,用戶可以選擇全國城市,也可以進(jìn)行搜索,并自動定位到當(dāng)前所在城市。publicvoidonLocationChanged(TencentLocationtencentLocation,inti,Strings){if(0==i){Stringcity=tencentLocation.getCity();binding.positionalCity.setText(city);binding.positionalCity.setOnClickListener(newView.OnClickListener(){@OverridepublicvoidonClick(Viewv){Intentintent=getIntent();intent.putExtra("city",city);setResult(Enum.RESULT_OK,intent);finish();}});}else{Toast.makeText(context,"定位失??!",Toast.LENGTH_SHORT).show();binding.positionalCity.setText("點(diǎn)擊重新定位");binding.positionalCity.setOnClickListener(newView.OnClickListener(){@OverridepublicvoidonClick(Viewv){binding.positionalCity.setText("定位中...");locationManager.requestSingleFreshLocation(null,SearchActivity.this,Looper.getMainLooper());}});}}圖5-4定位界面5.3天氣顯示的實(shí)現(xiàn)系統(tǒng)不僅可以查看當(dāng)天二十四小時(shí)的天氣情況,還可以查看七天內(nèi)的天氣情況。當(dāng)前選擇的按鈕出現(xiàn)在屏幕頂部,用于更新城市和天氣數(shù)據(jù)。用戶可以根據(jù)需要更新數(shù)據(jù)。binding.hourWeatherList.setLayoutManager(linearLayoutManager);binding.hourWeatherList.setAdapter(hourWeatherAdapter);if(weatherNow.getNow().getText().contains("雨")){binding.weatherImage.setImageResource(R.drawable.rain);binding.getRoot().setBackgroundResource(R.drawable.rain_background);MyApplication.background=R.drawable.rain_background;}elseif(weatherNow.getNow().getText().contains("雪")){binding.weatherImage.setImageResource(R.drawable.snow);binding.getRoot().setBackgroundResource(R.drawable.snow_background);MyApplication.background=R.drawable.snow_background;}elseif(weatherNow.getNow().getText().contains("云")||weatherNow.getNow().getText().contains("陰")){binding.weatherImage.setImageResource(R.drawable.cloud);binding.getRoot().setBackgroundResource(R.drawable.cloud_background);圖5-5二十四小時(shí)天氣界面圖5-6七天天氣預(yù)報(bào)界面5.4生活質(zhì)量功能實(shí)現(xiàn)它運(yùn)行在主界面上,使用Android平臺上的各種常用組件,包括Button、TextView、ImageView等等。點(diǎn)擊主界面上的多個(gè)按鈕后,您可以查看運(yùn)動指數(shù)、洗車指數(shù)、穿衣指數(shù)、臺風(fēng)和地震等信息。publicvoidrun(){Airair=NetworkUtils.getAir(location);WeatherWarningweatherWarning=NetworkUtils.getWeatherWarning(location);Feelingfeeling=NetworkUtils.getFeeling(location);List<EarthQuake>earthQuakeList=NetworkUtils.getQuake(cityName);List<Detail>warningDetails=WeatherWarning.changeToDetail(weatherWarning);DetailearthQuakeDetail;if(earthQuakeList.size()>0){EarthQuakeearthQuake=earthQuakeList.get(0);earthQuakeDetail=EarthQuake.earthQuakeToDetail(earthQuake);}else{List<String>l=newArrayList<>();l.add("暫無地震信息");earthQuakeDetail=newDetail(l,"地震預(yù)警","0",0,0);}//將各種指數(shù)轉(zhuǎn)化為統(tǒng)一的Detail類if(feeling.getCode().equals("200")){detailList.addAll(Feeling.changeToDetail(feeling));}if(air.getCode().equals("200")){detailList.add(Air.changeToDetail(air));}//判斷是否有臺風(fēng)預(yù)警,如果有就將預(yù)警添加至列表,如果沒有則添加一個(gè)臺風(fēng)預(yù)警為空的至列表if(warningDetails.size()!=0){detailList.addAll(warningDetails);}else{List<String>strings=newArrayList<>();strings.add("暫無預(yù)警");detailList.add(newDetail(strings,"臺風(fēng)預(yù)警","0",0,0));}圖5-7運(yùn)動和洗車指數(shù)圖5-8穿衣和釣魚指數(shù)圖5-9紫外線和舒適度指數(shù)圖5-10感冒和防曬指數(shù)圖5-11空氣質(zhì)量圖5-12臺風(fēng)和地震信息5.5溫度功能實(shí)現(xiàn)選擇好需要查看的城市之后,回到主界面,可以查看到當(dāng)前城市的最高溫度、最低溫度、體感溫度、濕度、風(fēng)力、能見度等信息。binding.temperature.setText(weatherNow.getNow().getTemp()+"℃");binding.city.setText(cityName);binding.bodyTemperature.setText("體感溫度:"+weatherNow.getNow().getFeelsLike()+"℃");binding.humidity.setText("濕度:"+weatherNow.getNow().getHumidity()+"%");binding.highTemperature.setText("最高溫度:"+sevenWeather.getDaily().get(0).getTempMax()+"℃");binding.lowTemperature.setText("最低溫度:"+sevenWeather.getDaily().get(0).getTempMin()+"℃");//根據(jù)是否日落獲取白天風(fēng)向或夜晚風(fēng)向if(date.getTime()<sunsetDate.getTime()){binding.wind.setText(sevenWeather.getDaily().get(0).getWindDirDay()+"/"+sevenWeather.getDaily().get(0).getWindScaleDay()+"級");}else{binding.wind.setText(sevenWeather.getDaily().get(0).getWindDirNight()+"/"+sevenWeather.getDaily().get(0).getWindScaleNight()+"級");}binding.visibility.setText("能見度:"+sevenWeather.getDaily().get(0).getVis()+"km");binding.weather.setText(weatherNow.getNow().getText());DailyAdapterdailyAdapter=newDailyAdapter(this,R.layout.seven_day_weather_item,MyApplication.dailyList);binding.dailyList.setAdapter(dailyAdapter);}圖5-13溫度、濕度、風(fēng)力、可見度5.6密碼修改的實(shí)現(xiàn)在主界面點(diǎn)擊左邊的小按鈕可以進(jìn)行修改密碼操作。publicvoidonClick(DialogInterfacedialog,intwhich){if(MyApplication.dao.modifyPassword(MyApplication.user,editText.getText().toString())){Toast.makeText(context,"修改成功",Toast.LENGTH_SHORT).show();}else{Toast.makeText(context,"修改失敗",Toast.LENGTH_SHORT).show();}}}).setNegativeButton("取消",newDialogInterface.OnClickListener(){@OverridepublicvoidonClick(DialogInterfacedialog,intwhich){}}).setTitle("修改密碼").show();}});圖5-14修改密碼界面第六章系統(tǒng)測試6.1測試的定義軟件測試是軟件開發(fā)過程的重要組成部分。其目的是檢查軟件產(chǎn)品,盡快發(fā)現(xiàn)軟件產(chǎn)品中的問題。軟件測試作為保證軟件質(zhì)量的重要手段,貫穿于軟件生命周期的各個(gè)階段,以保證軟件產(chǎn)品的質(zhì)量。6.2測試的重要性及目的軟件開發(fā)的基本要求是及時(shí)發(fā)布高質(zhì)量的軟件產(chǎn)品,軟件測試是保證軟件質(zhì)量的重要手段。軟件,無論你從什么技術(shù)或方法開始,軟件產(chǎn)品或多或少都會有錯(cuò)誤和問題。使用先進(jìn)的開發(fā)方法和改進(jìn)的開發(fā)過程可以減少導(dǎo)入錯(cuò)誤,但不能完全消除軟件中需要檢測的錯(cuò)誤。在軟件生命周期的每個(gè)階段和每個(gè)時(shí)刻都有軟件測試活動。軟件測試伴隨著軟件開發(fā),以確保每個(gè)階段的結(jié)果滿足規(guī)定的質(zhì)量要求和目標(biāo),以便盡快發(fā)現(xiàn)錯(cuò)誤并及時(shí)糾正。6.3測試的環(huán)境硬件環(huán)境:一臺PC機(jī)、一臺手機(jī)軟件環(huán)境:windows10系統(tǒng)6.4測試的過程軟件編寫完成后,對其進(jìn)行測試,準(zhǔn)備好一臺手機(jī),并打開開發(fā)者選項(xiàng)模式,和筆記本相連接,模擬器那邊會顯示手機(jī)型號,選擇它,點(diǎn)擊運(yùn)行按鈕。圖6-1模擬器和運(yùn)行界面點(diǎn)擊注冊按鈕后如果沒有輸入用戶名和密碼,點(diǎn)擊確定按鈕后會顯示用戶名和密碼不可為空。

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論