版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 本科畢業(yè)論文</b></p><p> 論文題目Android平臺(tái)天氣預(yù)報(bào)軟件設(shè)計(jì)與實(shí)現(xiàn) </p><p> 專 業(yè) 電子信息工程 </p><p> 班 級(jí) 11級(jí)電子信息工程(移動(dòng)信息管理) </p><p>&l
2、t;b> 2015年 4 月</b></p><p> 摘要 隨著科技的發(fā)展,移動(dòng)智能終端逐漸走進(jìn)人們的視線,相關(guān)應(yīng)用越來越廣泛,并在人們的日常生活中扮演著越來越重要的角色。因此,關(guān)鍵應(yīng)用程序的開發(fā)成為影響移動(dòng)智能終端普及的重要因素,設(shè)計(jì)并開發(fā)實(shí)用,方便的應(yīng)用程序具有重要的意義和良好的市場前景。Android作為當(dāng)前最流行的操作平臺(tái),自然也存在著大量的應(yīng)用服務(wù)需求。本課題研究的是基于And
3、roid平臺(tái)下的天氣預(yù)報(bào)軟件,目的是幫助用戶隨時(shí)隨地查詢天氣信息以及天氣變化情況,讓生活更加舒適方便。</p><p> 本文就在分析討論Android手機(jī)軟件開發(fā)技術(shù)原理的基礎(chǔ)上,開發(fā)出能為用戶提供更好的基于Android平臺(tái)的天氣預(yù)報(bào)軟件。</p><p> 關(guān)鍵詞 android;氣象軟件;智能手機(jī)平臺(tái)</p><p> ABSTRACT With
4、the development of science and technology the mobile terminal gradually into the people’s attention related to more widely and play an increasingly important role in people’s lives. Therefore the development of critical
5、applications has become an important factor in the popularity of the mobile terminal.The design and development of practical convenient application is of great significance and good market prospects. Android as the most
6、popular operating platform naturally there ar</p><p> In this paper, the analysis and discussion Android mobile phone software development technology on the basis of the principle, developed to provide user
7、s with better platform to the 3G handsets based on Android meteorological software.</p><p> KEY WORDS android;weather software;smart phone platform</p><p><b> 目 錄</b></p>
8、<p><b> 1前言1</b></p><p> 1.1研究背景1</p><p> 1.2論文結(jié)構(gòu)安排2</p><p> 2相關(guān)理論研究3</p><p> 2.1Android開發(fā)平臺(tái)介紹3</p><p> 2.2 Android簡介3<
9、;/p><p> 2.2.1 Android的特點(diǎn)5</p><p> 2.2.2 Android架構(gòu)6</p><p> 2.2.3 Android布局管理器7</p><p> 2.2.4 Android基本組件介紹8</p><p> 2.3 Android數(shù)據(jù)庫介紹9</p>&l
10、t;p> 3系統(tǒng)需求分析和總體設(shè)計(jì)12</p><p> 3.1研究目標(biāo)12</p><p> 3.2需求分析12</p><p> 3.4程序模塊設(shè)計(jì)13</p><p> 3.5數(shù)據(jù)庫設(shè)計(jì)14</p><p><b> 4系統(tǒng)實(shí)現(xiàn)18</b></
11、p><p> 4.1Android開發(fā)平臺(tái)搭建18</p><p> 4.2用戶界面設(shè)計(jì)18</p><p> 4.3用戶界面實(shí)現(xiàn)20</p><p> 4.3.1主界面21</p><p> 4.3.2實(shí)時(shí)天氣界面22</p><p><b> 5總結(jié)24
12、</b></p><p><b> 參考文獻(xiàn)25</b></p><p><b> 致謝26</b></p><p><b> 前 言</b></p><p><b> 研究背景</b></p><p>
13、近期,Gartner發(fā)布最新預(yù)測,在2015年將有60%的設(shè)備都安裝Android操作系統(tǒng)。而在2014年,全球有超過二十億的設(shè)備安裝Android操作系統(tǒng)。當(dāng)然,其中包括平板電腦、智能手機(jī)、電腦以及其他一些新的設(shè)備。如圖1-1所示</p><p> 圖 1-1 Android操作系統(tǒng)占有率</p><p> Android是首款公開源代碼的操作系統(tǒng),采用Linux內(nèi)核,開放手機(jī)聯(lián)盟(
14、OHA)成員可以任意使用和修改Android的SDK軟件包。系統(tǒng)的開源性使其具有良好的拓展性,一方面,為眾多移動(dòng)應(yīng)用開發(fā)者提供了良好的系統(tǒng)性平臺(tái),有利于移動(dòng)應(yīng)用的集合;另一方面,終端廠商可以針對自身的特殊需要“定制化開發(fā)”。在優(yōu)勢方面,Android平臺(tái)首先就是其開發(fā)性,開發(fā)的平臺(tái)允許任何移動(dòng)終端廠商加入到Android聯(lián)盟中來。顯著的開放性可以使其擁有更多的開發(fā)者,隨著用戶和應(yīng)用的日益豐富,一個(gè)嶄新的平臺(tái)也將很快走向成熟。</p
15、><p> 開發(fā)性對于Android的發(fā)展而言,有利于積累人氣,這里的人氣包括消費(fèi)者和廠商,而對于消費(fèi)者來講,最大的受益正是豐富的軟件資源。開放的平臺(tái)也會(huì)帶來更大競爭,如此一來,消費(fèi)者將可以用更低的價(jià)位購得心儀的手機(jī)。</p><p> 我們認(rèn)為,Android在全球市場的成長壯大已成不爭事實(shí)。Android操作系統(tǒng)發(fā)展迅猛主要得益于免費(fèi)、開源和良好產(chǎn)業(yè)運(yùn)作策略,這三點(diǎn)為安卓在智能手機(jī)市場
16、贏得更多的發(fā)展機(jī)遇。系統(tǒng)的免費(fèi)讓更多的廠商加入,推動(dòng)了份額的上升;代碼的開源讓更多的開發(fā)者進(jìn)入應(yīng)用開發(fā);應(yīng)用的豐富吸引了更多用戶選擇,這也是Google值得眾多廠商學(xué)習(xí)的地方。此外,Google通過OHA聯(lián)合眾多廠商進(jìn)行系統(tǒng)研發(fā),不斷更新版本,將系統(tǒng)應(yīng)用推廣到更多的終端產(chǎn)品中,確保用戶體驗(yàn)持續(xù)改善。</p><p> Android系統(tǒng)平臺(tái)下的天氣預(yù)報(bào)軟件開發(fā)可以進(jìn)一步擴(kuò)大氣象信息的覆蓋面讓廣大公眾能夠在第一時(shí)
17、間方便且快捷地獲取到最新的氣象預(yù)警信息以便于提前做好氣象災(zāi)害的防范將災(zāi)害天氣所能帶來的危害降到最低。同時(shí)也可以強(qiáng)化公共服務(wù)的職能,完善公共服務(wù)的體系,改善公共服務(wù)的手段從而更好的發(fā)揮了氣象事業(yè)對全社會(huì)發(fā)展的現(xiàn)實(shí)性作用</p><p><b> 論文結(jié)構(gòu)安排</b></p><p> 本文主要研究Android平臺(tái)天氣預(yù)報(bào)軟件的設(shè)計(jì)與實(shí)現(xiàn),闡述了系統(tǒng)的設(shè)計(jì)方案、實(shí)現(xiàn)
18、方法以及所采用的開發(fā)工具和相關(guān)技術(shù),本文的研究內(nèi)容如下:</p><p> 第一章為緒論,介紹了本文的選題背景和意義,同時(shí)對論文研究內(nèi)容安排進(jìn)行闡述。</p><p> 第二章對系統(tǒng)中涉及的相關(guān)理論和關(guān)鍵技術(shù)進(jìn)行了研究,對Android手機(jī)系統(tǒng)相關(guān)技術(shù)進(jìn)行了介紹和分析。</p><p> 第三章對系統(tǒng)進(jìn)行研究,闡述了系統(tǒng)的功能和性能和數(shù)據(jù)庫的設(shè)計(jì)和實(shí)現(xiàn)。<
19、;/p><p> 第四章在前面三章基礎(chǔ)上研發(fā)出Android平臺(tái)天氣預(yù)報(bào)軟件,同時(shí),對系統(tǒng)各模塊設(shè)計(jì)和實(shí)現(xiàn)進(jìn)行分析,其中對關(guān)鍵技術(shù)給出了詳細(xì)實(shí)現(xiàn)過程。</p><p><b> 最后是論文的結(jié)論。</b></p><p><b> 相關(guān)理論研究</b></p><p> Android開發(fā)平臺(tái)介
20、紹</p><p> Android是Google于2007年11月05日宣布的基于Linux平臺(tái)的開源手機(jī)操作系統(tǒng)的名稱,該平臺(tái)由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件組成。它采用軟件堆 層(Software Stack,又名軟件疊層)的架構(gòu),主要分為三部分。底層以Linux內(nèi)核工作為基礎(chǔ),由C語言開發(fā),只提供基本功能;中間層包括函數(shù)庫Library和虛擬機(jī)Virtual Machine,由C++開發(fā)。最上層是
21、各種應(yīng)用軟件,包括通話程序、短信程序等,應(yīng)用軟件則由各公司自行開發(fā),以Java作為開發(fā)語言。不存在任何以往阻礙移動(dòng)產(chǎn)業(yè)創(chuàng)新的專有權(quán)障礙,號(hào)稱是首個(gè)為移動(dòng)終端打造的真正開放和完整的移動(dòng)軟件。</p><p> Android系統(tǒng)架構(gòu)共分四層,分別是應(yīng)用程序?qū)?、?yīng)用程序框架層、系統(tǒng)運(yùn)行庫 層和Linux內(nèi)核層[1]。其中,應(yīng)用程序由4個(gè)模塊構(gòu)造而成:Activity、Intent、Content Provider、
22、Service,這4個(gè)模塊可根據(jù)開發(fā)者的需要進(jìn)行組合,同時(shí)任何一個(gè)程序都必須在AndroidManfest.xml文件中聲明使用到這些模塊[2]。</p><p> Android 簡介</p><p> Android是Google在2007年11月宣布的基于Linux平臺(tái)的開源手機(jī)操作系統(tǒng)的名稱,而在Android系統(tǒng)底層方面,Android使用C/C++作為開發(fā)語言。該平臺(tái)由操作
23、系統(tǒng)、中間件、用戶界面和應(yīng)用軟件組成,號(hào)稱是首個(gè)為移動(dòng)終端打造的真正開放和完整的解決方案。</p><p> 2003年10月,Andy Rubin等人創(chuàng)建Android公司,并組建Android團(tuán)隊(duì)</p><p> 2005年8月17日,Google低調(diào)收購了成立僅22個(gè)月的高科技企業(yè)Android及其團(tuán)隊(duì)。安迪魯賓成為Google公司工程部副總裁,繼續(xù)負(fù)責(zé)Android項(xiàng)目。&l
24、t;/p><p> 2007年11月5日,Google公司正式向外界展示了這款名為Android的操作系統(tǒng),并且在這天Google宣布建立一個(gè)全球性的聯(lián)盟組織,該組織由34家手機(jī)制造商、軟件開發(fā)商、電信運(yùn)營商以及芯片制造商共同組成,并與84家硬件制造商、軟件開發(fā)商及電信營運(yùn)商組成開放式手持設(shè)備聯(lián)盟(Open Handset Alliance)來共同研發(fā)改良Android系統(tǒng),這一聯(lián)盟將支持Google發(fā)布的手機(jī)操作
25、系統(tǒng)以及應(yīng)用軟件,Google以Apache免費(fèi)開源許可證的授權(quán)方式,發(fā)布了Android的源代碼。</p><p> 2008年,在Google的I/O大會(huì)上,谷歌提出了Android HAL架構(gòu)圖,在同年8月18號(hào),Android獲得了美國聯(lián)邦通信委員會(huì)(FCC)的批準(zhǔn),在2008年9月,Google正式發(fā)布了Android 1.0系統(tǒng),這也是Android系統(tǒng)最早的版本。</p><p
26、> 2009年4月,Google正式推出了Android 1.5這款手機(jī),從Android 1.5版本開始,Google開始將Android的版本以甜品的名字命名,Android 1.5命名為Cupcake(紙杯蛋糕)。該系統(tǒng)與Android 1.0相比有了很大的改進(jìn)。</p><p> 2009年9月份,Google發(fā)布了Android 1.6的正式版,并且推出了搭載Android 1.6正式版的手機(jī)
27、HTC Hero(G3),憑借著出色的外觀設(shè)計(jì)以及全新的Android 1.6操作系統(tǒng),HTC Hero(G3)成為當(dāng)時(shí)全球最受歡迎的手機(jī)。Android 1.6也有一個(gè)有趣的甜品名稱,它被稱為Donut(甜甜圈)。</p><p> 2010年2月份,Linux內(nèi)核開發(fā)者Greg Kroah-Hartman將Android的驅(qū)動(dòng)程序從Linux內(nèi)核“狀態(tài)樹”(“staging tree”)上除去,從此,And
28、roid與Linux開發(fā)主流將分道揚(yáng)鑣。在同年5月份,Google正式發(fā)布了Android 2.2操作系統(tǒng)。Google將Android 2.2操作系統(tǒng)命名為Froyo,翻譯名為凍酸奶。</p><p> 2010年10月份,Google宣布Android系統(tǒng)達(dá)到了第一個(gè)里程碑,即電子市場上獲得官方數(shù)字認(rèn)證的Android應(yīng)用數(shù)量已經(jīng)達(dá)到了10萬個(gè),Android系統(tǒng)的應(yīng)用增長非常迅速。在2010年12月,Go
29、ogle正式發(fā)布了Android 2.3操作系統(tǒng)Gingerbread (姜餅)。</p><p> 2011年1月,谷歌稱每日的Android設(shè)備新用戶數(shù)量達(dá)到了30萬部,到2011年7月,這個(gè)數(shù)字增長到55萬部,而Android系統(tǒng)設(shè)備的用戶總數(shù)達(dá)到了1.35億,Android系統(tǒng)已經(jīng)成為智能手機(jī)領(lǐng)域占有量最高的系統(tǒng)。</p><p> 2011年8月2日,Android手機(jī)已占據(jù)
30、全球智能機(jī)市場48%的份額,并在亞太地區(qū)市場占據(jù)統(tǒng)治地位,終結(jié)了塞班系統(tǒng)的霸主地位,躍居全球第一。</p><p> 2011年9月份,Android系統(tǒng)的應(yīng)用數(shù)目已經(jīng)達(dá)到了48萬,而在智能手機(jī)市場,Android系統(tǒng)的占有率已經(jīng)達(dá)到了43%。繼續(xù)在排在移動(dòng)操作系統(tǒng)首位。谷歌將會(huì)發(fā)布全新的Android 4.0操作系統(tǒng),這款系統(tǒng)被谷歌命名為Ice Cream Sandwich(冰激凌三明治)。</p>
31、;<p> 2012年1月6日,谷歌Android Market已有10萬開發(fā)者推出超過40萬活躍的應(yīng)用,大多數(shù)的應(yīng)用程序?yàn)槊赓M(fèi)。Android Market應(yīng)用程序商店目錄在新年首周周末突破40萬基準(zhǔn),距離突破30萬應(yīng)用僅僅用時(shí)4個(gè)月。在2011年早些時(shí)候,Android Market從20萬增加到30萬應(yīng)用也花了四個(gè)月。</p><p> Android 的特點(diǎn)</p><
32、;p> Android系統(tǒng)就是一個(gè)開發(fā)式的手機(jī)和平臺(tái)電腦操作系統(tǒng),早期由Google開發(fā),后由開放手機(jī)聯(lián)盟開發(fā)。它提供了從底層操作系統(tǒng)到上層的程序界面的所有軟件,使用這個(gè)平臺(tái)無需繳納任何的授權(quán)許可費(fèi)用,同時(shí)不同的廠商還可以根據(jù)自身的需求修改和擴(kuò)展Android平臺(tái)。</p><p> 在Android平臺(tái)下,除了應(yīng)用程序運(yùn)行的載體虛擬機(jī)之外,所有的Android應(yīng)用程序之間是完全平等的。所有的應(yīng)用程序都
33、運(yùn)行在虛擬機(jī)上面,虛擬機(jī)提供了一系列用于應(yīng)用程序和硬件資源間通信的API。Android打破了應(yīng)用程序之間的界限,在Android平臺(tái)下開發(fā)應(yīng)用程序,可以很方便的實(shí)現(xiàn)應(yīng)用程序之間的數(shù)據(jù)共享。一個(gè)應(yīng)用程序不但可以通過API訪問系統(tǒng)提供的功能,還可以通過申明自身的功能供其他應(yīng)用程序調(diào)用[3]。</p><p> Android為開發(fā)人員提供了大量的使用庫和工具,使得開發(fā)人員可以快速地創(chuàng)建自己的應(yīng)用程序。例如Andr
34、oid將著名的Google Map集成進(jìn)來,開發(fā)人員通過簡單的幾行代碼就可以快速的開發(fā)出基于地圖的應(yīng)用。</p><p> Android系統(tǒng)最震撼人心之處在于其開放性和服務(wù)的免費(fèi)性方面。Android是一個(gè)對第三方軟件完全開放的平臺(tái),開發(fā)者在為其開發(fā)程序時(shí)擁有更大的自由度,突破了IPhone等只能添加為數(shù)不多的固定軟件的枷鎖;同時(shí)與Windows Mobiel(現(xiàn)叫Windows Phone)、Symbia
35、n等廠商不同,Android操作系統(tǒng)免費(fèi)向開發(fā)人員提供,這樣可節(jié)省30%的成本。Android平臺(tái)的手機(jī)以及平板電腦具有以下5大特點(diǎn): 1、開放性:方面,Android平臺(tái)首先就是其開放性,開發(fā)的平臺(tái)允許任何移動(dòng)終端廠商加入到Android聯(lián)盟中。顯著的開放性可以使其擁有更多的開發(fā)者,隨著用戶和應(yīng)用的日益豐富,一個(gè)嶄新的平臺(tái)也將很將走向成熟,蘋果的IOS系統(tǒng)封閉;無向任何廠商提供,Windows Phone系統(tǒng)封閉,廠商需要花
36、高價(jià)購買。 2、掙脫運(yùn)營商的束縛:過去很長的一段時(shí)間,特別是在歐美地區(qū),手機(jī)應(yīng)用往往受到運(yùn)營商制約,使用什么功能接入什么網(wǎng)絡(luò),幾乎都受到運(yùn)營商的控制。自從Android上市,用戶可以更加方便地連接網(wǎng)絡(luò),運(yùn)營商的制約減少。隨著EDGE、HSDPA這些2G至3G移動(dòng)網(wǎng)絡(luò)的逐步過渡和提</p><p> Android 架構(gòu)</p><p> 圖2-1顯示的是Android操作系統(tǒng)
37、的主要組件。</p><p> Android同一個(gè)核心應(yīng)用程序包一起發(fā)布,該應(yīng)用程序包括email客戶端,SMS短消息程序,日歷,地圖,瀏覽器,聯(lián)系人管理程序等。所有的應(yīng)用程序都是用Java編寫的。Android應(yīng)用程序框架即開發(fā)者也完全可以訪問核心應(yīng)用程序使用的API框架。該應(yīng)用程序架構(gòu)用來簡化組件軟件的重用:任何一個(gè)應(yīng)用程序都可以發(fā)布它的功能模塊并且任何其他的應(yīng)用程序都可以使用其所發(fā)布的功能模塊(不過得遵
38、循框架的安全性限制)。該應(yīng)用程序重用機(jī)制使得組件可以被用戶替換。如圖2-1所示</p><p> 圖2-1 Android系統(tǒng)架構(gòu)圖</p><p> Android 布局管理器</p><p> Android本身是一個(gè)權(quán)限分立的操作系統(tǒng)。在這類操作系統(tǒng)中,每個(gè)應(yīng)用都以唯一的該系統(tǒng)主要用到的布局有線性布局和幀布局。</p><p>
39、?。?) Linear Layout類</p><p> 線性布局是最簡單的布局之一。android: orientation可以設(shè)置線性布局的朝向,可以是水平(horizontal)或者垂直(vertical)兩種排列方式。同時(shí)使用android: gravity設(shè)置控件的對齊方式,還可以通過設(shè)置控件的weight參數(shù)控制各個(gè)控件在容器中的相對大小。</p><p> ?。?) Fra
40、me Layout類</p><p> Frame Layout幀布局在屏幕上開辟出了一塊區(qū)域,在這塊區(qū)域上可以添加多個(gè)子控件,但是所有的子控件都被對齊到屏幕的左上角。幀布局的大小由子控件尺寸最大的那個(gè)子控件來決定。如果子控件一樣大,同一時(shí)刻只能看到最上面的子控件,因?yàn)樵贔rame Layout中,子控件是通過棧來繪制的 。</p><p> Android基本組件介紹</p&g
41、t;<p> 1、Activity簡介</p><p> Activity是android最常用的組件,是應(yīng)用程序的表示層,Activity一般通過View來實(shí)現(xiàn)應(yīng)用程序的用戶界面,相當(dāng)于一個(gè)屏幕,用戶與程序的交互是通過該類實(shí)現(xiàn)的。 </p><p> Activity類創(chuàng)建了一個(gè)窗口,開發(fā)人員可以通過 setContentView(View)接口把UI放到
42、activity創(chuàng)建的窗口上,當(dāng)activity指向全屏窗口時(shí),也可以用其他方式實(shí)現(xiàn):作為漂浮窗口(通過windowIsFloating的主題集合),或者嵌入到其他的activity(使用ActivityGroup)。</p><p><b> 基本狀態(tài)</b></p><p> 在 android 中,Activity 擁有四種基本狀態(tài):</p>
43、<p> 1. Active/Runing</p><p> 一個(gè)新 Activity 啟動(dòng)入棧后,它顯示在屏幕最前端,處理是處于棧的最頂端(Activity棧頂),此時(shí)它處于可見并可和用戶交互的激活狀態(tài),叫做活動(dòng)狀態(tài)或者運(yùn)行狀態(tài)(active or running)。</p><p><b> 2. Paused</b></p><
44、;p> 當(dāng) Activity失去焦點(diǎn),被一個(gè)新的非全屏的Activity 或者一個(gè)透明的Activity 被放置在棧頂,此時(shí)的狀態(tài)叫做暫停狀態(tài)(Paused)。此時(shí)它依然與窗口管理器保持連接,Activity依然保持活力(保持所有的狀態(tài),成員信息,和窗口管理器保持連接),但是在系統(tǒng)內(nèi)存極端低下的時(shí)候?qū)⒈粡?qiáng)行終止掉。所以它仍然可見,但已經(jīng)失去了焦點(diǎn)故不可與用戶進(jìn)行交互。</p><p><b>
45、 3. Stoped</b></p><p> 如果一個(gè)Activity被另外的Activity完全覆蓋掉,叫做停止?fàn)顟B(tài)(Stopped)。它依然保持所有狀態(tài)和成員信息,但是它不再可見,所以它的窗口被隱藏,當(dāng)系統(tǒng)內(nèi)存需要被用在其他地方的時(shí)候,Stopped的Activity將被強(qiáng)行終止掉。</p><p><b> 4. Killed</b></
46、p><p> 如果一個(gè)Activity是Paused或者Stopped狀態(tài),系統(tǒng)可以將該Activity從內(nèi)存中刪除,Android系統(tǒng)采用兩種方式進(jìn)行刪除,要么要求該Activity結(jié)束,要么直接終止它的進(jìn)程。當(dāng)該Activity再次顯示給用戶時(shí),它必須重新開始和重置前面的狀態(tài)。</p><p> 如圖2-2所示,Activity的生命周期主要包含三個(gè)狀態(tài),各種狀態(tài)之間的切換是通過各種回
47、調(diào)方法實(shí)現(xiàn)。處于運(yùn)行態(tài)的Activity擁有焦點(diǎn),正在與用戶進(jìn)行交互,該狀態(tài)的Activity可以為用戶提供信息并接收用戶的事件響應(yīng)。而處于暫停態(tài)的Activity失去了焦點(diǎn),一般被運(yùn)行態(tài)的Activity替代,當(dāng)前臺(tái)顯示的Activity不是全屏?xí)r,可以見到暫停態(tài)的Activity。而處于停止態(tài)的Activity沒有焦點(diǎn),并且是不可見的,系統(tǒng)可以隨時(shí)將其釋放。如圖2-2所示</p><p> 圖2-2 Act
48、ivity生命周期</p><p> Android數(shù)據(jù)庫介紹</p><p> 關(guān)于Android的關(guān)系型數(shù)據(jù)庫SQLite,每個(gè)應(yīng)用程序都要使用數(shù)據(jù),Android應(yīng)用程序也不例外,Android使用開源的,與操作系統(tǒng)無關(guān)的SQL數(shù)據(jù)庫—SQLite。SQLite第一個(gè)Alpha版本誕生于2005年5月,他是一款量級(jí)數(shù)據(jù)庫,它的設(shè)計(jì)目標(biāo)是嵌入式的,占用資源非常的低,只需要幾百K的內(nèi)
49、存就夠了。SQLite已經(jīng)被多種軟件和產(chǎn)品使用,Mozilla firefox就是使用SQLite來存儲(chǔ)配置數(shù)據(jù)的,Android和Iphone都是使用SQLite來存儲(chǔ)數(shù)據(jù)的。</p><p> SQLite體系結(jié)構(gòu)圖如圖2-3所示:</p><p> 圖2-3SQLite體系機(jī)構(gòu)圖</p><p> 編譯器包括Tokenizer(詞法分析器)、 Parse
50、r(語法分析器)、Code Generator(代碼產(chǎn)生器)。他們協(xié)同處理文本形式的結(jié)構(gòu)化查詢語句。</p><p> 后端由B-tree,Pager,OS Interface組成。B-tree的職責(zé)是負(fù)責(zé)排序,維護(hù)多個(gè)數(shù)據(jù)庫頁之間錯(cuò)綜復(fù)雜的關(guān)系,將頁面組織成樹狀結(jié)構(gòu),頁面就是樹的葉子。Pager負(fù)責(zé)傳輸,根據(jù)B-tree的請求從磁盤讀取頁面或者寫入頁面。</p><p> 公共服務(wù)中
51、有各種實(shí)用的功能比如:內(nèi)存分配、字符串比較,Unicode轉(zhuǎn)換等。SQLite數(shù)據(jù)庫是D.Richard Hipp用C語言編寫的開源嵌入式數(shù)據(jù)庫,支持的數(shù)據(jù)庫大小為2TB。它具有如下特征:</p><p><b> 1、輕量級(jí)</b></p><p> SQLite和C\S模式的數(shù)據(jù)庫軟件不同,它是進(jìn)程內(nèi)的數(shù)據(jù)庫引擎,因此不存在數(shù)據(jù)庫的客戶端和服務(wù)器。使用SQLi
52、te一般只需要帶上它的一個(gè)動(dòng)態(tài)庫,就可以享受它的全部功能。而且那個(gè)動(dòng)態(tài)庫的尺寸也相當(dāng)小。</p><p><b> 2、獨(dú)立性</b></p><p> SQLite數(shù)據(jù)庫的核心引擎本身不依賴第三方軟件,使用它也不需要“安裝”,所以在使用的時(shí)候能夠省去不少麻煩。</p><p><b> 3、隔離性</b></
53、p><p> SQLite數(shù)據(jù)庫中的所有信息(比如表、視圖、觸發(fā)器)都包含在一個(gè)文件內(nèi),方便管理和維護(hù)。</p><p><b> 4、跨平臺(tái)</b></p><p> SQLite數(shù)據(jù)庫支持大部分操作系統(tǒng),除了我們在電腦上使用的操作系統(tǒng)之外,很多手機(jī)操作系統(tǒng)同樣可以運(yùn)行,比如Android、Windows Mobile、Symbian、Pa
54、lm等。</p><p><b> 5、多語言接口</b></p><p> SQLite數(shù)據(jù)庫支持很多語言編程接口,比如C\C++、Java、Python、dotNet、Ruby、Perl等,得到更多開發(fā)者的喜愛。</p><p><b> 6、安全性</b></p><p> SQLit
55、e數(shù)據(jù)庫通過數(shù)據(jù)庫級(jí)上的獨(dú)占性和共享鎖來實(shí)現(xiàn)獨(dú)立事務(wù)處理。這意味著多個(gè)進(jìn)程可以在同一時(shí)間從同一數(shù)據(jù)庫讀取數(shù)據(jù),但只有一個(gè)可以寫入數(shù)據(jù)。在某個(gè)進(jìn)程或線程向數(shù)據(jù)庫執(zhí)行寫操作之前,必須獲得獨(dú)占鎖定。在發(fā)出獨(dú)占鎖定后,其他的讀或?qū)懖僮鲗⒉粫?huì)再發(fā)生。</p><p> 系統(tǒng)需求分析和總體設(shè)計(jì)</p><p><b> 研究目標(biāo)</b></p><p>
56、; (1)了解Android應(yīng)用程序的設(shè)計(jì)和開發(fā)過程;</p><p> (2) 使用多種組件進(jìn)行Android 平臺(tái)天氣預(yù)報(bào)軟件的開發(fā)。</p><p> 本軟件是基于Eclipse的開發(fā)環(huán)境,依托Google氣象數(shù)據(jù)建立氣象信息數(shù)據(jù)庫,開發(fā)出了針對Android平臺(tái)的手機(jī)天氣預(yù)報(bào)系統(tǒng)。</p><p><b> 需求分析</b>&
57、lt;/p><p> 本軟件是一個(gè)App Widget應(yīng)用程序,啟動(dòng)程序后可以進(jìn)行城市、更新頻率的設(shè)置,可以通過圖片和文字顯示當(dāng)前和未來3天的天氣狀況,支持GPS定位,自動(dòng)定位用戶所在城市。這些天氣數(shù)據(jù)是通過后臺(tái)服務(wù)獲取的,這個(gè)后臺(tái)服務(wù)可以按照一定時(shí)間間隔,從Google上獲取天氣預(yù)報(bào)信息,并將天氣信息保存在數(shù)據(jù)庫中。</p><p> 從上面的描述中可以基本了解軟件的功能需求:</
58、p><p> (1) 啟動(dòng)App Widget應(yīng)用程序;</p><p> (2) 設(shè)置界面:對要顯示天氣預(yù)報(bào)的城市及更新頻率進(jìn)行設(shè)置;</p><p> (3) 顯示界面:通過文字和圖片顯示當(dāng)前的天氣情況,包括日期、時(shí)間、城市、最高溫度、最低溫度、當(dāng)前溫度等。</p><p> (4) 詳細(xì)界面:通過文字圖片動(dòng)畫顯示當(dāng)前的天氣情況,包括
59、城市當(dāng)前天氣、溫度、風(fēng)向、風(fēng)速、濕度;同時(shí)顯示今后三天的天氣情況。</p><p> 根據(jù)天氣預(yù)報(bào)系統(tǒng)功能需求分析,系統(tǒng)啟動(dòng)后,應(yīng)在主界面上呈現(xiàn)出,默認(rèn)城市的天氣氣象數(shù)據(jù),因此需要?jiǎng)?chuàng)建主界面和解析天氣的類,包括獲取,解析城市天氣數(shù)據(jù),并在用戶界面上呈現(xiàn)出來。為此,需要解決的問題是手機(jī)終端從Web服務(wù)器獲取了所有類型的數(shù)據(jù)之后,將這些數(shù)據(jù)進(jìn)一步交給Android手機(jī)終端View組件,在手機(jī)界面上顯示給用戶。<
60、;/p><p><b> 程序模塊設(shè)計(jì)</b></p><p> 從功能需求上分析可以看出,整個(gè)應(yīng)用程序應(yīng)劃分為4個(gè)模塊,分別是程序啟動(dòng)、用戶界面、后臺(tái)服務(wù)和數(shù)據(jù)庫適配器,各模塊之間的關(guān)系如圖3-1所示。</p><p> 圖 3-1 各模塊關(guān)系圖</p><p> 從模塊結(jié)構(gòu)圖中不難看出,后臺(tái)服務(wù)是整個(gè)應(yīng)用程序的核
61、心,主要是“數(shù)據(jù)獲取模塊”,負(fù)責(zé)周期性的從Google獲取天氣信息。后臺(tái)服務(wù)在程序啟動(dòng)時(shí)就由AppWidgetProvider啟動(dòng),也可由用戶界面通過startService()進(jìn)行啟動(dòng),啟動(dòng)后的后臺(tái)服務(wù)將一直保持運(yùn)行狀態(tài)。</p><p> 用戶界面從數(shù)據(jù)庫中獲取天氣信息,而沒有直接通過網(wǎng)絡(luò)訪問Google的天氣數(shù)據(jù)。之所以這么設(shè)計(jì),一方面可以避免因網(wǎng)絡(luò)通信不暢造成界面失去響應(yīng);另一方面,后臺(tái)服務(wù)可以及時(shí)更新
62、數(shù)據(jù),以保證數(shù)據(jù)的準(zhǔn)確性。</p><p> 數(shù)據(jù)庫適配器封裝了所有對SQLite數(shù)據(jù)庫操作的方法,用戶界面和后臺(tái)服務(wù)會(huì)調(diào)用它來實(shí)現(xiàn)數(shù)據(jù)庫操作。</p><p> 在完成用戶界面設(shè)計(jì)、數(shù)據(jù)庫設(shè)計(jì)和模塊設(shè)計(jì)后,至此程序設(shè)計(jì)階段基本完成。</p><p><b> 數(shù)據(jù)庫設(shè)計(jì)</b></p><p> 基于Andri
63、od 平臺(tái)的智能手機(jī)訪問服務(wù)器的主要技術(shù)是數(shù)據(jù)交互方法?;贏ndriod操作系統(tǒng)的天氣實(shí)況預(yù)報(bào)設(shè)計(jì)的核心是通過調(diào)用通信協(xié)議SOAP(Simple Object Access Protocol)的借口,從Web Service提供商中提取天氣預(yù)報(bào)的數(shù)據(jù)信息,為客戶端服務(wù)。其基本功能是當(dāng)用戶運(yùn)行天氣預(yù)報(bào)系統(tǒng)程序時(shí),在手機(jī)屏幕上顯示出中國各地的城市名稱,用戶通過自己的實(shí)際情況選取一個(gè)城市,即可通過網(wǎng)絡(luò)獲得該城市的實(shí)時(shí)天氣預(yù)報(bào)信息。用戶也可以
64、通過輸入城市名稱來獲取該城市的未來天氣預(yù)報(bào)信息。</p><p> 有時(shí)候應(yīng)用程序需要有數(shù)據(jù)保存,而且這些數(shù)據(jù)都比較簡單,基本上只是一些簡單的字符串,標(biāo)量類型的值等。對于這種數(shù)據(jù),Android提供了Shared Preferences進(jìn)行保存。Shared Preferences主要保存的是一些簡單的Key-value對。</p><p> 本軟件中有兩部分?jǐn)?shù)據(jù)需要存儲(chǔ),一個(gè)是顯示頁
65、面的數(shù)據(jù),另一個(gè)詳細(xì)頁面的數(shù)據(jù)。因此選擇SQLite數(shù)據(jù)庫作為存儲(chǔ)數(shù)據(jù)的方法,建立數(shù)據(jù)庫forcasts.db,并且建立兩張表weather_forcastt和weather_widget,分別存儲(chǔ)顯示頁面的數(shù)據(jù)和詳細(xì)頁面的數(shù)據(jù)。</p><p> 表3-1 詳細(xì)頁面的數(shù)據(jù)庫表weather_forcast的結(jié)構(gòu)</p><p> 表3-2 顯示頁面的數(shù)據(jù)庫表weather_widge
66、t的結(jié)構(gòu)</p><p> 天氣信息的顯示和獲取功能描述:在顯示天氣預(yù)報(bào)的主頁面,要求百度地圖顯示各城市名稱(如:廣州,深圳,北京,上海等)以及用文字和圖片顯示出城市對應(yīng)的天氣實(shí)況信息,表示出(如:晴天,陰天,雨天,雷雨天,氣溫)等氣象信息。用戶在界面能清楚明了的看清實(shí)時(shí)溫度,已經(jīng)未來幾天的天氣預(yù)報(bào)信息。除了以上所述的各項(xiàng)天氣信息之外,在程序界面的左半?yún)^(qū)域還會(huì)有一些關(guān)于當(dāng)天天氣情況的溫馨提示。一些簡單的提示信息
67、,環(huán)境濕度,風(fēng)向,風(fēng)力大小。溫馨提示則包括例如在該溫度下該穿些什么衣服,還有在當(dāng)前的天氣情況下適合做哪些運(yùn)動(dòng)。如圖(3-1)所示</p><p> 3-1程序天氣信息的顯示</p><p><b> 輸入輸出信息簡述:</b></p><p> 1.輸入:當(dāng)點(diǎn)擊某一城市對應(yīng)按鈕后,程序主頁面會(huì)顯示該城市當(dāng)前的溫度,濕度,風(fēng)向等詳細(xì)的氣象信
68、息,并預(yù)報(bào)該城市往后幾天的未來氣象信息。</p><p> 2.輸出:氣象信息的獲取,從百度上獲取天氣預(yù)報(bào)信息,這些天氣數(shù)據(jù)是通過后臺(tái)服務(wù)獲取的。這個(gè)后臺(tái)服務(wù)可以按照一定的時(shí)間間隔自動(dòng)更新,并將當(dāng)前選擇城市的天氣信息保存到SQ Lite 數(shù)據(jù)庫中。</p><p> WebService的出現(xiàn)成功的解決了不同平臺(tái)和語言之間進(jìn)行數(shù)據(jù)交換的問題,它主要使用XML文檔來傳遞消息,并將該消息發(fā)
69、送給任何請求對象,由于不同系統(tǒng)對XML的完美支持,因此從根本上完善了跨平臺(tái)服務(wù),任何時(shí)刻、任何平臺(tái)我們可以使用任何語言來訪問該WebService服務(wù)。對于WebService使用者而言,webService API與任何操作平臺(tái)無關(guān),它只是以XML語言作為數(shù)據(jù)交換格式。 </p><p> WebService平臺(tái)主要涉及到的技術(shù)是SOAP(Simple Object
70、Access Protocol),WSDL(Web Service Description Language) </p><p> SOAP依賴于XML文檔來構(gòu)建,一條SOAP消息就是一份特定的XML文檔,SOAP主要包含三個(gè)方面的主要元素: </p><p> (1) <Envelope…/>根元素,該
71、元素是必填的。其中SOAP消息用來傳遞的數(shù)據(jù)的XML文檔以該元素作為根元素。</p><p> (2) <Header…/>元素,該元素是選填的。它包含了SOAP消息的頭信息 。(3) <Body…/>元素,該元素是必填的。它包含所有的調(diào)用和相應(yīng)的內(nèi)容。</p><p><b> 系統(tǒng)實(shí)現(xiàn)</b></p&
72、gt;<p> Andriod開發(fā)平臺(tái)搭建</p><p> Android開發(fā)平臺(tái)搭建步驟:</p><p> ?、偈紫鹊絟ttp://www.eclipse.org/downloads/下載Eclipse集成開發(fā)環(huán)境并且解壓,這里推薦下載Java EE 集成版本,可以為平臺(tái)的搭建省下不少工作。接著再去http://java.sun.com/javase/downloa
73、ds/index.jsp 站點(diǎn)下載SDK后安裝,下載http://dl.google.com/android/android-sdk-windows-1.5_r1.zip,Android SDK1.5后解壓。第一步下載工序就結(jié)束了。</p><p> ?、陔p擊Eclipse解壓后目錄中的eclipse.exe然后啟動(dòng),選擇Eclipse菜單中的Help-> Install New Software->
74、 選項(xiàng)卡上的Available Software,點(diǎn)擊右側(cè)的“Add”輸入http://dl-ssl.google.com/android/eclipse/后確定,然后在“Work with”下拉菜單中選擇剛才輸入的網(wǎng)址。過一會(huì)就會(huì)出現(xiàn)一個(gè)Developer Tools選項(xiàng),勾上以后點(diǎn)擊Next以后Eclipse會(huì)自動(dòng)網(wǎng)上查找Android 開發(fā)工具插件,然后找到Android DDMS和Android Development Tool
75、s,選中這兩個(gè)點(diǎn)擊Finish,Eclipse就會(huì)自動(dòng)下載并安裝Android插件了,最后會(huì)提示重啟Eclipse。</p><p> ?、壑貑⒑筮x擇Eclipse菜單中的Windows-> Preferences 在左側(cè)的Android項(xiàng)目中SDK Location中填入Android SDK解壓后的目錄,然后點(diǎn)擊Apply。</p><p> ?、茉赪indows XP系統(tǒng)變量中
76、的path變量中添加一個(gè)值,該值指向解壓后的Android SDK目錄下的tools文件夾。</p><p><b> 用戶界面設(shè)計(jì)</b></p><p> 基于Android 平臺(tái)的智能手機(jī)訪問服務(wù)器的主要技術(shù)是數(shù)據(jù)交互方法?;贏ndroid 操作系統(tǒng)的天氣實(shí)況預(yù)報(bào)系統(tǒng)設(shè)計(jì)的核心是通過調(diào)用通信協(xié)議SOAP(Simple Obje
77、ct Access Protocol)的接口,從Web Service 提供商中提取天氣預(yù)報(bào)其基本功能是當(dāng)用戶運(yùn)行天氣預(yù)報(bào)的數(shù)據(jù)信息,為客戶端服務(wù)。其基本功能是當(dāng)客戶使用系統(tǒng)程序時(shí),在手機(jī)屏幕上顯示出中國的城市名稱,用戶單擊任意一個(gè)城市名,可獲得該城市的天氣實(shí)況預(yù)報(bào)信息。用戶也可以輸入城市名稱,點(diǎn)擊查詢獲得天氣預(yù)報(bào)信息</p><p> Android 提供的可變化的用戶
78、界面(UI)開發(fā)模塊是基于XML 文件的。這些XML 文件放在工程/res/layout 下面。這個(gè)目錄可包含所有應(yīng)用程序所需的非碼部分,比如圖片、字符串、xml 文件。當(dāng)要使用到這些資源時(shí),在代碼目錄中打開R.java文件即可。在XML 文件里編輯界面的代碼,實(shí)現(xiàn)起來不僅方便,使用時(shí)也會(huì)更加靈活。 </p><p> 在Android 程序
79、設(shè)計(jì)中要用到一些基本的Android UI元素,通過使用Views、View Groups和layouts可為Activity創(chuàng)建功能性的、富有直觀力的UI.通常是使用Android SDK 中提供的一些控件,進(jìn)行布局、擴(kuò)展和定制這些控件,并使用View Goups去組合Views,創(chuàng)建由相互作用的子控件組成的原子的、重復(fù)利用的UI 元素。也可以創(chuàng)建自己的Views,來實(shí)現(xiàn)顯示數(shù)據(jù)和與用
80、戶交互的新途徑;或使用一些繼承自View Group的Layout 管理器來組織Android UI中的單個(gè)元素到屏幕上。 </p><p> 在一個(gè)Android應(yīng)用中,用戶界面由View和View Group對象構(gòu)建。View與View Group有很多種類,而它們都是View類的子類。View對象是Android 平臺(tái)中用戶界面的基本單
81、元。View類是widgets(工具)類的父類,它們提供了諸如文本輸入框和按鈕之類的UI對象的完整實(shí)現(xiàn)。View Group類是Layouts(布局)類的父類,它們提供了諸如流式布局、表格布局以及相對布局之類的布局架構(gòu)。 </p><p> View 對象是一個(gè)數(shù)據(jù)體,它的屬性存儲(chǔ)了用于屏幕上一塊矩形區(qū)域的布局參數(shù)及內(nèi)容。并負(fù)責(zé)它所轄的這個(gè)矩形區(qū)域之中所有測量、布局、焦點(diǎn)轉(zhuǎn)換、卷動(dòng)
82、以及按鍵/觸摸手勢的處理。作為一個(gè)用戶界面對象,View同時(shí)也擔(dān)任著用戶交互關(guān)鍵點(diǎn)以及交互事件接受者的角色。天氣實(shí)況預(yù)報(bào)系統(tǒng)程序功能比較單一,其UI 也相對比較簡單,只要有一個(gè)輸入框、一個(gè)查詢按鈕以及一個(gè)顯示所有中國城市信息的列表即可。為了建立Android平臺(tái)的用戶界面,首先要在Package Explorer 窗口中展開Layout 后新建。xml 文件,用來對窗口界面進(jìn)行布局,主要
83、有系統(tǒng)運(yùn)行的主配置文件activity_main.xml. </p><p> Layout 是一類特殊的View Group 控件,它們本身沒有任何可顯示內(nèi)容,存在的惟一原因就是其中的內(nèi)部結(jié)構(gòu),能夠更好地?cái)[放它的子控件。比如Linear layout,可將子控件按水平或垂直方向按順序排列下去;Table layout,可以將子控件按照表格的形式,一枚枚放置好;Relative l
84、ayout 更靈活,可以設(shè)定各個(gè)控件之間的對齊和排列關(guān)系,適合定制復(fù)雜的界面。有了Layout 的存在,控件和控件之間不再是割裂地存在,而是更有機(jī)地結(jié)合在一起,設(shè)定起來也更為方便。</p><p><b> 用戶界面的實(shí)現(xiàn)</b></p><p> 根據(jù)應(yīng)用程序的功能需要,對用戶界面做如下分析:</p><p> 1.
85、加載界面:程序開始運(yùn)行時(shí)顯示加載界面,此界面是應(yīng)用程序最先展示的窗,所以,要盡量保持界面信息簡潔,突出重點(diǎn)。這里設(shè)置為顯示學(xué)校的名稱、英文縮寫及版權(quán)信息。此界面的作用是,不僅將軟件的基本信息顯示給用戶,而且在加載的過程中進(jìn)行數(shù)據(jù)的初始化工作,將應(yīng)用程序運(yùn)行時(shí)需要的天氣信息提前做準(zhǔn)備;</p><p> 2.實(shí)時(shí)天氣界面:顯示城市當(dāng)前的實(shí)時(shí)天氣狀況,包括城市名稱、天氣描述、溫度高低、風(fēng)速、天氣描述圖片、獲取數(shù)據(jù)時(shí)
86、間、日期、星期、溫馨提示和是否默認(rèn)城市等信息。此界面是應(yīng)用程序的主界面,所以在設(shè)計(jì)的時(shí)候應(yīng)盡量使界面美觀,將天氣數(shù)據(jù)以用戶所容易接受的方式呈現(xiàn)出來;</p><p> 3.未來天氣界面:對未來3天的天氣情況簡要描述,簡要顯示星期、天氣描述、 溫度高低等數(shù)據(jù),使用戶一目了然,使人們及時(shí)了解天氣變化,對日常生活出行、穿衣做好準(zhǔn)備;</p><p> 4.選擇城市界面:用戶可以根據(jù)需要選擇全
87、國2564個(gè)縣級(jí)以上城市并查看該城 市的天氣情況。在選擇后,用戶可以把該城市設(shè)置為默認(rèn),再次打開應(yīng)用程序就可以直接看到該城市的天氣狀況。</p><p> 經(jīng)過以上分析可知,應(yīng)用程序共需要四個(gè)界面,即加載界面、實(shí)時(shí)天氣界面、未來天氣界面、選擇城市界面,來實(shí)現(xiàn)應(yīng)用程序中的基本功能。</p><p><b> 主界面</b></p><p>
88、 該程序主界面是程序開始運(yùn)行時(shí)加載的界面。主界面的主要功能是為程序的運(yùn)行做準(zhǔn)備,其三個(gè)功能按鈕可以清楚明了地讓用戶明白該程序的實(shí)用方法。第一次安裝好進(jìn)入程序界面時(shí),系統(tǒng)會(huì)顯示“本程序是第一次運(yùn)行,請選擇想要了解的城市”的窗口。第一次運(yùn)行時(shí),我是通過在手機(jī)文件系統(tǒng)中判斷是否存在一個(gè)名為shared prefs的文件來判斷是否為第一次運(yùn)行,如果存在則不是第一次運(yùn)行,系統(tǒng)會(huì)繼續(xù)執(zhí)行向下執(zhí)行代碼,如果系統(tǒng)中不存在該文件,則為第一次運(yùn)行該程序,程
89、序彈出對話框告訴用戶如圖4-1所示:</p><p> 圖4-1 程序主界面</p><p> 第一次運(yùn)行時(shí),我是通過在手機(jī)文件系統(tǒng)中判斷是否存在一個(gè)名為shared prefs的文件來判斷是否為第一次運(yùn)行,如果存在則不是第一次運(yùn)行,系統(tǒng)會(huì)繼續(xù)執(zhí)行向下執(zhí)行代碼,如果系統(tǒng)中不存在該文件,則為第一次運(yùn)行該程序,程序彈出對話框告訴用戶如圖4-2所示:</p><p>
90、 圖4-2城市地位功能顯示</p><p><b> 實(shí)時(shí)天氣界面</b></p><p> 實(shí)時(shí)天氣界面顯示的是一個(gè)城市的實(shí)時(shí)天氣情況,是應(yīng)用程序的主界面。通過分析,界面中的內(nèi)容應(yīng)包括城市名、天氣描述、溫度、風(fēng)速、天氣圖片、日期、星期、發(fā)布時(shí)間、是否默認(rèn)城市、溫馨提示等詳細(xì)的天氣信息,對實(shí)時(shí)天氣界面設(shè)計(jì)如圖4-3所示:</p><p>
91、 圖4-3 實(shí)時(shí)天氣界面</p><p> 根據(jù)設(shè)計(jì),實(shí)現(xiàn)實(shí)時(shí)天氣界面Weather_Activity,使用的布局文件是main.xml。 整個(gè)界面的布局同樣采用線性布局的方式。這里首先將整個(gè)界面分為左右兩個(gè)部分,在右邊顯示城市名、天氣描述、溫度、風(fēng)速,在右邊顯示天氣圖片、日期、星期、發(fā)布時(shí)間。在左半部分顯示溫馨提示和定位當(dāng)前位置和查詢其他地方天氣的提示按鈕。左右部分之間用一個(gè)圖層隔開,顯示效果為一
92、條垂直線。界面中共使用到8個(gè)TextView:城市名、天氣描述、溫度、風(fēng)速、日期、星期、發(fā)布時(shí)間、提示默認(rèn)。</p><p><b> 總結(jié)</b></p><p> 在現(xiàn)代這個(gè)智能時(shí)代里,基本每個(gè)人都會(huì)在日常生活使用智能手機(jī)進(jìn)行除了電話,短信交流之外程序應(yīng)用來豐富,方便自己的日常生活。而其中,天氣預(yù)報(bào)程序便是不可或缺的一個(gè)簡單而實(shí)用的工具,相信該程序能夠方便每一
93、位程序使用者的出行活動(dòng)。</p><p> 該程序主要采用Android開發(fā),用MYSQL作為后臺(tái)數(shù)據(jù)庫。系統(tǒng)以較為豐富多彩的形式展示自身優(yōu)勢,能夠及時(shí)進(jìn)行交流互動(dòng)。系統(tǒng)的界面簡潔、大方、美觀,操作方便,貼近人們?nèi)粘5纳暇W(wǎng)習(xí)慣。</p><p> 本系統(tǒng)基本實(shí)現(xiàn)了需求的中的天氣預(yù)報(bào)的功能,界面設(shè)計(jì)簡潔,使用方法簡單明了,具有一定的實(shí)用性。其中的天氣數(shù)據(jù)全部來源于網(wǎng)絡(luò),故在運(yùn)行時(shí)一定要確
94、保系統(tǒng)所處 環(huán)境的網(wǎng)絡(luò)流暢性。同時(shí)在設(shè)計(jì)之初考慮問題的不全面,使得在無 網(wǎng)狀態(tài)下設(shè)計(jì)不完善,運(yùn)行本系統(tǒng)在無網(wǎng)狀態(tài)下時(shí)會(huì)異常停止。而且由于本人的 技術(shù)有限,使得在GPS自動(dòng)定位時(shí)功能不穩(wěn)定。只有自己認(rèn)真動(dòng)手才能算真正的掌握,書本上的知識(shí)也不一定完全準(zhǔn)確,在遇到問 題時(shí)可以通過網(wǎng)上搜索的方式得到解決。</p><p> 在信息技術(shù)飛速發(fā)展的今天,網(wǎng)絡(luò)編程技術(shù)不斷推陳出新,這將
95、促使發(fā)布網(wǎng)站進(jìn)行不斷的改進(jìn)和完善。今后將及時(shí)豐富網(wǎng)站的內(nèi)容信息,運(yùn)用新技術(shù)或新媒介對系統(tǒng)進(jìn)行更新維護(hù),根據(jù)需要增加新的功能,刪去陳舊或冗余的功能,使其日益完善,更能為廣大個(gè)人使用服務(wù)。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 靳巖,姚尚朗. Google Android 開發(fā)入門與實(shí)戰(zhàn).人民郵電出版社</p><p
96、> [2]李剛.瘋狂Android講義[M].北京:電子工業(yè)出版社,2011. </p><p> [3] 王向輝,張國印,沈潔.Android應(yīng)用程序開發(fā).清華大學(xué)出版社,2010.3.</p><p> [4] [美]Lauren Darcey,Shane Conder. Andriod移動(dòng)開發(fā)一本就夠,張魏等譯.北京:人民郵電出版社,2011.</p>&l
97、t;p> [5]景保玉.2010中國移動(dòng)應(yīng)用開發(fā)現(xiàn)狀與趨勢大調(diào)查,2011.01.12.</p><p> [6] Michael J.Young. 輕松搞定XML 林嘉勝譯 2001.01.08.</p><p> [7](英)Herbert Schildt Java參考大全(J2SE 5 Edition),清華大學(xué)出版社</p><p> [8](
98、美)鮑格斯坦(Bergsten,H.)著,林琪,朱濤江 譯.JSP設(shè)計(jì)(第三版)</p><p> [9]Reilly Java系列[M].北京:中國電力出版社,2004.12.</p><p><b> 致謝</b></p><p> 經(jīng)過幾個(gè)月的不懈努力,和指導(dǎo)老師的諄諄教導(dǎo),以及同組同學(xué)的團(tuán)結(jié)協(xié)作,充分利用大學(xué)四年所學(xué)的專業(yè)知識(shí),通
99、過大量閱讀與設(shè)計(jì)相關(guān)的專業(yè)參考文獻(xiàn),我終于完成了本次畢業(yè)設(shè)計(jì),已經(jīng)基本上實(shí)現(xiàn)了科研管理信息系統(tǒng)的各項(xiàng)功能。</p><p> 通過這次畢業(yè)設(shè)計(jì),我掌握了Android開發(fā)平臺(tái)。對團(tuán)隊(duì)的協(xié)作,對軟件開發(fā)方法和手段,有了一定的認(rèn)識(shí),豐富了我的軟件開發(fā)的經(jīng)驗(yàn),提高了程序編寫的水平,并加深理解了許多課程中、科研本上學(xué)到的知識(shí)和理論。同時(shí),通過編寫畢業(yè)設(shè)計(jì)論文,我還基本掌握了書寫論文的能力</p><
100、p> 魯迅說,世上倘若有完全的人,那么存活的也就相當(dāng)有限。本系統(tǒng)盡管有自己的特色。但缺陷也是明顯的,如安全性,效率問題等等。由于時(shí)間,能力,國內(nèi)技術(shù)資料有限等原因,有些功能實(shí)現(xiàn)的并不完美,在已經(jīng)完成的程序中,也存在許多不盡人意的算法,也沒有統(tǒng)一優(yōu)化,系統(tǒng)有待進(jìn)一步改善,而這些問題也讓我充分認(rèn)識(shí)到了軟件開發(fā)的困難。</p><p> 通過畢業(yè)設(shè)計(jì),我學(xué)會(huì)了如何去了解一種新型的技術(shù),去掌握一種技術(shù)。以及軟件
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- android平臺(tái)天氣預(yù)報(bào)widget的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文
- android平臺(tái)天氣預(yù)報(bào)widget的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文
- 基于android的天氣預(yù)報(bào)軟件的設(shè)計(jì)與實(shí)現(xiàn)
- 基于android平臺(tái)的天氣預(yù)報(bào)系統(tǒng)的設(shè)計(jì)與開發(fā)畢業(yè)論文
- 軟件工程畢業(yè)論文-基于android系統(tǒng)的天氣預(yù)報(bào)查詢系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 軟件工程畢業(yè)論文-基于android的天氣預(yù)報(bào)查詢系統(tǒng)的實(shí)現(xiàn)
- 基于Android的天氣預(yù)報(bào)軟件的設(shè)計(jì)與實(shí)現(xiàn)論文(最新)12.doc
- android3g手機(jī)天氣預(yù)報(bào)系統(tǒng)-畢業(yè)論文
- 淺析基于android的天氣預(yù)報(bào)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)(論文原稿)
- 畢業(yè)論文——手機(jī)天氣預(yù)報(bào)系統(tǒng)
- 手機(jī)天氣預(yù)報(bào)系統(tǒng)畢業(yè)論文
- 基于android系統(tǒng)天氣預(yù)報(bào)應(yīng)用程序畢業(yè)論文
- 畢業(yè)論文——手機(jī)天氣預(yù)報(bào)系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)論文——手機(jī)天氣預(yù)報(bào)系統(tǒng)畢業(yè)設(shè)計(jì)
- 基于Android的天氣預(yù)報(bào)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于android的天氣預(yù)報(bào)查詢系統(tǒng)的實(shí)現(xiàn)畢業(yè)設(shè)計(jì)
- 基于android的天氣預(yù)報(bào)查詢系統(tǒng)的實(shí)現(xiàn)--畢業(yè)設(shè)計(jì)
- 基于android天氣預(yù)報(bào)課程設(shè)計(jì)
- 基于android手機(jī)天氣預(yù)報(bào)系統(tǒng)
- 基于android的天氣預(yù)報(bào)查詢系統(tǒng)的實(shí)現(xiàn)
評論
0/150
提交評論