基于Android平臺(tái)的天氣預(yù)報(bào)軟件設(shè)計(jì)(完整資料)_第1頁(yè)
基于Android平臺(tái)的天氣預(yù)報(bào)軟件設(shè)計(jì)(完整資料)_第2頁(yè)
基于Android平臺(tái)的天氣預(yù)報(bào)軟件設(shè)計(jì)(完整資料)_第3頁(yè)
基于Android平臺(tái)的天氣預(yù)報(bào)軟件設(shè)計(jì)(完整資料)_第4頁(yè)
基于Android平臺(tái)的天氣預(yù)報(bào)軟件設(shè)計(jì)(完整資料)_第5頁(yè)
已閱讀5頁(yè),還剩141頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

基于Android平臺(tái)的天氣預(yù)報(bào)軟件設(shè)計(jì)(完整資料)(可以直接使用,可編輯優(yōu)秀版資料,歡迎下載)

教學(xué)單位基于Android平臺(tái)的天氣預(yù)報(bào)軟件設(shè)計(jì)(完整資料)(可以直接使用,可編輯優(yōu)秀版資料,歡迎下載)學(xué)生學(xué)號(hào)本科畢業(yè)論文(設(shè)計(jì))題目基于Android平臺(tái)的天氣預(yù)報(bào)軟件設(shè)計(jì)學(xué)生姓名lion專業(yè)名稱指導(dǎo)教師2013年5月20日基于Android平臺(tái)的天氣預(yù)報(bào)軟件設(shè)計(jì)摘要:Google于2008年推出了一款名為Android的開源智能手機(jī)操作系統(tǒng),它采用Linux內(nèi)核,開放手機(jī)聯(lián)盟(OHA)成員可以任意使用和修改SDK包,系統(tǒng)的開源性使其具有良好的拓展性。Android的最大特點(diǎn)是其開放性體系架構(gòu),不僅具有非常好的開發(fā)、調(diào)試環(huán)境,而且還支持各種可擴(kuò)展的用戶體驗(yàn)。因此,對(duì)于軟件從業(yè)人員來(lái)說(shuō),Android平臺(tái)具有無(wú)限的吸引力.目前Android操作系統(tǒng)已經(jīng)成為用戶最多的智能操作系統(tǒng)。本天氣預(yù)報(bào)軟件的設(shè)計(jì),為Android終端用戶提供一款方便的實(shí)時(shí)天氣預(yù)報(bào)查詢軟件,為用戶帶來(lái)良好的用戶體驗(yàn)及便利的對(duì)天氣情況進(jìn)行掌控.本天氣預(yù)報(bào)軟件采用ViewFlipper組件,提供友好的界面滑動(dòng)切換方式,同時(shí)減少系統(tǒng)運(yùn)行時(shí)占用的空間。使用Files方式保存天氣信息,SharedPreferences保存用戶偏好設(shè)置,節(jié)約了文件存儲(chǔ)的空間.本文就在分析討論Android手機(jī)軟件開發(fā)技術(shù)原理的基礎(chǔ)上,利用Android中基本組件和常用設(shè)計(jì)模式,開發(fā)出能為用戶提供更好的基于Android平臺(tái)的手機(jī)天氣預(yù)報(bào)軟件。關(guān)鍵字:Android;天氣預(yù)報(bào);智能手機(jī)平臺(tái)DesignofweatherforecastsoftwareBasedontheAndroidAbstract:Googlein2008launchedaproductcalledtheAndroidopensourcesmartphoneoperatingsystem,whichusestheLinuxkernel,OpenHandsetAlliance(OHA)memberscanbefree(cuò)touseandmodifytheSDKpackage,opensource,ithasgoodscalabilityofthesystem.ThemostimportantfeatureofAndroidisitsopenarchitecture,notonlyhasaverygooddevelopmentanddebuggingenvironment,butalsosupportsavarietyofscalableuserexperience。Therefore,forsoftwareprofessionals,theAndroidplatformhasunlimitedappeal.Androidoperat(yī)ingsystemhasbecometheuserthemostintelligentoperatingsystem。TheweathersoftwaredesignedfortheAndroidenduserstoprovideaconvenient,real-timeweatherquerysoftware,toprovideuserswithagooduserexperienceandconvenienceofcontroloftheweatherconditions.TheweatherforecastsoftwaretheViewFlippercomponents,friendlyinterfaceslidingswitch,whilereducingthespaceoccupiedwhenthesystemisrunning.FilessavedWeatherInformation,SharedPreferencestosaveuserpreferencessettings,savethefilestoragespace。ThisarticleonthebasisofanalysisanddiscussionoftheAndroidmobilephonesoftwaredevelopmenttechnicalprinciples,usingthebasiccomponentsandcommondesignpatternsAndroid,developerscanprovideuserswithbettermobilephoneweatherforecastsoftwarebasedontheAndroidplatform.Keywords:Android;weatherforecast;smartphoneplat(yī)form目錄TOC\o”1—3"\h\z\uHYPERLINK\l”_Toc345586463”1系統(tǒng)概述PAGEREF_Toc345586463\h11.1研究?jī)?nèi)容PAGEREF_Toc345586464\h11.2研究意義PAGEREF_Toc345586465\h1HYPERLINK\l"_Toc345586466"1。3研究現(xiàn)狀和發(fā)展趨勢(shì)PAGEREF_Toc345586466\h1HYPERLINK\l"_Toc345586467”2系統(tǒng)分析PAGEREF_Toc345586467\h4HYPERLINKxmlns:xsd=”http:///2001/XMLSchema”

