版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第一章緒論1.1課題的背景天氣預報為人們了解天氣狀況和出行計劃帶來了便利。然而,大多數(shù)天氣預報軟件都是基于PC端的,所以查詢起來并不方便。目前,手機的功能不僅僅是打電話和發(fā)短信,還為我們的生活和生產提供便利。過去,很難通過移動互聯(lián)網獲取實時信息。例如,在過去,人們通過觀看或收聽電視節(jié)目接收天氣報告,但現(xiàn)在智能手機能夠更快、更方便地通過互聯(lián)網獲取天氣信息[1]。隨著智能手機的普及,天氣調查可以在手機上進行。因此,在手機上實現(xiàn)天氣預報系統(tǒng)是一種現(xiàn)實需求。該系統(tǒng)是一款帶有天氣預報功能的手機應用程序,旨在方便人們出行[2]?;贏ndroid的天氣預報系統(tǒng)具有界面友好、功能強、實用性強、可擴展性好、穩(wěn)定性強等優(yōu)點。它可以讓用戶實時了解當?shù)氐奶鞖鉅顩r,方便出行和調節(jié)生產[3]。本文在簡要介紹開發(fā)工具的基礎上,首先確定了系統(tǒng)的需求,對系統(tǒng)進行了分析和設計,然后介紹了基本功能的實現(xiàn)。最后對系統(tǒng)進行了總結和展望。1.2研究意義實時天氣預報為人們的生活和工作提供了極大的便利。智能電子產品的普及為實時天氣預報系統(tǒng)提供了更方便、更有效的平臺。目前,Android已經成為一個重要的移動軟件系統(tǒng),基于Android平臺的應用越來越多?;贏ndroid平臺的移動天氣預報系統(tǒng)可以為大多數(shù)手機用戶帶來好處。設計開發(fā)了基于Android平臺的天氣預報軟件,可以實時查詢不同城市的天氣信息,更新落后信息。使用模式具有操作簡單、功能豐富、用戶界面友好等優(yōu)點,可以提供有關天氣和生活親密度的詳細信息。1.3研究方法本文主要研究基于Android的天氣預報系統(tǒng)的開發(fā)方法。為了減少網絡中數(shù)據傳輸?shù)呢撦d,軟件使用JSON格式交換數(shù)據,以實現(xiàn)網絡中的數(shù)據傳輸[4]。JSON是一種輕量級數(shù)據交換格式,易于讀寫、機器分析和生成。JSON可以將JavaScript對象表示的一組數(shù)據轉換為字符串,然后在網絡或程序之間輕松傳輸字符串,如果需要,還可以將其轉換為不同編程語言(如PHP和JSON)支持的數(shù)據格式??梢曰謴偷郊匣蚧緦ο蟆?.4研究現(xiàn)狀和發(fā)展趨勢在全球變暖的背景下,極端天氣和氣候事件在世界各地日益普遍,異常天氣現(xiàn)象和破壞性天氣災害日益嚴重,引起了人們的關注[5]。氣象科學技術的競爭日趨激烈,應對氣候變化和支持國際談判的基礎性作用日益增強。雖然我國氣象服務的生產能力尚未充分披露,但氣象服務市場的發(fā)展仍存在一些問題,但氣象服務發(fā)展經濟,提高人民生活質量,進一步發(fā)展氣象技術,擴大氣象服務規(guī)模,完善氣象服務體系,以適應市場經濟和氣象服務市場的發(fā)展,航空業(yè)將有更大的發(fā)展空間。在不久的將來,高德地圖將顯示15分鐘內一公里的天氣狀況,以及某條街道24小時前會有一股強勁的西北風。當你在暴風雨中開車時,高德地圖會提醒你前方道路被洪水淹沒,你的汽車可能被洪水淹沒。綜上所述,氣象部門依靠各種天氣預報軟件來呈現(xiàn)一片欣欣向榮景象。
第二章相關技術概述2.1系統(tǒng)開發(fā)環(huán)境(1)設計語言:Java(2)平臺系統(tǒng):Windows10(3)開發(fā)工具:Android(4)數(shù)據庫:SQLite(5)Gradle版本:7.0.2(6)jdk版本:1.8.02.2Android的介紹Android是一種基于Linux的自由及開放源代碼的操作系統(tǒng),主要使用于移動設備,如智能手機和平板電腦,由Google
公司和開放手機聯(lián)盟領導及開發(fā)。隨后
Google以Apache開源許可證的授權方式,發(fā)布了Android的源代碼[6]。Android采用了軟件堆層的架構,低層以Linux內核工作為基礎,只提供基本功能,其他的應用軟件則由各公司自行開發(fā)。Android系統(tǒng)有如下的幾大特性:(1)應用程序框架,支持組件的重用與替換;(2)Dalvik虛擬機,專門為移動設備做了優(yōu)化;(3)內部集成瀏覽器,該瀏覽器基于開源的WebKit引擎;(4)優(yōu)化的圖形庫,包括2D和3D圖形庫;(5)SQLite,用作結構化的數(shù)據存儲;(6)多媒體支持,包括常見的音頻、視頻和靜態(tài)印象文件格式:(7)豐富的開發(fā)環(huán)境,包括設備模擬器,調試工具,內存及性能分析圖表和
Eclipse集成開發(fā)環(huán)境插件。2.3SQLite的介紹SQLite
是一款嵌入式的輕型數(shù)據庫,它只占用很少的資源,有時只需幾百K。它支持
Windows/Linux/Unix等操作系統(tǒng),它能跟Java、C#等程序設計語言相結合,還有ODBC接口[7]。它處理數(shù)據的速度比Mysql、PostgreSQL等數(shù)據庫都快。Android作為目前主流的移動操作系統(tǒng),完全符合SQLite占用資源少的優(yōu)勢,故在Android平臺上,集成了一個嵌入式關系型數(shù)據庫——SQLite[8]。本數(shù)據庫支持功能如下:(1)自動建表,支持屬性來自繼承類:可根據注解自動完成建表,并且對于繼承類中的注解字段也支持自動建表。(2)自動支持增刪改,增改支持對象化操作:增刪改是數(shù)據庫操作的最基本單元,不用重復寫這些增刪改的代碼,并且添加和更新支持類似于hibernate中的對象化操作。(3)查詢方式靈活:支持android框架提供的方式,也支持原生sql方式。(4)查詢結果對象化:對于查詢結果可自動包裝為實體對象,類似于hibernate框架。2.4Java語言的介紹Java語言是面向對象的程序設計語言。Java語言吸收了Smalltalk語言和C++語言的優(yōu)勢,并增加了其他特性,如支持并發(fā)程序設計、網絡通信和多媒體數(shù)據控制。所以Java語言有兩個特點:強大易用。Java語言作為靜態(tài)目標編程語言的代表,很好的實現(xiàn)了目標理論,讓程序員以優(yōu)雅的思維方式進行復雜的編程。Java具有簡單性、面向對象、分布式、健壯性、安全性、平臺獨立與可移植性、多線程、動態(tài)性等特點。Java可以編寫桌面應用程序、Web應用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應用程序等。2.5JSON的介紹JSON是一種輕量級的數(shù)據交換語言,以文字為基礎,且易于讓人閱讀。盡管JSON是在Javascript的一個子集,但JSON是獨立于語言的文本格式,并且采用了類似于C語言家族的一些習慣[9]。它主要用于跟服務器進行交換數(shù)據。跟XML相類似,它獨立語言,在跨平臺數(shù)據傳輸上有很大的優(yōu)勢。JSON建構有兩種結構:(1)“名稱/值”對的集合。不同的語言中,它被理解為對象,記錄,結構,字典,哈希表,有鍵列表,或者關聯(lián)數(shù)組。(2)值的有序列表。在大部分語言中,它被理解為數(shù)組。JSON是JavaScript
原生格式,所以JavaScript
中處理JSON數(shù)據不需要任何特殊的
API
或工具包。在處理JSON格式的數(shù)據時,不需要遵守的預定義的約束。所以,在同樣的數(shù)據結構中,可以改變表示數(shù)據的方式,甚至可以以不同方式表示同一事物。
第三章系統(tǒng)需求分析3.1系統(tǒng)可行性分析可行性研究的目的是探索解決問題的必要性和可行性。可行性研究的目的是確定能否以最短的時間和最低的成本解決問題。為了避免盲目的軟件開發(fā),員工應該對具體的軟件項目進行可行性研究,評估產品在資金條件和技術約束下是否能夠解決現(xiàn)有問題,達到預期的效果和價值??尚行苑治鲶w系主要包括經濟可行性、技術可行性、操作可行性和法律可行性。(1)經濟可行性發(fā)展目標體系的經濟需求相對較低。此外,它擁有成熟的安卓平臺和非常受歡迎的移動設備,因此其在軟件和硬件方面的努力有限。此外,目標體系不太復雜,開發(fā)周期短,人力資源成本有限。最重要的一點是,通過系統(tǒng)開發(fā),我們可以更好地理解軟件開發(fā)的過程,為軟件開發(fā)打下良好的基礎??紤]到長期利益,該系統(tǒng)在經濟上是可行的。(2)技術可行性該系統(tǒng)采用安卓技術開發(fā)。到目前為止,Android被認為是一個成熟的平臺。越來越多的公司和技術人員將其用作開發(fā)平臺。Android開發(fā)平臺是谷歌與開放移動聯(lián)盟合作開發(fā)的一個自由開放的移動終端平臺。它由操作系統(tǒng)、中間件和應用軟件組成。該平臺配備了完善的程序開發(fā)環(huán)境,包括模擬器、調試工具、程序執(zhí)行所消耗的內存、性能評估等功能。由于這個系統(tǒng)的開發(fā)平臺比較完善,除了培訓基地上有大量的安卓項目外,我在開發(fā)此類項目方面有更多的經驗。因此,該系統(tǒng)符合技術可行性。(3)操作可行性系統(tǒng)用戶只要有安卓手機就可以使用。操作系統(tǒng)是用戶熟悉的復選框或按鈕。所有操作都可以通過手機完成。用戶不需要培訓,只需要一個小小的提醒。因此,該系統(tǒng)符合實際操作的可行性。(4)法律可行性由于該制度是根據相關法律法規(guī)實施的,因此不存在法律問題。該系統(tǒng)符合法律可行性??紤]到經濟、技術、運營和法律因素,我們可以開始開發(fā)天氣預報軟件。3.2軟件需求分析
隨著智能手機和移動互聯(lián)網的發(fā)展,人們可以每天一小時甚至實時獲取天氣預報。利用手機上的移動網絡隨時獲取天氣預報可以讓人們做好出行的準備。用戶可以在天氣界面直觀快速地查看本市的天氣情況,也可以根據實際情況搜索其他城市,顯示本市的天氣情況,包括日期、降水量、最高氣溫和最低氣溫四個氣象數(shù)據。你還可以查看全國各地的地震和臺風信息。系統(tǒng)的開發(fā)需要友好的界面。方便直觀。用戶可以一目了然地了解天氣的變化。該軟件界面美觀,系統(tǒng)運行穩(wěn)定,具有良好的使用價值。
本章利用模塊圖對基于Android的天氣預報系統(tǒng)的設計與開發(fā)進行了詳細的闡述與研究,包括四個模塊:賬號界面模塊,主界面模塊,生活指數(shù)及災害預警模塊和定位界面模塊。3.2.1功能需求分析1、注冊登錄模塊因為系統(tǒng)不能殘留用戶的任何的隱私信息,以免泄露。所以當用戶第一次使用系統(tǒng)時,下載APP后,需要先注冊,注冊成功后再進行登錄操作。后續(xù)每次登錄系統(tǒng)也需要進行登錄才可以使用。2、賬號界面模塊為了以免用戶忘記自己的密碼,所以在賬戶界面處設置了修改密碼的功能,允許用戶可以修改密碼,同時也顯示了系統(tǒng)當前使用的賬戶。圖3-1賬號界面模塊流程圖3、主界面模塊主界面共分為三個部分,最上面顯示城市的當前溫度,天氣情況,最高、最低溫度,體感溫度,濕度,風力和可見度信息。為了實現(xiàn)數(shù)據的準確性,在這個模塊里設置了刷新按鈕,用戶可以隨時點擊,可以自動更新城市的天氣信息。中間板塊顯示的是當前城市的二十四小時的天氣情況。最下面的板塊顯示的是城市的七天內天氣的情況。圖3-2主界面模塊流程圖4、生活指數(shù)及災害預警模塊為了用戶更好的使用系統(tǒng),可以提供建設性意見,軟件設置了生活指數(shù)及災害預警模塊,可以顯示系統(tǒng)的運動指數(shù)、洗車指數(shù)、穿衣指數(shù)、釣魚指數(shù)、紫外線指數(shù)、舒適度指數(shù)、感冒指數(shù)、防曬指數(shù)、空氣質量等信息,以及臺風和地震的歷史圖3-3生活指數(shù)及災害預警模塊流程圖5、定位界面模塊為了方便用戶操作,系統(tǒng)設置了定位功能,可以定位到當前所在城市,同時支持搜索查詢其余城市。3.2.2非功能需求分析為了保證軟件能夠長期、安全、穩(wěn)定、可靠、高效地在Android設備上運行,本系統(tǒng)應該滿足以下原則。準確性本軟件的核心技術是通過與互聯(lián)網上提供的接口進行交互,保證了信息的準確性。2、安全可靠性本軟件是基于手機設備使用的,不會殘留用戶的任何的隱私信息。3、可擴展性與可維護性系統(tǒng)設計盡可能模塊化、組件化。有一個較好的應用平臺——Android設備,能容易地安裝和卸載。4、易用性本軟件平易近人,不需要額外學習,每個界面都會有不同含義的圖標進行提示下一步操作,保證用戶使用時不會感到迷惑。
第四章系統(tǒng)概要設計4.1系統(tǒng)設計目標隨著計算機應用的普及和深入,隨時隨地了解今天和明天的天氣是一種趨勢。該項目的目標是開發(fā)一個基于Android的天氣預報軟件系統(tǒng)。隨著現(xiàn)代城市的快速發(fā)展,電視天氣預報變得越來越現(xiàn)實。因此,有必要建立一個綜合氣象咨詢服務功能的綜合信息系統(tǒng),節(jié)省時間,還可以實現(xiàn)個性化服務,減少不必要的等待和信息冗余。該系統(tǒng)的目的是建立一個基于Android平臺的天氣預報系統(tǒng),以滿足用戶獲取最新天氣信息的需求。用戶界面友好,操作簡單。操作的每一步都經過精心設計。復雜的統(tǒng)計運算隱藏在簡單的運算中。系統(tǒng)的設計可以減少培訓、執(zhí)行和維護的使用。合理先進的網絡設計和軟硬件優(yōu)化保證了系統(tǒng)的可靠性和容錯性。系統(tǒng)的目標是滿足用戶的需求,其原則是方便用戶。天氣軟件的開發(fā)讓更多的人了解天氣,這樣每個人都可以輕松出行。在天氣條件下,該軟件可以根據天氣情況為用戶提供準確的天氣信息。4.2設計思路為了讓智能手機更容易顯示天氣信息,基于Android平臺設計并實現(xiàn)了一個天氣客戶端,包括JSON天氣文件的收集和分析,以及基于Android平臺的天氣信息顯示,全國城市氣象信息用戶查詢及未來氣象基礎信息[10]。開發(fā)一個適合安裝在Android系統(tǒng)上的天氣預報軟件,該軟件可以執(zhí)行定位,同時氣象信息通過在線數(shù)據接口直接通過JSON分析數(shù)據,以獲取當前所需的詳細氣象信息。本文重點研究了移動手機端的主要功能模塊和api的設計與實現(xiàn)。系統(tǒng)運行時,實時天氣界面將顯示城市列表和中國城市名稱。用戶可以選擇城市來查看城市、溫度和氣候。同時,它可以簡單地描述未來幾天的天氣狀況,包括日期、降雨量、最高和最低溫度、體溫、濕度、風力和能見度,天氣隨時間變化[11]。4.3系統(tǒng)界面設計1、創(chuàng)建工程在程序開發(fā)階段,首先確定“天氣預報系統(tǒng)”的工程名稱為“Weather”,然后根據程序模塊設計的內容,建立Weather工程,工程文件結構如下所示:圖4-1工程文件界面2、界面設計一些基本的Android
UI元素在Android程序設計中經常會用到。通過使用View、ViewGroup和layout便可以為Activity創(chuàng)建一些不但具有功能性而且富有直觀力的UI[12]。通常是使用Android
SDK中提供的一一些控件,進行布局擴展和定制這些控件,并使用ViewGroup去組合Views,創(chuàng)建由相互作用的子控件組成的原子的、重復利用的UI元素。也可以創(chuàng)建自己的Views,來實現(xiàn)顯示數(shù)據和與用戶交互的新途徑;或者是使用一些繼承從ViewGroup繼承來的Layout管理器來編排Android
UI中的單個元素到屏幕上。圖4-2布局文件3、界面需求美觀的界面可以讓用戶輕松舒適地使用。如果它太復雜,用戶將不會有耐心去使用它。因此,界面設計必須滿足以下要求:
(1)界面不應過于復雜,而是簡單和方便的,以便用戶能夠正確操作以及當用戶做出錯誤選擇時,可以給出提示。(2)表面的結構應輕量化,并滿足用戶的需求。(3)在視覺上,它給用戶一種簡單實用的感覺。4.4系統(tǒng)總體結構描述本文結合國內外研究現(xiàn)狀和用戶需求,描述了整個系統(tǒng)的設計階段。本次項目通過利用現(xiàn)有的網絡開源API提供的服務快速獲取天氣信息并顯示到手機終端上,該app所需要實現(xiàn)的功能點:其次進行天氣預報客戶端設計,進行系統(tǒng)功能的整體規(guī)劃。(1)顯示當前城市當日二十四小時天氣情況,以及當日的最高溫度、最低溫度、體感溫度、濕度、風力、能見度等信息;(2)顯示當前城市未來七天天氣:(3)顯示感冒指數(shù)、防曬指數(shù)、空氣質量、臺風和地震等信息;(4)通過城市列表管理城市;(5)可以修改密碼。系統(tǒng)設計應盡可能模塊化,并基于組件。具有良好的應用平臺,易于安裝和卸載。同時,該軟件基于移動設備,不會留下用戶隱私信息。軟件的關鍵技術是與互聯(lián)網上可用的接口進行交互,以確保無需額外的軟件學習就可以訪問準確的信息。每個界面都有不同的含義,需要下一個動作的圖標,所以用戶在使用時不應該混淆它們。
第五章系統(tǒng)實現(xiàn)5.1系統(tǒng)總體模塊的實現(xiàn)系統(tǒng)運行完成后會顯示注冊登錄的按鈕,先點擊注冊按鈕,分別輸入用戶名,密碼,點擊確定按鈕顯示注冊成功完成注冊操作。輸入您剛剛注冊的用戶名和密碼,然后單擊“登錄”按鈕登錄系統(tǒng)。第一次使用系統(tǒng)時主界面會提示“還未選擇城市,請選擇城市!”,點擊確定按鈕后,會跳轉到城市選擇的界面,同時定位到當前城市,也可以選擇查看其他城市,支持搜索操作。城市選擇好后,回到主界面,分為三個板塊。最上面顯示的是城市的當前溫度,天氣情況,最高、最低溫度,體感溫度,濕度,風力和可見度信息。中間板塊顯示的是當前城市的二十四小時的天氣情況。最下面的板塊顯示的是城市的七天內天氣的情況,包括最高溫度和最低溫度。在主界面的第一個板塊下面有一個更多按鈕,點擊后,系統(tǒng)可以根據具體情況顯示運動指數(shù)、洗車指數(shù)、服裝指數(shù)、釣魚指數(shù)、紫外線指數(shù)、舒適指數(shù)、感冒指數(shù)、防曬指數(shù)、空氣質量指數(shù)等信息。同時還會顯示當前城市之前發(fā)生過的地震和臺風信息。返回到主界面后,點擊左上角的人物按鈕,可以顯示當前系統(tǒng)登錄的賬號,支持修改密碼,也可以退出登錄。圖5-1系統(tǒng)流程圖5.2注冊登錄模塊的實現(xiàn)在首頁面點擊注冊按鈕后輸入注冊用戶名和密碼,再點擊確定按鈕完成系統(tǒng)的注冊功能。注冊完成后,返回登錄界面,輸入用戶名和密碼,然后點擊登錄按鈕登錄系統(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城市定位的實現(xiàn)在主界面點擊設置按鈕后,用戶可以選擇全國城市,也可以進行搜索,并自動定位到當前所在城市。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("點擊重新定位");binding.positionalCity.setOnClickListener(newView.OnClickListener(){@OverridepublicvoidonClick(Viewv){binding.positionalCity.setText("定位中...");locationManager.requestSingleFreshLocation(null,SearchActivity.this,Looper.getMainLooper());}});}}圖5-4定位界面5.3天氣顯示的實現(xiàn)系統(tǒng)不僅可以查看當天二十四小時的天氣情況,還可以查看七天內的天氣情況。當前選擇的按鈕出現(xiàn)在屏幕頂部,用于更新城市和天氣數(shù)據。用戶可以根據需要更新數(shù)據。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二十四小時天氣界面圖5-6七天天氣預報界面5.4生活質量功能實現(xiàn)它運行在主界面上,使用Android平臺上的各種常用組件,包括Button、TextView、ImageView等等。點擊主界面上的多個按鈕后,您可以查看運動指數(shù)、洗車指數(shù)、穿衣指數(shù)、臺風和地震等信息。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,"地震預警","0",0,0);}//將各種指數(shù)轉化為統(tǒng)一的Detail類if(feeling.getCode().equals("200")){detailList.addAll(Feeling.changeToDetail(feeling));}if(air.getCode().equals("200")){detailList.add(Air.changeToDetail(air));}//判斷是否有臺風預警,如果有就將預警添加至列表,如果沒有則添加一個臺風預警為空的至列表if(warningDetails.size()!=0){detailList.addAll(warningDetails);}else{List<String>strings=newArrayList<>();strings.add("暫無預警");detailList.add(newDetail(strings,"臺風預警","0",0,0));}圖5-7運動和洗車指數(shù)圖5-8穿衣和釣魚指數(shù)圖5-9紫外線和舒適度指數(shù)圖5-10感冒和防曬指數(shù)圖5-11空氣質量圖5-12臺風和地震信息5.5溫度功能實現(xiàn)選擇好需要查看的城市之后,回到主界面,可以查看到當前城市的最高溫度、最低溫度、體感溫度、濕度、風力、能見度等信息。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()+"℃");//根據是否日落獲取白天風向或夜晚風向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溫度、濕度、風力、可見度5.6密碼修改的實現(xià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ā)過程的重要組成部分。其目的是檢查軟件產品,盡快發(fā)現(xiàn)軟件產品中的問題。軟件測試作為保證軟件質量的重要手段,貫穿于軟件生命周期的各個階段,以保證軟件產品的質量。6.2測試的重要性及目的軟件開發(fā)的基本要求是及時發(fā)布高質量的軟件產品,軟件測試是保證軟件質量的重要手段。軟件,無論你從什么技術或方法開始,軟件產品或多或少都會有錯誤和問題。使用先進的開發(fā)方法和改進的開發(fā)過程可以減少導入錯誤,但不能完全消除軟件中需要檢測的錯誤。在軟件生命周期的每個階段和每個時刻都有軟件測試活動。軟件測試伴隨著軟件開發(fā),以確保每個階段的結果滿足規(guī)定的質量要求和目標,以便盡快發(fā)現(xiàn)錯誤并及時糾正。6.3測試的環(huán)境硬件環(huán)境:一臺PC機、一臺手機軟件環(huán)境:windows10系統(tǒng)6.4測試的過程軟件編寫完成后,對其進行測試,準備好一臺手機,并打開開發(fā)者選項模式,和筆記本相連接,模擬器那邊會顯示手機型號,選擇它,點擊運行按鈕。圖
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小班消防安全教育教案20篇
- 2024至2030年中國推拉索芯數(shù)據監(jiān)測研究報告
- 2024至2030年中國低水泥石澆注料數(shù)據監(jiān)測研究報告
- 2024年中國米塊市場調查研究報告
- 2024年中國汽車內室材料市場調查研究報告
- 2024年中國塑膠顏料助劑市場調查研究報告
- 前臺文員在人際關系中的角色與定位計劃
- 沉香種植開采合作協(xié)議書范文
- 水資源綜合利用規(guī)劃計劃
- 健康行業(yè)品牌宣傳策略計劃
- 期貨基礎知識真題匯編5
- 兒科題庫單選題100道及答案解析
- 2024-2030年中國融合通信行業(yè)市場深度調研及發(fā)展趨勢與投資前景研究報告
- (新版)裝訂技能競賽理論知識考試題庫500題(含答案)
- 部編版道德與法治八年級上冊8.2堅持國家利益至上(2)教案
- 湘教版(2019)必修一 2.2《風成地貌》教案
- 19 古詩二首《敕勒歌》教學設計-2024-2025學年統(tǒng)編版語文二年級上冊
- 2024-2030年中國對苯二胺(PPD)行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報告
- 銷售助理招聘筆試題及解答(某大型集團公司)2025年
- 浙江金華市慈善總會招考聘用高頻500題難、易錯點模擬試題附帶答案詳解
- (完整)中醫(yī)癥候積分量表
評論
0/150
提交評論