【正文】
ntent Provider 的抽象接口將自己的數(shù)據(jù)暴露出去。 3)資源管理器(Resource Manager)提供非代碼資源的訪問(wèn),如本地字符串,圖形,和布局文件(layout files) 。 Linux 內(nèi)核也同時(shí)作為硬件和軟件棧之間的抽象層。下面是這三個(gè)變量的設(shè)置方式。我們要通過(guò)Eclipse 來(lái)開(kāi)發(fā) Android 應(yīng)用程序,那么我們需要下載 Android SDK(Software Development Kit)和在 Eclipse 安裝 ADT 插件,這個(gè)插件能讓 Eclipse 和 Android SDK 關(guān)聯(lián)起來(lái)。Eclipse 設(shè)計(jì)美妙之處,在于所有東西都是外掛,除了底層的核心以外。加載界面 . . . . 參考程序開(kāi)始運(yùn)行時(shí)顯示加載界面,此界面是應(yīng)用程序最先展現(xiàn)的窗口,應(yīng)盡量保持界面信息簡(jiǎn)潔。 引導(dǎo)界面對(duì)于有引導(dǎo)界面的 App,剛安裝或使用后將其數(shù)據(jù)清除(SettingApps...) ,啟動(dòng)后就會(huì)出現(xiàn)引導(dǎo)界面,目的是向用戶介紹本款應(yīng)用的使用方法或主要功能。后天 陰 2 2 176。我們知道,View 所要顯示的數(shù)據(jù)是來(lái)源于Modal,View 上產(chǎn)生的事件(比如 Touch 事件)需要通知 Controller。. . . . 參考圖 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 表示多余部分。獲取到的數(shù)據(jù)是 JSON 格式。. . . . 參考service 服務(wù),從最直白的視角來(lái)看,就是剝離了界面的 Activity,它們?cè)诤芏郃ndroid 的概念方面比較接近,都是封裝有一個(gè)完整的功能邏輯實(shí)現(xiàn),只不過(guò) Service 不拋頭露臉,只是默默無(wú)聲的做堅(jiān)實(shí)的后盾,等待上層調(diào)用服務(wù),然后產(chǎn)生一段持久的通信處理?,F(xiàn)對(duì)設(shè)計(jì)過(guò)程存在的問(wèn)題及解決作如下總結(jié): 數(shù)據(jù)無(wú)法解析天氣預(yù)報(bào)最重要的是什么?毫無(wú)疑問(wèn),當(dāng)然是天氣數(shù)據(jù)信息最為重要。將 setHoursView 方法放到代碼域外邊即可。天氣預(yù)報(bào)的歷史可以從最早的看云識(shí)天氣和根據(jù)物像來(lái)推測(cè)天氣開(kāi)始,以后經(jīng)歷了單站預(yù)報(bào),天氣圖預(yù)報(bào),到目前的應(yīng)用氣象衛(wèi)星、天氣雷達(dá)等先進(jìn)的探測(cè)資料和用計(jì)算機(jī)進(jìn)行天氣預(yù)報(bào)的階段。當(dāng)然,基于 Android 平臺(tái)的開(kāi)發(fā)技術(shù)還需要進(jìn)一步完善,需要在日后的工作中不斷探索、研究,以建立實(shí)用的城市天氣實(shí)況預(yù)報(bào)系統(tǒng)。另一方面,在我看來(lái),Android 平臺(tái)是非常具有發(fā)展前景的。同時(shí),在交給用戶使用之前檢查從聚合數(shù)據(jù)收集的天氣信息是否準(zhǔn)確,避免致命錯(cuò)誤。 區(qū)域的數(shù)據(jù)解析無(wú)從下手最初以為 的相關(guān)數(shù)據(jù)在天氣預(yù)報(bào)接口中,仔細(xì)查看該接口的所提供的數(shù)據(jù),發(fā)現(xiàn)并無(wú) PM 指數(shù),于是在 API 平臺(tái)查找相關(guān)接口,找到空氣質(zhì)量 API 能夠提供 PM 數(shù)據(jù)。本設(shè)計(jì)用 Service 在后臺(tái)獲取服務(wù)器數(shù)據(jù),并且與主界面交互,更新主界面。開(kāi)發(fā)人員需要在應(yīng)用程序配置文件中聲明全部的 service,使用service/service標(biāo)簽。}然后定義 HttpUtil 類,定義 get 訪問(wèn)。最后可以酌情添加濕度、風(fēng)向風(fēng)力等其他天氣信息。圖 52 MVC 示意圖MVC 約定,Model 不允許與 View 打交道。今天 陰 2 2 176。它是指對(duì)軟件的人機(jī)交互、操作邏輯、界面美觀的整體設(shè)計(jì)。. . . . 參考 第四章 系統(tǒng)分析 功能分析本設(shè)計(jì)旨在讓廣大手機(jī)用戶能夠在第一時(shí)間獲取最新的天氣預(yù)報(bào)信息,以便提前預(yù)防,方便出行。Eclipse 就像軟件開(kāi)發(fā)者的“打鐵鋪” ,它一開(kāi)始備有火爐、鐵鉆與鐵錘。Eclipse 不需要安裝,下載后把解壓包解壓后,剪切 eclipse 文件夾到你想安裝的地方,打開(kāi)時(shí)設(shè)置你的工作目錄即可。當(dāng)要求系統(tǒng)啟動(dòng)一個(gè)應(yīng)用程序時(shí),系統(tǒng)會(huì)先在當(dāng)前目錄下查找,如果沒(méi)有則在系統(tǒng)變量 Path 指定的路徑去查找。Dalvik 虛擬機(jī)執(zhí)行(.dex)的 Dalvik 可執(zhí)行文件,該格式文件針對(duì)小內(nèi)存使用做了優(yōu)化。(2)應(yīng)用程序框架應(yīng)用程序的架構(gòu)設(shè)計(jì)簡(jiǎn)化了組件的重用;任何一個(gè)應(yīng)用程序都可以發(fā)布它的功能塊并且任何其它的應(yīng)用程序都可以使用其所發(fā)布的功能塊(不過(guò)得遵循框架的安全性限制) 。(4)內(nèi)容提供器(Content provider)方式在 Android 的設(shè)計(jì)“哲學(xué)”里是鼓勵(lì)開(kāi)發(fā)者使用內(nèi)部類的,這樣不但使用方便,而且執(zhí)行效率也高。建議盡量減少布局嵌套,盡量減少創(chuàng)建 View 對(duì)象的數(shù)量。通知可以用很多種方式來(lái)吸引用戶的注意力,例如閃動(dòng)背燈、震動(dòng)、播放聲音等。對(duì)于開(kāi)發(fā)者而言,就需要派生一個(gè)Activity 的子類,然后實(shí)現(xiàn)上述事情。截止 2022 年,主流的手機(jī) OS 為:iOS,Android。本設(shè)計(jì)從聚合數(shù)據(jù)下載天氣預(yù)報(bào)的相關(guān) API,如:(1)根據(jù)城市名查詢天氣接口:(2)城市天氣三小時(shí)預(yù)報(bào)接口:(3)支持城市列表接口:(4)城市空氣質(zhì)量接口: 論文組織結(jié)構(gòu)本論文談?wù)摰氖腔?Android 的天氣預(yù)報(bào)系統(tǒng)設(shè)計(jì),全文圍繞天氣預(yù)報(bào) app 的設(shè)計(jì)過(guò)程進(jìn)行。在全球氣候變暖背景下,世界范圍的極端天氣氣候事件有增多趨勢(shì),異常天氣現(xiàn)象越來(lái)越頻繁,氣象災(zāi)害的破壞性越來(lái)越大,引起了國(guó)際社會(huì)的高度關(guān)注 [5]。s living standards, we also demand for quality of life also rose. Individuals, businesses and even the society urgent need for any time and anywhere to grasp the accurate weather forecast information.This paper introduces a design and implementation process of a weather forecasting system based on Android. The design uses C / S mode, the client through the HTTP connection to obtain the data of the aggregation data API. Querying weather information by manually selecting the city or automatically locating. Using the Android open source system technology, it can be through the pictures and text shows the day and the next few days of weather conditions. The design through the positioning of the city to obtain weather information, users can understand the realtime weather, the next three days weather, air quality and other data, to avoid loss of travel, with a certain ornamental and usability.The main functions of the software include loading interface module, city selection module, display weather module, detailed information module and data refresh module. Test results show that the software is easy to use, fully meet the people a prehensive understanding of weather information needs.Key words: meteorology, Inter, Android, weather forecast. . . . 參考目 錄第一章 緒論11122第二章 平臺(tái)及關(guān)鍵技術(shù)介紹3 Android 介紹3 Android 與其他平臺(tái)的比較4 Android 基礎(chǔ)知識(shí)4 四大組件4 六大布局5 五大存儲(chǔ)5 Android 基本架構(gòu)6第三章 開(kāi)發(fā)環(huán)境搭建9 開(kāi)發(fā)環(huán)境介紹9 開(kāi)發(fā)所需設(shè)備11 eclipse 軟件11 Android 手機(jī)/模擬器11第四章 系統(tǒng)分析12 功能分析. . . . 參考12 流程分析13 UI 界面分析14 引導(dǎo)頁(yè)面14 主界面14 城市選擇界面15第五章 詳細(xì)設(shè)計(jì)16 創(chuàng)建工程16 UI 實(shí)現(xiàn)17 引導(dǎo)界面17 主界面18 城市選擇界面19 數(shù)據(jù)獲取及解析19 聚合數(shù)據(jù)平臺(tái)申請(qǐng)數(shù)據(jù)19 根據(jù)城市名查詢天氣20 城市天氣三小時(shí)預(yù)報(bào)21 支持城市列表21 城市空氣質(zhì)量22 下拉刷新22 Service 初始化及實(shí)現(xiàn)23 存在問(wèn)題及解決方案24 數(shù)據(jù)無(wú)法解析24 JSON 解析報(bào)錯(cuò). . . . 參考25 區(qū)域的數(shù)據(jù)解析無(wú)從下手25 間隔三小時(shí)天氣區(qū)域數(shù)據(jù)顯示不全25 分段顯示圖片26 無(wú)法獲取數(shù)據(jù)26第六章 系統(tǒng)測(cè)試27第七章 結(jié)論29參考文獻(xiàn)31謝辭32. . . . 參考第一章 緒論當(dāng)今社會(huì),競(jìng)爭(zhēng)激烈,企業(yè)乃至國(guó)家之間,競(jìng)爭(zhēng)的是資源。軟件主要功能包括加載界面模塊、城市選擇模塊、顯示天氣模塊、詳細(xì)信息模塊和數(shù)據(jù)刷新模塊。同時(shí),把氣象災(zāi)害造成的損失降到最低,也可以提高公共服務(wù)質(zhì)量,更好的發(fā)揮氣象事業(yè)對(duì)經(jīng)濟(jì)社會(huì)發(fā)展的現(xiàn)實(shí)性作用,有巨大的實(shí)用價(jià)值 [3]。開(kāi)發(fā)者可以免費(fèi)使用聚合數(shù)據(jù) API 進(jìn)行移動(dòng) APP 的快速開(kāi)發(fā),免除數(shù)據(jù)收集、維護(hù)等環(huán)節(jié),大大降低開(kāi)發(fā)周期及成本。2022 年 09 月 24 日谷歌開(kāi)發(fā)的操作系統(tǒng) Android 在迎來(lái)了 5 歲生日,全世界采用這款系統(tǒng)的設(shè)備數(shù)量已經(jīng)達(dá)到 10 億臺(tái)。Android 開(kāi)發(fā)中,一旦和界面掛上了勾,都簡(jiǎn)化不了,想一想,獨(dú)立做一個(gè)應(yīng)用有多少時(shí)間淪落在了界面上,就能琢磨清楚了。(4)broadcast receiver1)你的應(yīng)用可以使用它對(duì)外部事件進(jìn)行過(guò)濾,只對(duì)感興趣的外部事件(如當(dāng)電話呼入時(shí),或者數(shù)據(jù)網(wǎng)絡(luò)可用時(shí))進(jìn)行接收并做出響應(yīng)。建議盡量采用 XML 文件聲明界面元素布局。(3)SQLite 數(shù)據(jù)庫(kù)方式SQLite 是 Android 所帶的一個(gè)標(biāo)準(zhǔn)的數(shù)據(jù)庫(kù),它支持 SQL 語(yǔ)句,它是一個(gè)輕量級(jí)的嵌入式數(shù)據(jù)庫(kù)。在 Application Framework 之下,由 C/C++的程序庫(kù)組成,通過(guò) JNI 完成從 JAVA 到 C 的調(diào)用。2)Android 運(yùn)行庫(kù)Android 包括了一個(gè)核心庫(kù),該核心庫(kù)提供了 Java 編程語(yǔ)言核心庫(kù)的大多數(shù)功能。我們可以打開(kāi) jdk 的安裝目錄下的 Bin 目錄,里面有許多后綴名為 exe 的可執(zhí)行程序,這些都是 JDK 包含的工具。注意變量值字符串前面有一個(gè).表示當(dāng)前目錄,設(shè)置CLASSPATH 的目的,在于告訴 Java 執(zhí)行環(huán)境,在哪些目錄下可以找到您所要執(zhí)行的 Java程序所需要的類或者包。最初主要用來(lái) Java 語(yǔ)言開(kāi)發(fā),但是目前亦有人通過(guò)插件使其作為 C++、Python、PHP 等其他語(yǔ)言的開(kāi)發(fā)工具。為了便于模擬和測(cè)試應(yīng)用程序,Android 模擬器允許你的應(yīng)用程序通過(guò) Android平臺(tái)服務(wù)調(diào)用其他程序、訪問(wèn)網(wǎng)絡(luò)、播放音頻和視頻、保存和傳輸數(shù)據(jù)、通知用戶、渲染圖像過(guò)渡和場(chǎng)景。 流程分析啟動(dòng)程序后顯示所選城市的天氣信息,通過(guò)圖片和文字顯示天氣狀況,主要有溫度、濕度、風(fēng)向和 PM 指數(shù)等。 1 8 176。從字面意思來(lái)理解, Modal , View , C