xmlns="http://WebXml。com.cn/”><string〉湖北</string><string>孝感〈/string>〈string>57482</string〉<string>57482.jpg</string>〈string〉2013-1-116:11:23</string><string〉-3℃/10℃</string><string〉1月1日多云〈/string>〈string〉無(wú)持續(xù)風(fēng)向微風(fēng)〈/string><string>1。gif〈/string><string〉1.gif</string〉<string>今日天氣實(shí)況:氣溫:11℃;風(fēng)向/風(fēng)力:南風(fēng)2級(jí);濕度:40%;空氣質(zhì)量:中;紫外線強(qiáng)度:最弱</string〉〈string>穿衣指數(shù):暫缺.過(guò)敏指數(shù):天氣條件極不易誘發(fā)過(guò)敏,可放心外出,享受生活。運(yùn)動(dòng)指數(shù):天氣較好,但考慮天氣寒冷,推薦您進(jìn)行室內(nèi)運(yùn)動(dòng),若在戶外運(yùn)動(dòng)請(qǐng)注意保暖并做好準(zhǔn)備活動(dòng)。洗車指數(shù):較適宜洗車,未來(lái)一天無(wú)雨,風(fēng)力較小,擦洗一新的汽車至少能保持一天.晾曬指數(shù):天氣不錯(cuò),午后溫暖的陽(yáng)光仍能滿足你驅(qū)潮消霉殺菌的晾曬需求。旅游指數(shù):多云,有時(shí)云會(huì)遮擋住陽(yáng)光,但絲毫不會(huì)影響您出行的心情。溫度適宜又有微風(fēng)相伴,很適宜旅游。路況指數(shù):天氣較好,路面比較干燥,路況較好.舒適度指數(shù):天氣較好,早晚會(huì)感覺偏涼,午后舒適、宜人。空氣污染指數(shù):氣象條件對(duì)空氣污染物稀釋、擴(kuò)散和清除無(wú)明顯影響,易感人群應(yīng)適當(dāng)減少室外活動(dòng)時(shí)間。紫外線指數(shù):屬弱紫外線輻射天氣,無(wú)需特別防護(hù)。若長(zhǎng)期在戶外,建議涂擦SPF在8—12之間的防曬護(hù)膚品。</string>〈string>—1℃/3℃〈/string>〈string>1月2日多云轉(zhuǎn)陰</string〉<string〉北風(fēng)3-4級(jí)</string>〈string>1.gif</string><string>2.gif</string><string>—1℃/1℃〈/string>〈string>1月3日陰轉(zhuǎn)雨夾雪〈/string><string〉北風(fēng)3-4級(jí)轉(zhuǎn)無(wú)持續(xù)風(fēng)向微風(fēng)</string><string>2。gif</string><string>6.gif</string><string>位于湖北省東北部,南臨省會(huì)武漢市,北與河南、隨州交界,西接天門、仙桃、京山等縣市,東連黃岡市的紅安縣和武漢市的黃陂區(qū)。因東漢孝子董永行孝感天而得名。孝感市是改革開放中發(fā)展起來(lái)的新興中等城市,轄孝南區(qū)、漢川市、應(yīng)城市、安陸市和云夢(mèng)縣、大悟縣、孝昌縣;國(guó)土面積11560平方公里,總?cè)丝冢担?萬(wàn)人。孝感是楚文化的重要發(fā)祥地之一.周代貳國(guó)、軫國(guó)、鄖國(guó)都建都于此。秦代竹簡(jiǎn)、秦漢漆器、東漢陶樓等國(guó)寶文物和楚王城等遺址展示了孝感絢麗多財(cái)?shù)墓糯幕?。剪紙、皮影、膏塑等傳統(tǒng)文化藝術(shù)源源流長(zhǎng).孝感市屬亞熱帶大陸性季風(fēng)氣候,四季分明,雨量充沛,溫暖濕潤(rùn),光照充足。全年主導(dǎo)風(fēng)向?yàn)闁|南風(fēng),年均氣溫在15.5—16.5°C之間。景觀:大洪山、白水寺、白云泉、石刻題記、董永故里、鄂豫邊區(qū)革命烈士陵園、高掛三潭、擂鼓墩古墓群?!?string></ArrayOfString>從上面天氣信息xml文件看出,有用的天氣信息都在〈string〉</string〉標(biāo)簽中,我們用pull解析器不斷解析,并保存string標(biāo)簽中的內(nèi)容便可以得到天氣信息。while(event!=XmlPullParser。END_DOCUMENT){?? switch(event){ ??caseXmlPullParser.START_TAG: ??if(”string"。equals(pullParser.getName())){? weat(yī)herInfos。add(pullParser.nextText()); ??}??? break;? ?} ? event=pullParser。next();??}4。3主要功能代碼本項(xiàng)目使用的代碼較多,本部分對(duì)天氣預(yù)報(bào)項(xiàng)目中核心代碼進(jìn)行解析,這部分代碼能夠完成天氣預(yù)報(bào)的查詢與顯示的基本功能,另外一部分代碼則實(shí)現(xiàn)的了能夠與用戶更好的交互,增加應(yīng)用的界面美觀的功能。4.3。1獲取天氣數(shù)據(jù)從http://www.webxml.com。cn/提供的WebService中獲取的天氣數(shù)據(jù),數(shù)據(jù)的獲取地址為:http://www.webxml。com.cn/WebServices/WeatherWebService.a(chǎn)smx代碼如下:/**通過(guò)城市名稱查詢天氣情況,并調(diào)用保存天氣函數(shù) * *@paramcityName城市名?*@return獲取成功則返回true,否則false?*@throwsException?*/publicbooleanqueryWeather(StringcityName)throwsException{??finalStringWEATHER_CITY=? ? "http://www.webxml。com.cn/WebServices/WeatherWebService。asmx”;? Stringsoap=readSoap();??soap=soap。replaceAll(”\\$cityNameaa”,cityName); byte[]entity=soap.getBytes();? Stringpath=WEATHER_CITY;??HttpURLConnectionconn=(HttpURLConnection)newURL(path)。openConnection();??conn.setConnectTimeout(5000);??conn。setRequestMethod("POST”); ?conn.setDoOutput(true);? conn。setRequestProperty(”Content—Type”,”application/soap+xml;charset=utf-8"); ?conn。setRequestProperty("Content—Length",String.valueOf(entity。length));? conn.getOutputStream().write(entity);??if(conn.getResponseCode()==200){ ?//保存天氣信息到xml文件 saveWeatherInfo(conn.getInputStream(),cityName);?? returntrue; ?? ??} ?returnfalse;}readSoap方法privatestaticStringreadSoap()throwsException{? InputStreaminputStream=QueryWeatherService。class。getClassLoader().getResourceAsStream("soap12.xml"); ?byte[]data=StreamTool.read(inputStream);? returnnewString(data);?}通過(guò)readSoap方法讀取src下soap12.xml文件,得到訪問(wèn)天氣預(yù)報(bào)的webService的標(biāo)準(zhǔn)天氣交互格式,查詢天氣時(shí)將xml中指定的城市名稱換成實(shí)際要查詢的天氣預(yù)報(bào)的城市名,然后提交查詢.然后獲取到天氣信息的輸入流對(duì)象。4.3.2網(wǎng)絡(luò)檢查publicstaticbooleanckeck(Contextcontext){??ConnectivityManagercon=(ConnectivityManager)context???.getSystemService(Context。CONNECTIVITY_SERVICE); ?NetworkInfonetworkinfo=con。getActiveNetworkInfo(); if(networkinfo==null||!networkinfo.isConnected()){ //當(dāng)前網(wǎng)絡(luò)不可用? returnfalse;??}? returntrue;?}檢查設(shè)備當(dāng)前是否接入網(wǎng)絡(luò),使用此功能需要在AndroidManifest。xml中添加訪訪問(wèn)權(quán)限:〈!--允許程序打開網(wǎng)絡(luò)套接字--><uses—permissionandroid:name="android.permission.INTERNET"/>〈!—-允許程序訪問(wèn)有關(guān)GSM網(wǎng)絡(luò)信息--〉〈uses-permissionandroid:name="android。permission.ACCESS_NETWORK_STATE"/〉4.3.3定時(shí)更新時(shí)間本程序一啟動(dòng)就會(huì)啟動(dòng)就會(huì)查看用戶偏好設(shè)置中用戶是否啟用自動(dòng)更新天氣服務(wù),若啟用,程序會(huì)啟動(dòng)TimeService這個(gè)后臺(tái)服務(wù),按照用戶設(shè)置進(jìn)行天氣信息更新。核心代碼如下:AlarmManageralarmManager=(AlarmManager)getSystemService(Context.ALARM_SERVICE);alarmManager。set(AlarmManager。RTC_WAKEUP,now+updateMilis,pendingIntent);至此,后臺(tái)服務(wù)介紹完畢,最后還需要在AndroidManifest.xml文件中注冊(cè)后臺(tái)服務(wù).〈serviceandroid:name=”ForecastService”></service><serviceandroid:name=”ForecastTimeService"></service>4.3。4ViewFlipper手勢(shì)監(jiān)聽七彩天氣主界面的Activity實(shí)現(xiàn)了OnGestureListener接口,下面onFling方法就是OnGestureListener中的一個(gè)方法,該方法實(shí)現(xiàn)了viewFlipper對(duì)滑動(dòng)手勢(shì)的監(jiān)聽,并完成滑動(dòng)切換效果.onFling中兩個(gè)MotionEvent參數(shù)分別是用戶做滑動(dòng)手勢(shì)時(shí),觸屏的起點(diǎn)位置和終點(diǎn)位置,通過(guò)getX()方法取出觸點(diǎn)的X軸坐標(biāo),計(jì)算終點(diǎn)X軸坐標(biāo)與起點(diǎn)X軸坐標(biāo),差值大于100dp,則認(rèn)為用戶使用滑動(dòng)手勢(shì),通過(guò)差值的正負(fù)來(lái)判斷用戶需要向左滑動(dòng)還是向右滑動(dòng),如果差值為正則從左向右滑動(dòng),反之從右向左滑動(dòng)。@Override publicbooleanonFling(MotionEvente1,MotionEvente2,floatvelocityX,?? float(yī)velocityY){ if(e2.getX()-e1.getX()〉100){//從左向右滑動(dòng)(左進(jìn)右出) ? if(myViewFlipper。isFlipping()){//如果ViewFlipper正在滑動(dòng),則不劃動(dòng)到下一頁(yè),沒有實(shí)現(xiàn) ? System。out.println("myViewFlipper.isFlipping");? returntrue; ? }? ?AnimationrInAnim=AnimationUtils.loadAnimat(yī)ion(Weat(yī)herActivity.this, ??R.a(chǎn)nim.push_right_in);//向右滑動(dòng)左側(cè)進(jìn)入的漸變效果(alpha0。1—>1.0) ? AnimationrOutAnim=Animat(yī)ionUtils.loadAnimation(WeatherActivity。this,? ??R.a(chǎn)nim.push_right_out);//向右滑動(dòng)右側(cè)滑出的漸變效果(alpha1.0—〉0。1)???myViewFlipper。setInAnimat(yī)ion(rInAnim);? ?myViewFlipper。setOutAnimation(rOutAnim);???myViewFlipper.showPrevious();? ?returntrue; }elseif(e2。getX()-e1。getX()〈-100){//從右向左滑動(dòng)(右進(jìn)左出)?? if(myViewFlipper。isFlipping()){//如果ViewFlipper正在滑動(dòng),則不劃動(dòng)到下一頁(yè)?? returntrue;? } ?AnimationlInAnim=AnimationUtils。loadAnimation(Weat(yī)herActivity.this, ? ?R。anim.push_left_in);//向左滑動(dòng)左側(cè)進(jìn)入的漸變效果(alpha0。1->1.0) ??AnimationlOutAnim=AnimationUtils.loadAnimation(WeatherActivity.this,?? R.anim.push_left_out);//向左滑動(dòng)右側(cè)滑出的漸變效果(alpha1.0->0。1)? myViewFlipper.setInAnimation(lInAnim); ? myViewFlipper。setOutAnimation(lOutAnim);? ?myViewFlipper.showNext(); ??returntrue; ?}? returntrue; }4.3。5城市管理中城市點(diǎn)擊事件城市管理中采用GridView以網(wǎng)格形式展現(xiàn)給用戶9個(gè)城市管理區(qū)域,用戶在這9個(gè)區(qū)域中可以自由添加或刪除關(guān)注的城市。GridViewItemClickListener中寫了當(dāng)GridView中某一個(gè)itme被點(diǎn)擊時(shí)所做出想響應(yīng).當(dāng)用戶點(diǎn)擊的位置對(duì)應(yīng)了一個(gè)用戶已經(jīng)關(guān)注的城市(即觸點(diǎn)在“+”前面),程序會(huì)先將本城市設(shè)定為首要城市,然后發(fā)送UI更新消息,更新城市天氣界面,最后將界面焦點(diǎn)自動(dòng)定位到城市天氣頁(yè)面;如果點(diǎn)擊位置對(duì)應(yīng)的是“+”,則彈出添加城市對(duì)話框;如果點(diǎn)擊位置在“+”之后,程序不會(huì)響應(yīng)這個(gè)事件。classGridViewItemClickListenerimplementsOnItemClickListener{? publicvoidonItemClick(AdapterView<?〉arg0,Viewarg1,intposition,??? longarg3){? ?System。out.println("GridViewItemClickListener");? ?preferencesService=newPreferencesService(w_context);? //得出當(dāng)前已經(jīng)設(shè)定的城市數(shù)目?? setCtiyNum=preferencesService.nowCityNum();???//如果點(diǎn)擊的位置小于當(dāng)前設(shè)定城市的數(shù)目,跳轉(zhuǎn)到position指定的城市天氣界面? if(position<setCtiyNum){????//添加代碼,跳到城市天氣那一頁(yè),并設(shè)定首要城市為選定的城市????StringselectCityName=preferencesService.getCityNameByCityNum(position+1);?? primaryCity=selectCityName;? preferencesService.setPrimaryCity(selectCityName); ? isParseWeather=getWeatherFromXML();//嘗試解析primaryCity天氣情況 ? if(!isParseWeat(yī)her){//如果不存在天氣文件,更新天氣,更新天氣完畢發(fā)送刷新消息? ???refreshWeather(primaryCity); ? ?}? ??//解析成功,發(fā)送更新第一個(gè)界面? Messagemsg=newMessage();? ?msg.what=1; ?myHandler.sendMessage(msg);? ??//跳到第一頁(yè) ?? myViewFlipper.setDisplayedChild(0);? ?}???//如果點(diǎn)擊的位置等于當(dāng)前設(shè)定城市的數(shù)目,跳轉(zhuǎn)到添加城市界面 ??elseif(position==setCtiyNum){ ???AddCityDialogshowDialog=newAddCityDialog(w_context,myHandler);//創(chuàng)建類對(duì)象 ?showDialog。Creat(yī)eDialog(ADD);//創(chuàng)建需要的dialog }//如果點(diǎn)擊的位置大于當(dāng)前設(shè)定城市的數(shù)目,不作處理?? }}4.4主要界面結(jié)構(gòu)布局代碼在用戶界面設(shè)計(jì)上,采用了ViewFlipper框架結(jié)構(gòu),提供直觀的交互操作以及體驗(yàn)良好的滑動(dòng)效果。4.4。1ViewFlipper框架結(jié)構(gòu)ViewFlipper中定義了四個(gè)界面分別是城市天氣、城市管理、生活指數(shù)、城市介紹,這四個(gè)界面是與用戶交互天氣信息最主要的界面.下面是的布局文件代碼。view_paper。xml<?xmlversion="1.0"encoding="utf—8"?>〈ViewFlipperxmlns:android=”http://schemas.a(chǎn)ndroid.com/apk/res/android"android:id="@+id/myViewFlipper"android:layout_width="fill_parent"?android:layout_height="fill_parent"?android:background="@drawable/bg_weather"〉〈includeandroid:id="@+id/weaehers”layout="@layout/city_weather”/><includeandroid:id=”@+id/citySetting"layout="@layout/city_setting”/><includeandroid:id=”@+id/environment”layout="@layout/city_environment”/〉<includeandroid:id=”@+id/cityIntro"layout="@layout/city_intro"/〉〈/ViewFlipper〉4。4.2城市管理界面城市管理界面以一個(gè)GridView顯示用戶已經(jīng)關(guān)注的城市,沒有關(guān)注的城市用空白表示,下面是城市管理界面布局文件的主要代碼:city_setting.xml<GridViewandroid:id="@+id/select_city"android:layout_width=”fill_parent"android:layout_height="fill_parent”android:gravity="center"android:horizontalSpacing="10dp"android:numColumns="3”android:verticalSpacing="18dp"android:columnWidth="120dp"〉</GridView〉4.4。3生活指數(shù)用戶可以用選擇列表選自自己關(guān)心的生活指數(shù)信息,下面是生活指數(shù)頁(yè)面布局文件主要部分。city_environment。xml<Relat(yī)iveLayoutandroid:layout_width="fill_parent”android:layout_h(yuǎn)eight="wrap_content"〉<LinearLayoutandroid:layout_width=”fill_parent" android:layout_height="wrap_content" android:orientation=”vertical">〈RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content"><Spinnerandroid:id="@+id/Spinner"? android:layout_width=”wrap_content”??android:layout_height=”wrap_content"? android:layout_alignParentRight="true"/〉?</RelativeLayout〉?<TextView android:id="@+id/CityLiving"?android:layout_marginTop="10dp” ?android:layout_width="fill_parent” ?android:layout_h(yuǎn)eight="wrap_content"? android:textSize=”16dp"/〉??〈/LinearLayout〉〈ImageViewandroid:id=”@+id/image"android:layout_width="wrap_content"android:layout_height="wrap_content”android:layout_alignParentBottom="true"android:src="@drawable/chenlian"/〉</RelativeLayout>4.4.4城市簡(jiǎn)介城市簡(jiǎn)介定義了一個(gè)ScrollView(卷軸視圖)展現(xiàn)城市簡(jiǎn)介信息,ScrollView能夠根據(jù)城市簡(jiǎn)介的內(nèi)容多少自動(dòng)收縮,始終保持展現(xiàn)在用戶眼前的事是一屏,當(dāng)城市簡(jiǎn)介內(nèi)容超過(guò)一屏?xí)r,視圖將以卷軸方式顯示內(nèi)容,保持界面美觀。city_intro。xml<ScrollViewandroid:id=”@+id/cityInfoScrollView"android:layout_marginTop=”8dp"android:layout_marginBottom="20dp”android:layout_width=”fill_parent”android:layout_h(yuǎn)eight=”wrap_content">〈TextViewandroid:id=”@+id/CityInfo” android:layout_width="fill_parent" ?android:layout_height=”wrap_content"??android:textSize="16dp”/〉〈/ScrollView>5系統(tǒng)測(cè)試至此已經(jīng)完成了Weather工程的代碼編寫工作,在這一章節(jié)對(duì)Weather工程進(jìn)行測(cè)試,步驟及結(jié)果如下:將軟件安裝到手機(jī)上,點(diǎn)擊weather啟動(dòng)程序,程序啟動(dòng)后,首次使用本程序會(huì)彈出添加城市對(duì)話框.圖9添加城市界面通過(guò)輸入框輸入城市名稱或直接點(diǎn)擊熱門城市,在這里我輸入“孝感”,設(shè)定關(guān)注城市后,如果手機(jī)接入網(wǎng)絡(luò),則會(huì)自動(dòng)加載天氣預(yù)報(bào).圖10城市天氣界面用鼠標(biāo)滑動(dòng)屏幕,將焦點(diǎn)切換到“城市介紹”頁(yè)面圖11城市介紹界面用鼠標(biāo)滑動(dòng)屏幕,將焦點(diǎn)切換到“生活指數(shù)”頁(yè)面,通過(guò)下拉列表查看關(guān)心的生活指數(shù),這里我查看“空氣指數(shù)”圖12生活指數(shù)界面用鼠標(biāo)滑動(dòng)屏幕,將焦點(diǎn)切換到“城市管理”頁(yè)面,目前只有孝感一個(gè)城市,我們可以點(diǎn)擊加號(hào)彈出添加城市的對(duì)話框,然后添加城市,由于此時(shí)添加的城市不是首要關(guān)注城市,所以不會(huì)自動(dòng)加載天氣信息。圖13城市管理界面點(diǎn)擊“北京"可以將北京設(shè)為首要關(guān)注城市,程序會(huì)自動(dòng)加載首要關(guān)注城市的天氣信息(當(dāng)然如果以前加載過(guò)該城市的天氣信息,系統(tǒng)不會(huì)再次自動(dòng)加載),并將界面焦點(diǎn)自動(dòng)滑動(dòng)到“城市天氣"界面圖14城市天氣界面用鼠標(biāo)滑動(dòng)屏幕,將焦點(diǎn)切換到“城市管理"頁(yè)面,長(zhǎng)按“北京”的那個(gè)item方框,會(huì)彈出城市操作對(duì)話框,可以對(duì)該城市進(jìn)行“更新天氣”、“更換城市"、“刪除城市”操作。圖15城市操作界面這里我點(diǎn)擊“刪除城市”會(huì)彈出提示對(duì)話框,點(diǎn)擊“確定”刪除城市,點(diǎn)擊“取消"取消刪除城市。這里點(diǎn)擊“確定”.圖16刪除城市提示界面由于之前“北京”被設(shè)定為首要關(guān)注城市,被刪除時(shí),系統(tǒng)會(huì)自動(dòng)把排在第一的“孝感"設(shè)定為首要城市圖17刪除城市后跳轉(zhuǎn)到城市天氣界面點(diǎn)擊menu按鈕彈出菜單,菜單中有“設(shè)置"、“關(guān)于”、“退出"三個(gè)選項(xiàng),“設(shè)置”可進(jìn)行自動(dòng)更新設(shè)定,“關(guān)于”顯示本程序及作者相關(guān)信息,“退出”將退出程序。這里點(diǎn)擊“設(shè)置”,彈出的自動(dòng)更新設(shè)置對(duì)話框可以設(shè)定程序自動(dòng)更新天氣。圖18定時(shí)更新設(shè)置界面總結(jié)經(jīng)過(guò)幾個(gè)月的努力,基于Android平臺(tái)手機(jī)氣象軟件終于完成了。在做這個(gè)畢業(yè)設(shè)計(jì)之前,我自學(xué)了一段時(shí)間的Android應(yīng)用程序開發(fā),對(duì)常用控件、Android四大組件及Activity生命周期有一定了解.當(dāng)我真正去完成這個(gè)畢業(yè)設(shè)計(jì)時(shí),我發(fā)現(xiàn)我之前自學(xué)的東西遠(yuǎn)遠(yuǎn)不夠完成這個(gè)天氣預(yù)報(bào)項(xiàng)目,但是我并不灰心,設(shè)計(jì)好軟件開發(fā)流程后,我分塊開發(fā)軟件,并針對(duì)這塊需要的知識(shí)進(jìn)行集中學(xué)習(xí),將以前所學(xué)的分散的、孤立的知識(shí)點(diǎn)融合在一起,并學(xué)會(huì)如何去處理不同控件組合到一起后產(chǎn)生的新問(wèn)題,并記錄這些問(wèn)題的處理方式,以便日后查看。在這個(gè)過(guò)程中,我學(xué)會(huì)了很多知識(shí),比如ViewFlipper、Broadcast以及BroadcastReceive等高級(jí)組件的使用,同時(shí)對(duì)Android應(yīng)用開發(fā)基礎(chǔ)知識(shí)重新進(jìn)行了一次系統(tǒng)學(xué)習(xí),使我對(duì)Android應(yīng)用開發(fā)基本知識(shí)有了更進(jìn)一步的理解.在完成這個(gè)畢業(yè)設(shè)計(jì)的時(shí)候,我遇到了很多困難,由于我的Android是自學(xué)的,對(duì)知識(shí)掌握不夠全面,經(jīng)常遇到一些無(wú)從下手的問(wèn)題,這讓我學(xué)到更多,當(dāng)我遇到問(wèn)題時(shí),我首先會(huì)到網(wǎng)絡(luò)上查看能夠幫助自己的信息,如果百度解決不了問(wèn)題,我會(huì)在我加的幾個(gè)Android技術(shù)討論群中尋求幫助,與他們討論問(wèn)題產(chǎn)生的原因及解決方式,深入去了解他們的運(yùn)行機(jī)制,這又讓我結(jié)識(shí)了一些Android技術(shù)方面的朋友,體會(huì)到了互幫互助的精神。這是我覺得在本次天氣預(yù)報(bào)開發(fā)中學(xué)到的最受益的東西。雖然,這個(gè)軟件代碼的健壯行還目前運(yùn)行良好,但是我認(rèn)為很差,在整個(gè)工程的構(gòu)思方面也不足,用戶操作界面還不夠靈活,這些問(wèn)題還需要今后逐一解決。與此同時(shí),這個(gè)軟件還可以進(jìn)一步擴(kuò)展,例如“關(guān)注城市新聞推送”、“生活百寶箱”等,使功能更加強(qiáng)大,帶給用戶更好的體驗(yàn)與生活的便捷。參考文獻(xiàn)[1]靳巖,姚尚朗.GoogleAndroid開發(fā)入門與實(shí)戰(zhàn).人民郵電出版社[2]景保玉.2010中國(guó)移動(dòng)應(yīng)用開發(fā)現(xiàn)狀與趨勢(shì)大調(diào)查,2011年01月12日[3]MichaelJ.Young.輕松搞定XML林嘉勝譯2001年01月08日[4](英)HerbertSchildtJava參考大全(J2SE5Edition),北京:清華大學(xué)出版社[5]王向輝,張國(guó)印,沈潔.Android應(yīng)用程序開發(fā).北京:清華大學(xué)出版社,2010年3月[6]楊豐盛。Android應(yīng)用開發(fā)揭秘.北京:機(jī)械工業(yè)出版社,2010年1月[7]ZhuTingting,TheSynthesisoftheApplicationSoftwaresBasedonAndroidOperatingSystem,Computer&Telecommunication,2011年01期,23—25[8]杜艷綏.基于Android平臺(tái)架構(gòu)應(yīng)用程序開發(fā)研究[J]電腦編程技巧與維護(hù),2013,(06).致謝本課題的設(shè)計(jì)和論文撰寫過(guò)程中,我的指導(dǎo)老師XX老師給于了極大的幫助,為我提供了大量的相關(guān)資料。在完成課題設(shè)計(jì)的過(guò)程中,老師在總體設(shè)計(jì)思想上給予了許多重要的實(shí)際指導(dǎo),拓展了我的思路,使得我得以完成了任務(wù).在此,我對(duì)焦家林老師的指導(dǎo)表示衷心的感謝。同時(shí),我也衷心的感謝XX學(xué)校四年來(lái)對(duì)我的精心栽培,良好的校園環(huán)境、精良的師資隊(duì)伍、濃厚的校園文化都讓我深深懷念,都為我進(jìn)入社會(huì)提供了莫大的幫助。保密類別__(dá)____(dá)編號(hào)_____(dá)___本科畢業(yè)論文基于Android平臺(tái)的手機(jī)電子書閱讀器設(shè)計(jì)院(系)別傳媒技術(shù)學(xué)院專業(yè)數(shù)字媒體技術(shù)班級(jí)08數(shù)媒技術(shù)(影視)姓名王哲學(xué)號(hào)201010014指導(dǎo)教師王莉莉中國(guó)傳媒大學(xué)南廣學(xué)院2012年4月12日摘要在科技日益發(fā)達(dá)的今天,社會(huì)競(jìng)爭(zhēng)越來(lái)越激烈,這要求人們不斷的攝取信息來(lái)充實(shí)自己.要求人們能隨時(shí)隨地的了解并獲取所需的信息。在這種情況下,電子書閱讀器剛好滿足了人們便捷地獲取信息的需求.本文設(shè)計(jì)的手機(jī)電子書閱讀器是基于Android平臺(tái)設(shè)計(jì)的,Android平臺(tái)是目前發(fā)展最快、最具市場(chǎng)前景的智能手機(jī)操作系統(tǒng)。本系統(tǒng)是根據(jù)GoogleAndroid平臺(tái)用戶的喜好和其平臺(tái)的特性而設(shè)計(jì)的,在GoogleAndroid平臺(tái)自帶的SDK1.5環(huán)境下,運(yùn)用Eclipse,Photoshop等相關(guān)工具進(jìn)行開發(fā)的。本文介紹了GoogleAndroid開發(fā)的流程,討論了基于Android平臺(tái)應(yīng)用程序開發(fā)的關(guān)鍵技術(shù),對(duì)手機(jī)電子書閱讀器做了詳細(xì)的需求分析,并重點(diǎn)介紹了基于Android平臺(tái)的手機(jī)電子書閱讀器的總體設(shè)計(jì),主要包括手機(jī)電子書閱讀器的架構(gòu)設(shè)計(jì)、各功能模塊的設(shè)計(jì)與實(shí)現(xiàn)。?本文設(shè)計(jì)的手機(jī)電子書閱讀器通過(guò)了功能和性能方面的測(cè)試,證明了本文設(shè)計(jì)方案的可行性.通過(guò)對(duì)基于Android平臺(tái)手機(jī)電子書閱讀器的設(shè)計(jì)與實(shí)現(xiàn)的介紹,希望能為今后開發(fā)出功能更強(qiáng)大的閱讀器提供有益的借鑒。關(guān)鍵詞:Android平臺(tái);電子書閱讀器;JavaABSTRACTToday,it’samoreadvancedintechnology,increasinglycompetitivesociety,whichrequirespeopletotheintakeofinformationtoenrichthemselves.Requirespeopletoalwaysbeintheknowandgettherequiredinformation。Inthiscase,thenewsreaderjusttomeettheneedsofpeopleknowofexternalobjects。InthispapertheebookreaderismobilephonedesignbasedontheAndroidplatformofthedesign,Androidplatformisthefastestdeveloping,themostmarketprospectofsmartphoneoperatingsystem.Inthissystem,GoogleAndroidplatformisbasedontheuser’spreferencesandcharacteristicsofitsplatformdesigned,inGoogleAndroidplatform,comeswithSDK1.5environment,theuseoftheEclipse,PhotoShopandothertoolsfordevelopment.ThisarticleintroducesthedevelopmentprocessoftheGoogleAndroid,discussestheapplicat(yī)iondevelopmentbasedontheAndroidplat(yī)formofthekeytechnology,todoadetailedanalysisofthedemandforMobilephoneebookandintroducesthefocusonMobilephoneebookreaderoverall'sdesign.includestheebookreadermobilephonedesignmainly,architecturedesignandthefunctionofthesystem.Inthispapertheebookreaderthroughmobilephonedesignofthefunctionandperformancetest,provedthefeasibilityofthisdesign.ThroughtotheAndroidplatformbasedonmobilephoneebookreaderdesignandimplementationoftheintroduction,thehopeforthedevelopmentinthefuturemorepowerfulofferbeneficialreferenceforthereader.Keywords:Android;E-bookreader;Java目錄TOC\o"1—2"\h\z\u摘要PAGEREF_Toc322855401\hIHYPERLINK\l"_Toc322855402”ABSTRACTPAGEREF_Toc322855402\hII緒論P(yáng)AGEREF_Toc322855403\h1_Toc322855407"一、相關(guān)理論及關(guān)鍵技術(shù)PAGEREF_Toc322855407\h3HYPERLINK\l”_Toc322855408"(一)Andriod特征PAGEREF_Toc322855408

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論