【正文】
L file。 下載函數(shù) 如下 : 16 public static String getInfo(String url) { BufferedReader in = null。 遍歷全部數(shù)據(jù) 后 , 把結(jié) 果保存起來 。 這個(gè)程序通過遍歷來得到所有的城市信息 。 獲取城市及其城市碼的地址是 ,后面加上 得到省份編號(hào),然后跟上省份編號(hào)得到地區(qū)編號(hào),再用省份編號(hào) +地區(qū)編號(hào)就可以得到這個(gè) 地區(qū)中所有城市的編號(hào),最后把省份編號(hào) +地區(qū)編號(hào) +城市編號(hào)得到的就是城市對(duì)應(yīng)的 城市碼 , 通過 鏈接 .html 就可以獲取 這個(gè)城市的所有 天氣數(shù)據(jù)。 城市碼獲取 軟件中用到的天氣數(shù)據(jù)來自于中國氣象局 ,這個(gè)數(shù)據(jù)源是免費(fèi)的, 它 提供了全國2564 個(gè)縣級(jí)以上城市的天氣信息 ,每一個(gè)城市對(duì)應(yīng)一個(gè)城市碼 。 在布局當(dāng)中添加的是控件, 下面是對(duì) 一些 常用 控件的簡(jiǎn)單介紹: TextView: 文本顯示域,顯示的信息內(nèi)容為字符串形式; ImageView: 圖片顯示域,顯示的內(nèi)容為圖片; Button: 按鈕,可以設(shè)置響應(yīng)的監(jiān)聽器,執(zhí)行某種操作; EditText: 輸入文本框,為用戶提供輸入數(shù)據(jù)的接口; 控件中的屬性 有 很多,大體上是類似的,也有個(gè)別 屬性 是特有的,這里不再詳細(xì)介紹, 在用到的時(shí)候可以查閱相關(guān)文檔。 布局及 控件 介紹 Android 系統(tǒng)中 界面布局 方式有很多種, 有線性布局、相對(duì)布局、表格布局等, 15 布局文件以 xml 文件的形式存放在系統(tǒng)的資源文件夾中, 這里只詳細(xì)介紹程序中 大量用到的線性布局。 這里需要指出的是 ,在 SQLite 數(shù)據(jù)庫的每張表中必須有一個(gè)字段是類似于 _id 的整型值, 設(shè)置 為主鍵 ,可自動(dòng)插入,也可手動(dòng)添加。接下來就可以進(jìn)行需要的操作了,不同的是, SQLite 的命令在前面都需要加上一個(gè)點(diǎn),比如查看數(shù)據(jù)庫中的表: . schema,查看表中所有數(shù)據(jù): . select * from table。 SQLite SQLite 數(shù)據(jù)庫是 Android 平臺(tái)內(nèi)嵌的數(shù)據(jù)庫 , 它 是一個(gè)輕型的關(guān)系型數(shù)據(jù),提供完整的對(duì)關(guān)系型數(shù)據(jù)庫的操作 ,對(duì) SQLite 的操作和其他關(guān)系型數(shù)據(jù)庫類似,這里簡(jiǎn)要介紹一下 。 Service 是一種程序,它可以運(yùn)行很長(zhǎng)時(shí)間,但是它卻沒有用戶界面。 Service Service也是 Android系統(tǒng)中一種很重要的組件,它跟 Activity的級(jí)別差不多,但是它不能自己運(yùn)行,只能后臺(tái)運(yùn)行,并且可以和其他組件進(jìn)行交互。 Intent 主要是用來啟動(dòng)其他 Activity 或者 Service,所以可以將 Intent 理解成 14 Activity 之間的粘合劑。 Intent 負(fù)責(zé)對(duì)應(yīng)用中一次操作的動(dòng)作、動(dòng)作涉及到的數(shù)據(jù)、附加數(shù)據(jù)進(jìn)行描述, Android 則根據(jù)此 Intent 的描述,負(fù)責(zé)找到對(duì)應(yīng)的組件,將 Intent 傳遞給調(diào)用的組件,并完成組件的調(diào)用。這里的布局類似于 HTML 中 CSS + DIV 的設(shè)計(jì)模式,通過設(shè)置控件的屬性改變控件的位置和顯示效果,容易實(shí)現(xiàn)和調(diào)試。 每一個(gè) Activity 代表著一個(gè)界面,它有自己的生命周期,即它的一個(gè)產(chǎn)生、運(yùn)行、銷毀的一個(gè)周期,對(duì)于 Activity,關(guān)鍵是其生命周期的把握,其次就是狀態(tài)的保護(hù)和恢復(fù)。 這個(gè)文件是系統(tǒng)自動(dòng)生成的,最好不要隨意修改。 首先來介紹一下 Android 程序的系統(tǒng)目錄 : src 目錄是 java 文件的存放目錄 ; res 目錄是資源文件存放的目錄 ,其中,drawable 文件夾中存放圖片, layout 文件夾中 存放的 是布局文件, values 文件夾 存放的 是字符串 文件 ,程序中顯示的字符串信息都在這里設(shè)置 。 10 數(shù)據(jù)庫 設(shè)計(jì) 經(jīng)過分析,可以知道程序中至少 需要設(shè)置兩張表 cities 和 city, 表 cities 用于存放全國所有城市名稱和獲取天氣數(shù)據(jù)所對(duì)應(yīng)的 城市碼 , 所以應(yīng)該有兩個(gè)字段存儲(chǔ)它們, 表 city 用于存放默認(rèn)城市的代碼 ,所以只有一個(gè)字段 。 下面,將對(duì)各個(gè)部分進(jìn)行介紹 。 本項(xiàng)目所選擇的各軟件版本分別為: 、 、androidsdk_r16windows、 eclipsejavaindigowin32。 重啟后選擇 Window ? Preferences ,在 Android 選項(xiàng)的 SDK Location 框中選擇下載得到的 SDK 目錄,然后點(diǎn)擊 Apply ? OK 。同樣是在上述官方網(wǎng)站頁面,下載最新的 ADT,存放在指定位置,稍后使用; 4. Eclipse:建議選擇 以上版本,官方網(wǎng)址為 ,解壓縮后運(yùn)行。 平臺(tái)搭建過程 根據(jù)官方的指導(dǎo),對(duì) Android 平臺(tái)的搭建過程簡(jiǎn)要介紹如下: 1. Java SDK:下載 并安裝,官方網(wǎng)址為l 在系統(tǒng)設(shè)置環(huán)境變量 JAVA_HOME、 CLASS_PATH、 PATH 的值; 2. Android SDK:在官方網(wǎng)站上下載最新的 SDK 進(jìn)行安裝,網(wǎng)址為 SDK Manager 進(jìn)行安裝,選擇需要的 Android 版本,然后更新,此次更新需要的時(shí)間較長(zhǎng),建議在晚上進(jìn)行。最后,在 Eclipse 中集成環(huán)境中添加 ADT( Android 6 Development Tools), Android 開發(fā)工具,方便開發(fā) Android 應(yīng)用程序。 由于 Android 平臺(tái)上應(yīng)用程序的開發(fā)主要使用 Java 語言,根據(jù)官方推薦,使用主流的開發(fā)工具 Eclipse進(jìn)行開發(fā),在進(jìn)行編程前還需要安裝 Java的開發(fā)工具包 JDK。為此, Google 重寫了 Java虛擬機(jī),將其命名為 Dalvik,以適用于 Android 平臺(tái)應(yīng)用程序的開發(fā)。 用戶選擇城市查看未來天氣查看實(shí)時(shí)天氣設(shè)置默認(rèn) 5 3 Android 開發(fā)環(huán)境及平臺(tái)搭建 開發(fā)環(huán)境介紹 圖 : Android系統(tǒng)框架 Android 平臺(tái)是以 Linux 為內(nèi)核的操作系統(tǒng),內(nèi)核之外,則是中介層、數(shù)據(jù)庫元和用 C\C++編寫的 API 以及應(yīng)用程序框架。 用例描述如 圖 : 圖 :系統(tǒng)用例圖 設(shè)計(jì)目標(biāo) 在集成的 Eclipse開發(fā)環(huán)境中,依托中國氣象局的 氣象 數(shù)據(jù),開發(fā)出基于 Android平臺(tái)的天氣軟件。 需求分析 功能 分析 Android 天氣軟件的功能主要為,獲取天氣數(shù)據(jù)并以友好的方式顯示給用戶 , 而且可以使用戶可以根據(jù)自己的需要選擇城市,查看未來天氣等, 因此,涉及到的功能模塊主要有以下幾個(gè): 1. 實(shí)時(shí)天氣 :當(dāng)天的詳細(xì)天氣 信息,主要有時(shí)間、溫度、 天氣描述、風(fēng)速 、 溫馨提示等; 2. 未來 天氣:簡(jiǎn)要列出未來幾天內(nèi)的天氣信息,并且一目了然,使用戶及時(shí)了解天氣變化情況; 3. 搜索城市:用戶可以根據(jù)需要搜索全國縣級(jí)以上所有城市,然后查看這個(gè)城市的天氣情況 ; 4. 設(shè)置默認(rèn):用戶可以設(shè)置默認(rèn)顯示的城市信息; 4 以上四個(gè)功能是系統(tǒng) 需 要實(shí)現(xiàn)的 基本功能 。 目前,正處于畢業(yè)設(shè)計(jì)階段,時(shí)間和精力都比較充裕 ,電腦、網(wǎng)線等設(shè)備運(yùn)行良好 。 現(xiàn)在世界上有一大半的智能終端 在運(yùn)行 Android 操作 系統(tǒng), 而且正在被更多 的用戶們所接受, 他們 有著快速的學(xué)習(xí)能力,緊跟科技的進(jìn)步,而且 Android 平臺(tái)易于操作 ,對(duì)于用戶來說是很容易上手的 。 3 2 系統(tǒng)分析 可行性 研究 Android 平臺(tái)是基于 Linux 內(nèi)核的操作系統(tǒng), 在該平臺(tái)上的 應(yīng)用程序 已經(jīng) 很多,開發(fā)流程已經(jīng)很成熟。 當(dāng)然, Android 平臺(tái)現(xiàn)在還存在著一些問題,主要是秩序混亂,各家廠商開發(fā)不一致等問題, 這些問題已經(jīng)引起重視。 Google 表示,每天通過 Google 服務(wù)器激活的 Android 設(shè)備達(dá)到了 55 萬臺(tái),并以每周 %的速度增長(zhǎng)。 Android 系統(tǒng)的開源性使其具有良好的拓展性,它不僅為開發(fā)者們提供了友好的開發(fā)平臺(tái),而且手機(jī)廠商可以依據(jù)自身的特殊需求開發(fā)出獨(dú)有的功能。 2 未來發(fā)展趨勢(shì) 根據(jù)市場(chǎng)調(diào)研公司 Gartner 的數(shù)據(jù)顯示,截止到 2021 年第三季度, Android 操作系統(tǒng)在全球智能手 機(jī)操作系統(tǒng)中的份額已經(jīng)過半,達(dá)到了 %,全球有一半的手機(jī)在使用 Android 操作系統(tǒng)。天氣的預(yù)測(cè)不僅可以為人們的日常生活提供更為合理的依據(jù),而且能夠起到預(yù)警的作用,將嚴(yán)重的自然災(zāi)害提前告知,以便提前預(yù)防,及時(shí)做出相應(yīng)的安排,將災(zāi)害的損失降到最低。 實(shí)現(xiàn)效果為 使用戶在 聯(lián)網(wǎng)狀態(tài)下 查詢目標(biāo) 地點(diǎn) 實(shí)時(shí) 天氣狀況 以及未來 幾天內(nèi)的 天氣狀況 。 研究?jī)?nèi)容 本課題研究了 基于 Android 平臺(tái)的天氣軟件開發(fā) 。移動(dòng)智能 終端將深入到我們生活的各個(gè)方面,隨之而來的就是巨大信息量的傳遞, 人們今后的生活能夠通過手中的移動(dòng)終端來與世界發(fā)生各種聯(lián)系 ,表現(xiàn)為具體的就是所提供的應(yīng)用服務(wù) 。s lives more and more closely, it is more strong demand for access to information, in particular, is closely related to meteorological information and life. Android as the most popular intelligent terminal platform, naturally, there is a similar demand for services. The study of this topic is the weather software, based on the Android platform developed to enable users to keep abreast of realtime weather conditions and future changes in the weather application. This article describes the weather software development process based on the Android platform, the main contents include the use of Android ponents, Java work programming and IO operation, the SQLite database technology, the JSON data parsing, bined with weather data of the Chinese Academy of Meteorological information to achieve a users in a worked state, you can query realtime weather conditions of the target sites, and the next few days, the function of changes in the weather. With this development, not only to achieve the desired effect, but also on the Android platform application development process with a certain amount of understanding and mastering. KEY WORDS weather software, Android, application, Java iii 目 錄 中文摘要 .............................................................................................................................. i 英文摘要 ..............................................................................................................................ii 目 錄 ............................................................................................................................. iii 1 緒論 ................................................................................................................................. 1 研究背景 ..................................................................................................