版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
Ⅱ Ⅰ基于Android平臺(tái)的天氣預(yù)報(bào)系統(tǒng)的設(shè)計(jì)與開發(fā)摘要:安卓是谷歌于2008年推出的一個(gè)智能手機(jī)操作系統(tǒng),其獨(dú)特的設(shè)計(jì)模式使得開發(fā)手機(jī)軟件變得非常簡單。該論文介紹了一款安卓天氣預(yù)報(bào)的設(shè)計(jì)與實(shí)現(xiàn)過程。用戶可以通過主界面選擇城市來獲得包括風(fēng)力、風(fēng)向、紫外線強(qiáng)度等的天氣信息。基于手機(jī)的天氣預(yù)報(bào)系統(tǒng)能夠使用戶對(duì)于各地的天氣情況實(shí)時(shí)掌握,方便用戶的出行和行程安排,具有一定的實(shí)用性。關(guān)鍵字:實(shí)時(shí)預(yù)報(bào),Android,溫度檢測(cè),定位TheDesignandDevelopmentofWeatherForecastSystembasedontheAndroidSystemAbstract:AndroidisaSmartphonesystemlaunchedbyGooglein2008,whoseuniquedesignpatternmakesiteasiertodevelopmobilephonesoftwares.ThepaperintroducestheprocessofthedesignandimplementationofaAndroidweatherforecastsystem.Userscanchooseacitywhathelikesfromthehomescreentogetaccesstotheweatherinformation,includingwind,winddirection,strongofultravioletlightandsoon.Weatherforecastsystembasedonmobilephoneenablesuserstotakethereal-timecontrolofweatherconditionsofallparts,thusbringinggreatconveniencetotheuser'stravelandtravelarrangements,andhasacertainpracticalityKeywords:real-timeforecast,Android,Temperaturedetection,location畢業(yè)論文(設(shè)計(jì))原創(chuàng)性聲明本人所呈交的畢業(yè)論文(設(shè)計(jì))是我在導(dǎo)師的指導(dǎo)下進(jìn)行的研究工作及取得的研究成果。據(jù)我所知,除文中已經(jīng)注明引用的內(nèi)容外,本論文(設(shè)計(jì))不包含其他個(gè)人已經(jīng)發(fā)表或撰寫過的研究成果。對(duì)本論文(設(shè)計(jì))的研究做出重要貢獻(xiàn)的個(gè)人和集體,均已在文中作了明確說明并表示謝意。作者簽名:日期:畢業(yè)論文(設(shè)計(jì))授權(quán)使用說明本論文(設(shè)計(jì))作者完全了解**學(xué)院有關(guān)保留、使用畢業(yè)論文(設(shè)計(jì))的規(guī)定,學(xué)校有權(quán)保留論文(設(shè)計(jì))并向相關(guān)部門送交論文(設(shè)計(jì))的電子版和紙質(zhì)版。有權(quán)將論文(設(shè)計(jì))用于非贏利目的的少量復(fù)制并允許論文(設(shè)計(jì))進(jìn)入學(xué)校圖書館被查閱。學(xué)校可以公布論文(設(shè)計(jì))的全部或部分內(nèi)容。保密的論文(設(shè)計(jì))在解密后適用本規(guī)定。
作者簽名:指導(dǎo)教師簽名:日期:日期:
注意事項(xiàng)1.設(shè)計(jì)(論文)的內(nèi)容包括:1)封面(按教務(wù)處制定的標(biāo)準(zhǔn)封面格式制作)2)原創(chuàng)性聲明3)中文摘要(300字左右)、關(guān)鍵詞4)外文摘要、關(guān)鍵詞5)目次頁(附件不統(tǒng)一編入)6)論文主體部分:引言(或緒論)、正文、結(jié)論7)參考文獻(xiàn)8)致謝9)附錄(對(duì)論文支持必要時(shí))2.論文字?jǐn)?shù)要求:理工類設(shè)計(jì)(論文)正文字?jǐn)?shù)不少于1萬字(不包括圖紙、程序清單等),文科類論文正文字?jǐn)?shù)不少于1.2萬字。3.附件包括:任務(wù)書、開題報(bào)告、外文譯文、譯文原文(復(fù)印件)。4.文字、圖表要求:1)文字通順,語言流暢,書寫字跡工整,打印字體及大小符合要求,無錯(cuò)別字,不準(zhǔn)請(qǐng)他人代寫2)工程設(shè)計(jì)類題目的圖紙,要求部分用尺規(guī)繪制,部分用計(jì)算機(jī)繪制,所有圖紙應(yīng)符合國家技術(shù)標(biāo)準(zhǔn)規(guī)范。圖表整潔,布局合理,文字注釋必須使用工程字書寫,不準(zhǔn)用徒手畫3)畢業(yè)論文須用A4單面打印,論文50頁以上的雙面打印4)圖表應(yīng)繪制于無格子的頁面上5)軟件工程類課題應(yīng)有程序清單,并提供電子文檔5.裝訂順序1)設(shè)計(jì)(論文)2)附件:按照任務(wù)書、開題報(bào)告、外文譯文、譯文原文(復(fù)印件)次序裝訂3)其它
目錄1.緒論 .緒論系統(tǒng)開發(fā)的目的由于智能手機(jī)的快速普及,智能操作系統(tǒng)在手機(jī)市場(chǎng)占據(jù)了很大一部分,其中以Andriod和iOS最為流行。為了讓智能手機(jī)用戶能夠隨時(shí)隨地查詢互聯(lián)網(wǎng)所提供的信息,一種非常高效的方法就是將網(wǎng)絡(luò)系統(tǒng)的功能擴(kuò)展到智能手機(jī)終端上,讓手機(jī)能夠通過移動(dòng)網(wǎng)絡(luò)訪問Web網(wǎng)站并處理各種各樣的業(yè)務(wù)。由于在大學(xué)學(xué)習(xí)過java語言,并且Andriod系統(tǒng)是基于java語言開發(fā)的,因此想開發(fā)一套基于Andriod平臺(tái)的3G手機(jī)氣象軟件,并從網(wǎng)上獲取天氣預(yù)報(bào)信息。Android平臺(tái)的天氣預(yù)報(bào)軟件的開發(fā)可以進(jìn)一步擴(kuò)大氣象信息的覆蓋面,讓廣大Android手機(jī)用戶能夠在第一時(shí)間獲取最新的天氣預(yù)報(bào)信息,以便提前預(yù)防,方便出行。同時(shí),把氣象災(zāi)害造成的損失降到最低,也可以提高公共服務(wù)質(zhì)量,更好的發(fā)揮氣象事業(yè)對(duì)經(jīng)濟(jì)社會(huì)發(fā)展的現(xiàn)實(shí)性作用,有巨大的實(shí)用價(jià)值。雖然該技術(shù)在Android平臺(tái)已經(jīng)比較成熟,但是通過該軟件的開發(fā)仍然能幫助我更好的認(rèn)識(shí)Android系統(tǒng)的工作原理。系統(tǒng)開發(fā)工具(1)win7系統(tǒng)jdk1.8(2)Eclipse標(biāo)準(zhǔn)版及ADT插件(3)SensorSimulator(用來模擬安卓手機(jī)中的溫度傳感器)1.3項(xiàng)目需求分析(1)系統(tǒng)能夠通過手機(jī)精確定位全國各個(gè)城市未來幾天的天氣情況(2)系統(tǒng)具有安全性,獨(dú)立性,可靠性(3)系統(tǒng)界面設(shè)計(jì)優(yōu)美,符合用戶的操作習(xí)慣,且在一定程度上節(jié)省流量開銷2.項(xiàng)目設(shè)計(jì)2.1系統(tǒng)架構(gòu)圖點(diǎn)擊圖標(biāo)進(jìn)入系統(tǒng)系統(tǒng)點(diǎn)擊圖標(biāo)進(jìn)入系統(tǒng)系統(tǒng)顯示天氣預(yù)報(bào)主界面顯示天氣預(yù)報(bào)主界面點(diǎn)擊城市下拉列表點(diǎn)擊城市下拉列表選擇想要查詢的城市選擇想要查詢的城市跳轉(zhuǎn)到該城市的天氣信息界面跳轉(zhuǎn)到該城市的天氣信息界面界面 圖2.1系統(tǒng)構(gòu)架圖2.2webservice網(wǎng)絡(luò)拓?fù)鋱D本系統(tǒng)是基于提供webservice服務(wù)的網(wǎng)站接收數(shù)據(jù),然后對(duì)數(shù)據(jù)進(jìn)行解析,從中找到需要的數(shù)據(jù)。如圖2.2所示為提供webservice服務(wù)的網(wǎng)站網(wǎng)絡(luò)拓?fù)鋱D 圖2.2網(wǎng)絡(luò)拓?fù)鋱D2.3項(xiàng)目框架 圖2.3工程目錄其中GPSActivity用來處理GPS定位信息,WeatherWebServiceActivity為天氣預(yù)報(bào)主界面類,WebServiceUtil用來處理從網(wǎng)站中接收的數(shù)據(jù),ConverUtil為處理經(jīng)緯度轉(zhuǎn)換的類,LoginActivity是處理登錄界面的類。3.GoogleAndroid平臺(tái)的相關(guān)理論 3.1GoogleAndroid移動(dòng)平臺(tái)下的應(yīng)用研究Android系統(tǒng)提供給應(yīng)用程序開發(fā)者的只是一個(gè)框架,在該平臺(tái)下開發(fā)應(yīng)用程序必須要遵守這個(gè)框架原則。我們開發(fā)的應(yīng)用程序其實(shí)就是在這個(gè)框架上進(jìn)行拓展,下面介紹一下android這個(gè)框架所提供的功能。Android.app:提供最上層的程序模型和運(yùn)行環(huán)境Android.content:包含對(duì)設(shè)備上的數(shù)據(jù)進(jìn)行訪問和發(fā)布的類Android.database:Android系統(tǒng)內(nèi)置一個(gè)輕量級(jí)的SQLite數(shù)據(jù)庫Android.graphics:底層的圖形庫,包含顏色過濾,畫布,矩形,點(diǎn),可以用來將它們直接繪制到屏幕上。A:提供用來幫助訪問網(wǎng)絡(luò)的類。Android.location:定位以及與定位有關(guān)的一些類。Android.util:涉及到一些實(shí)用性的方法,例如對(duì)時(shí)間和日期進(jìn)行操作。Android.media:提供一些管理多種視頻,音頻的媒體接口。Android.os:提供了系統(tǒng)服務(wù),IPC機(jī)制和消息傳輸。Android.opngl:提供了OpenGL的工具。Avider:提供了訪問Android中的內(nèi)容提供者的類。Android.telephony:提供用來與撥打電話相關(guān)的API交互的類。Android.view:提供最基本的用戶界面接口框架。Addroid.webkit:提供用來調(diào)用默認(rèn)瀏覽器的接口。Android.widget包含各種UI元素,可以在應(yīng)用程序的布局中使用。3.2Android關(guān)鍵技術(shù)研究Android平臺(tái)是基于java語言開發(fā)的,其中主要由四大組建構(gòu)成,分別為:Activity、Service、BroadcastReceiver、ContentProvider。1.ActivityActivity就是一個(gè)用戶界面,每一個(gè)Activity就是一個(gè)獨(dú)立的界面。比如照相機(jī)程序,實(shí)現(xiàn)一個(gè)拍照的Activity,短信也是一個(gè)Activity,撥號(hào)界面也是一個(gè)Activity等等,這些Activity都是相互獨(dú)立的,但組合在一起它們就變成一個(gè)完整功能的應(yīng)用程序了。我們可以把Activity理解成java中的JFrame控件,不過它與JFrame的區(qū)別在于:java中的JFrame本身可以設(shè)置布局管理器,不斷的向JFrame中添加組件,但Activity只能通過setContentView(layout)方法在主界面顯示布局。2.ServiceService與Activity的地位是相同的,它也代表一個(gè)獨(dú)立的Android組件,Service與Activity的區(qū)別在于:Service通常在后臺(tái)運(yùn)行,它不需要與用戶進(jìn)行交互,因此Service沒有用戶界面。與Activity需要繼承Activity的基類一樣,Service同樣也需要繼承Service基類。當(dāng)一個(gè)Service組件在后臺(tái)運(yùn)行起來后,它就會(huì)和Acitivity同樣也有自己的生命周期。Service組件通常用于為一些不需要界面但是又必須在后臺(tái)運(yùn)行的程序提供服務(wù),比如音樂或者音頻播放軟件。3.BroadcastReceiver中文意思是廣播接收者,顧名思義它主要就是用來接收來自廣播和系統(tǒng)中的應(yīng)用程序發(fā)送的消息。在Android中廣播的用處非常廣泛,例如當(dāng)開機(jī)后會(huì)自動(dòng)產(chǎn)生一條廣播,接收到這條廣播后系統(tǒng)就能及時(shí)的做出提示和保存數(shù)據(jù)等操作;當(dāng)電池電量低的時(shí)候系統(tǒng)也會(huì)產(chǎn)生一條廣播,這樣就能及時(shí)提示用戶進(jìn)行充電等的操作。本質(zhì)上BroadcastReceiver就是一種全局的監(jiān)聽器,我們用它來監(jiān)聽系統(tǒng)向應(yīng)用程序發(fā)送的廣播消息?;谝陨纤鑫覀兛梢杂盟浅7奖愕膶?shí)現(xiàn)系統(tǒng)中不同組件之間的相互通信。4.ContentProvider它是不同APP之間進(jìn)行交換數(shù)據(jù)的核心的API,ContentProvider在系統(tǒng)中以某種URI的形式對(duì)外提供數(shù)據(jù),允許其他應(yīng)用查詢或者修改數(shù)據(jù);其他應(yīng)用程序使用ContentResolver根據(jù)URI去訪問和操作指定的數(shù)據(jù)。事實(shí)上這里有一個(gè)簡單的類比:可以把ContentProvider看作安卓系統(tǒng)內(nèi)部提供的一個(gè)網(wǎng)站,這個(gè)網(wǎng)站以固定的URI對(duì)外提供服務(wù);而ContentResolver可以當(dāng)成系統(tǒng)內(nèi)部的HttpClient,它可以向指定的URI發(fā)送請(qǐng)求,這種請(qǐng)求最后委托給ContentProvider處理,從而實(shí)現(xiàn)對(duì)網(wǎng)站內(nèi)部數(shù)據(jù)進(jìn)行操作。3.3小結(jié)本單元主要概括了關(guān)于Android平臺(tái)的三個(gè)方面的內(nèi)容:1.Googleandroid移動(dòng)平臺(tái)的概述2.googleandroid移動(dòng)平臺(tái)開發(fā)過程的研究3.Googleandroid移動(dòng)平臺(tái)下的應(yīng)用研究,概要的介紹了Googleandroid移動(dòng)平臺(tái)相關(guān)知識(shí),4.介紹了Android平臺(tái)下的四大組件的相關(guān)內(nèi)容。通過本章我們對(duì)Googleandroid移動(dòng)平臺(tái)有初步的認(rèn)識(shí)和了解,為后面的開發(fā)做了堅(jiān)實(shí)的基礎(chǔ)。4.天氣預(yù)報(bào)程序設(shè)計(jì)4.1Android的UI界面的實(shí)現(xiàn)在Android中用戶界面都是布局在XML文件中的。這些XML文件放在工程/res/layout下面。這對(duì)以前熟悉java可視化編程的人來說可能有些不太習(xí)慣。可能有人疑問為什么要把布局文件放在XML文件里呢?其實(shí)有過web基礎(chǔ)的都應(yīng)該知道m(xù)vc框架,這是一種用于網(wǎng)站開發(fā)的非常優(yōu)秀的思想,在安卓系統(tǒng)中,安卓開發(fā)人員把用戶界面放在XML文檔中定義,這樣就可以讓XML文檔專門負(fù)責(zé)用戶UI界面設(shè)置,而java程序?qū)iT負(fù)責(zé)業(yè)務(wù)實(shí)現(xiàn),從而降低程序的耦合,便于程序的維護(hù)和擴(kuò)展,符合mvc設(shè)計(jì)思想。在XML中Android開發(fā)人員放置了很多我們經(jīng)常用到的一些組件,比如view,Button,EditText等,通過這些系統(tǒng)提供的控件,我們可以開發(fā)出我們想要的程序界面來。Layout是一類特殊的ViewGroup控件,它們本身并不顯示任何的內(nèi)容,存在的惟一原因就是其中的內(nèi)部結(jié)構(gòu),能夠更好地?cái)[放它的子控件。比如Linearlayout(線性布局),可將子控件按水平或垂直方向按順序排列下去;Tablelayout(表格布局),可以將子控件按照表格的形式,一枚枚放置好;Relativelayout(相對(duì)布局),實(shí)際應(yīng)用中這個(gè)布局更靈活,它可以設(shè)定各個(gè)控件之間的對(duì)齊和排列關(guān)系,適合編寫復(fù)雜的界面。有了Layout的存在,控件和控件之間不再是獨(dú)立地存在,而是更有機(jī)地結(jié)合在一起,設(shè)定起來也更為方便。 在本程序中布局文件我一共用到了如圖4.1所示的布局文件圖4.1布局文件圖其中city_detail用來顯示城市簡介的信息,city_environment用來顯示當(dāng)前所在城市的生活指數(shù)信息,city_layout用來顯示用來選擇城市布局,content_layout用來顯示天氣情況,gps_view用來顯示gps定位信息,login用來顯示登錄歡迎界面,main包含了用來切換的三個(gè)界面,tqyb顯示主界面布局4.2歡迎界面的實(shí)現(xiàn)考慮到程序界面的美觀效果,在進(jìn)入主界面之前我首先設(shè)置了一個(gè)用來跳轉(zhuǎn)的Activity,并命名為LoginActivity。在LoginActivity中顯示login布局 Timertimer=newTimer(); finalIntentintent=newIntent(this,edu.njue.app.WeatherWebServiceActivity.class); TimerTasktask=newTimerTask(){ @Override publicvoidrun(){ startActivity(intent); LoginActivity.this.finish(); } }; timer.schedule(task,1000); }程序顯示畫面一秒后會(huì)進(jìn)入主程序天氣界面,如圖4.2所示程序歡迎界面圖4.2歡迎界面圖4.3主界面功能實(shí)現(xiàn) 第一次安裝好進(jìn)入程序界面時(shí),系統(tǒng)會(huì)顯示“本程序是第一次運(yùn)行,請(qǐng)選擇想要了解的城市”的窗口。在這里我把默認(rèn)城市設(shè)置為南京,如果用戶不單擊城市選擇按鈕的時(shí)候,則會(huì)顯示的是南京近兩天的天氣情況。如圖4.3所示。第一次運(yùn)行時(shí),我是通過在手機(jī)文件系統(tǒng)中判斷是否存在一個(gè)名為shared_prefs的文件來判斷是否為第一次運(yùn)行,如果存在則不是第一次運(yùn)行,系統(tǒng)會(huì)繼續(xù)執(zhí)行向下執(zhí)行代碼,如果系統(tǒng)中不存在該文件,則為第一次運(yùn)行該程序,程序彈出對(duì)話框告訴用戶。圖4.3第一次運(yùn)行效果圖在主程序界面,我運(yùn)用的主要是ViewFlipper組件,通過該組件可以實(shí)現(xiàn)滑動(dòng)顯示界面,不過在設(shè)置滑動(dòng)界面之前我們要先設(shè)定滑動(dòng)的動(dòng)畫。該動(dòng)畫實(shí)在res\anim中設(shè)置,如圖4.4所示為左右滑動(dòng)效果布局圖4.4界面滑動(dòng)布局其中l(wèi)eft_in中的代碼為:<setxmlns:android="/apk/res/android"><translateandroid:fromXDelta="100%p"android:toXDelta="0"android:duration="500"/><alphaandroid:fromAlpha="0.1"android:toAlpha="1.0"android:duration="500"/></set>其他四個(gè)與此基本相似,在此不再列出。當(dāng)我們定義了滑動(dòng)效果之后還要在main.xml中把想要滑動(dòng)的布局包含進(jìn)去。<ViewFlipperandroid:id="@+id/viewFlipper"android:layout_width="match_parent"android:layout_height="match_parent"><includelayout="@layout/tqyb"/><includeandroid:id="@+id/city_envrionment"layout="@layout/city_environment"/> <includeandroid:id="@+id/city_detail" layout="@layout/city_detail"/> </ViewFlipper>"有了這個(gè)布局之后我們就可以在主程序界面調(diào)用界面進(jìn)行切換了。主程序?qū)崿F(xiàn)觸屏監(jiān)聽接口,監(jiān)聽觸摸時(shí)的x,y坐標(biāo),以及當(dāng)手指離開時(shí)的坐標(biāo),如果兩者之間的距離大于或小于100像素,則認(rèn)為想要實(shí)現(xiàn)滑動(dòng)。publicbooleanonTouch(Viewv,MotionEventevent){ if(event.getAction()==MotionEvent.ACTION_DOWN){ touchDownX=event.getX(); returntrue; }elseif(event.getAction()==MotionEvent.ACTION_UP){ touchUpX=event.getX(); if(touchUpX-touchDownX>100){//從左往右滑動(dòng) viewFlipper.setAnimation(AnimationUtils.loadAnimation(this,android.R.anim.slide_in_left)); viewFlipper.setAnimation(AnimationUtils.loadAnimation(this,android.R.anim.slide_out_right)); viewFlipper.showPrevious(); }elseif(touchDownX-touchUpX>100){ viewFlipper.setAnimation(AnimationUtils.loadAnimation(this,R.anim.right_in)); viewFlipper.setAnimation(AnimationUtils.loadAnimation(this,R.anim.left_out)); viewFlipper.showNext(); } returntrue; } returnfalse; }獲取天氣信息并顯示天氣預(yù)報(bào)系統(tǒng)最重要的當(dāng)然是如何才能有效的獲取天氣信息了,要想獲取實(shí)時(shí)的天氣信息,我們就要訪問專門提供天氣信息的網(wǎng)站把網(wǎng)站返回的信息解析出想要的信息并顯示在手機(jī)上。通過網(wǎng)上的搜索,我找到了一個(gè)提供webservice的網(wǎng)站:/webservices/weatherwebservice.asmx通過向這個(gè)網(wǎng)站提供參數(shù)就可以獲取指定城市的天氣信息了,該網(wǎng)站是從中央氣象臺(tái)接收的信息,數(shù)據(jù)準(zhǔn)確可靠。每隔兩個(gè)小時(shí)更新一次天氣情況,具有很好的實(shí)時(shí)性。Webservice的出現(xiàn)成功的解決了不同平臺(tái)和語言之間進(jìn)行數(shù)據(jù)交換的問題,它主要使用XML文檔來傳遞消息,并將該消息發(fā)送給任何請(qǐng)求對(duì)象,由于不同系統(tǒng)對(duì)XML的完美支持,因此從根本上完善了跨平臺(tái)服務(wù),任何時(shí)刻、任何平臺(tái)我們可以使用任何語言來訪問該Webservice服務(wù)。對(duì)于Webservice使用者而言,webserviceAPI與任何操作平臺(tái)無關(guān),它只是以XML語言作為數(shù)據(jù)交換格式。Webservice平臺(tái)主要涉及到的技術(shù)是SOAP(SimpleObjectAccessProtocol),WSDL(WebServiceDescriptionLanguage)SOAP依賴于XML文檔來構(gòu)建,一條SOAP消息就是一份特定的XML文檔,SOAP主要包含三個(gè)方面的主要元素:<Envelope…/>根元素,該元素是必填的。其中SOAP消息用來傳遞的數(shù)據(jù)的XML文檔以該元素作為根元素<Header…/>元素,該元素是選填的。它包含了SOAP消息的頭信息<Body…/>元素,該元素是必填的。它包含所有的調(diào)用和相應(yīng)的內(nèi)容Java本身提供了很豐富的WebService支持,比如Sun公司制定的JAX-WS2規(guī)范,Apache開源組織提供的Axis1,Axis2,CXF等。我們可以使用Google公司為Android平臺(tái)開發(fā)的專門處理Webservice信息的ksoap2-android進(jìn)行客戶端的開發(fā)。使用該第三方包的方法為:1.創(chuàng)建HttpTrasportSE對(duì)象2.創(chuàng)建SoapSerializationEnvelope對(duì)象3.創(chuàng)建SoapObject對(duì)象,創(chuàng)建該對(duì)象時(shí)需要傳入所要調(diào)用WebService的命名空間4.如果有參數(shù)需要傳給WebService服務(wù)器端,調(diào)用SoapObject對(duì)象的addProperty(Stringname,Objectvalue)方法來設(shè)置參數(shù),該方法的name參數(shù)指定參數(shù)名,value指定參數(shù)值5.調(diào)用SoapSerializationEnvelope的setOutputSoapObject()方法,或者直接對(duì)bodyout屬性賦值,將前兩步創(chuàng)建的SoapObject對(duì)象設(shè)SoapSerializationEnvelope的傳出SOAP消息體6.調(diào)用對(duì)象的call()方法,并以SoapSerializationEnvelope作為參數(shù)調(diào)用遠(yuǎn)程的WebService7.調(diào)用完成后,訪問SoapSerializationEnvelope對(duì)象的bodyin屬性,該屬性返回一個(gè)SoapObject對(duì)象,該對(duì)象就代表了WebService的返回消息,解析該SoapObject對(duì)象,即可獲取調(diào)用WebService的返回值?;诖司帉懻{(diào)用webservice服務(wù)的類WebServiceUtil返回城市列表publicstaticList<String>getProvinceList() { //需要調(diào)用的方法名(獲得本天氣預(yù)報(bào)WebServices支持的洲、國內(nèi)外省份和城市信息) //StringmethodName="getRegionProvince"; StringmethodName="getSupportProvince"; //創(chuàng)建HttpTransportSE傳輸對(duì)象 HttpTransportSEhttpTranstation=newHttpTransportSE(SERVICE_URL); httpTranstation.debug=true; //使用SOAP1.1協(xié)議創(chuàng)建Envelop對(duì)象 SoapSerializationEnvelopeenvelope=newSoapSerializationEnvelope( SoapEnvelope.VER11); //實(shí)例化SoapObject對(duì)象 SoapObjectsoapObject=newSoapObject(SERVICE_NS,methodName); envelope.bodyOut=soapObject; //設(shè)置與.Net提供的WebService保持較好的兼容性 envelope.dotNet=true; try { //調(diào)用WebService httpTranstation.call(SERVICE_NS+methodName,envelope); if(envelope.getResponse()!=null) { //獲取服務(wù)器響應(yīng)返回的SOAP消息 SoapObjectresult=(SoapObject)envelope.bodyIn; SoapObjectdetail=(SoapObject)result.getProperty(methodName +"Result"); //解析服務(wù)器響應(yīng)的SOAP消息。 returnparseProvinceOrCity(detail); } }catch(Exceptione) { e.printStackTrace(); } returnnull; }解析出省份和城市,把返回的數(shù)據(jù)用split方法切割,只取需要的省份數(shù)據(jù)privatestaticList<String>parseProvinceOrCity(SoapObjectdetail) { ArrayList<String>result=newArrayList<String>(); for(inti=0;i<detail.getPropertyCount();i++) { Stringstr=detail.getProperty(i).toString(); //解析出每個(gè)省份 result.add(str.split("")[0]); } returnresult; }通過具體的城市獲取天氣信息publicstaticSoapObjectgetWeatherByCity(StringcityName) { //根據(jù)城市或地區(qū)名稱查詢獲得未來三天內(nèi)天氣情況、現(xiàn)在的天氣實(shí)況、天氣和生活指數(shù) //StringmethodName="getWeather"; StringmethodName="getWeatherbyCityName"; HttpTransportSEhttpTranstation=newHttpTransportSE(SERVICE_URL); httpTranstation.debug=true; SoapSerializationEnvelopeenvelope=newSoapSerializationEnvelope(SoapEnvelope.VER11); SoapObjectsoapObject=newSoapObject(SERVICE_NS,methodName); //soapObject.addProperty("theCityCode",cityName); soapObject.addProperty("theCityName",cityName); envelope.bodyOut=soapObject; envelope.dotNet=true; try { //調(diào)用WebService httpTranstation.call(SERVICE_NS+methodName,envelope); if(envelope.getResponse()!=null) { //獲取服務(wù)器響應(yīng)返回的SOAP消息 SoapObjectresult=(SoapObject)envelope.bodyIn; SoapObjectdetail=(SoapObject)result.getProperty(methodName+"Result"); //解析服務(wù)器響應(yīng)的SOAP消息。 returndetail; } }catch(Exceptione) { e.printStackTrace(); } returnnull; }如圖4.5所示為調(diào)用此方法后返回的為XML文檔 圖4.5網(wǎng)站返回XML文檔接下來我們只需要對(duì)該文件解析就可以拿出我們需要的數(shù)據(jù)了。然后把對(duì)應(yīng)的數(shù)據(jù)添加在相應(yīng)的地方即可。城市列表的選擇:當(dāng)我們單擊城市選擇按鈕的時(shí)候會(huì)跳出圖4.6的城市選擇界面圖4.6城市選擇界面對(duì)應(yīng)的方法為publicvoidshow_dialog(intcityId) { city_text=(TextView)findViewById(R.id.city_text); switch(cityId) { caseCITY: //取得city_layout.xml中的視圖 finalViewview=LayoutInflater.from(this).inflate( R.layout.city_layout,null); //省份Spinner province_spinner=(Spinner)view.findViewById(R.vince_spinner); //城市Spinner city_spinner=(Spinner)view.findViewById(R.id.city_spinner); provinces=WebServiceUtil.getProvinceList(); ArrayAdapter<String>adapter=newArrayAdapter<String>(this,android.R.layout.simple_spinner_item,provinces); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); province_spinner.setAdapter(adapter); //省份Spinner監(jiān)聽器 province_spinner.setOnItemSelectedListener(newOnItemSelectedListener() { @Override publicvoidonItemSelected(AdapterView<?>view, Viewparent,intposition,longid) { citys=WebServiceUtil.getCityListByProvince(provinces.get(position));ArrayAdapter<String>adapter1=newArrayAdapter<String>(WeatherWebServiceActivity.this,android.R.layout.simple_spinner_item,citys); adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); city_spinner.setAdapter(adapter1); } @Override publicvoidonNothingSelected(AdapterView<?>arg0) { } }); //城市Spinner監(jiān)聽器 city_spinner.setOnItemSelectedListener(newOnItemSelectedListener() { @Override publicvoidonItemSelected(AdapterView<?>arg0,Viewarg1, intposition,longarg3) { city_str=citys.get(position); } @Override publicvoidonNothingSelected(AdapterView<?>arg0) { } }); //選擇城市對(duì)話框 AlertDialog.Builderdialog=newAlertDialog.Builder(this); dialog.setTitle("請(qǐng)選擇所屬城市"); dialog.setView(view); dialog.setPositiveButton("確定",newDialogInterface.OnClickListener() { @Override publicvoidonClick(DialogInterfacedialog,intwhich) { city_text.setText(city_str); writeSharedPreference(city_str); refresh(city_str); checkWeather(city_str); } }); dialog.setNegativeButton("取消",newDialogInterface.OnClickListener() { @Override publicvoidonClick(DialogInterfacedialog,intwhich) { dialog.dismiss(); } }); dialog.show(); break; default: break; } }編寫gps定位轉(zhuǎn)換類用于定位當(dāng)前位置信息ConverUtil。由于GoogleSDK內(nèi)部的一個(gè)小bug,我們不能直接利用手機(jī)內(nèi)部來定位地址,必須要把當(dāng)前的經(jīng)緯度信息發(fā)送給谷歌網(wǎng)站來解析。publicstaticStringgetAddress(doublelongitude,doublelatitude){ // HttpClientclient=newDefaultHttpClient(); //Get方法得到內(nèi)容 HttpGethttpGet=newHttpGet("/maps/api/" +"geocode/json?latlng=" +latitude+","+longitude +"&sensor=false®ion=cn"); StringBuildersb=newStringBuilder(); try{ HttpResponseresponse=client.execute(httpGet); HttpEntityentity=response.getEntity(); //獲取服務(wù)器響應(yīng)的字符串 InputStreamis=entity.getContent(); intb; while((b=is.read())!=-1){ sb.append((char)b); } //把服務(wù)器相應(yīng)的字符串轉(zhuǎn)化為JSon對(duì)象 JSONObjectjsonObj=newJSONObject(sb.toString()); //解析出相應(yīng)結(jié)果中的地址信息 Strings1=jsonObj.getJSONArray("results").getJSONObject(0).getString("formatted_address"); Strings2=s1.split(",")[3]; Log.i("start",s2); returnjsonObj.getJSONArray("results").getJSONObject(0).getString("formatted_address"); }catch(Exceptione){ e.printStackTrace(); } returnnull; }本軟件同樣實(shí)現(xiàn)了傳感器接口,可以實(shí)時(shí)監(jiān)測(cè)當(dāng)前外部溫度,增加用戶的友好體驗(yàn),主要方法為:publicvoidonSensorChanged(SensorEventevent){ //TODOAuto-generatedmethodstub float[]values=event.values; //真機(jī)上獲取觸發(fā)event的傳感器類型 //intsensorType=event.sensor.getType(); //模擬器上獲取觸發(fā)event的傳感器類型 intsensorType=event.type; StringBuildersb=null; switch(sensorType){ caseSensor.TYPE_TEMPERATURE: sb=newStringBuilder(); sb.append(values[0]); sb.append("℃"); et.setText(sb.toString()); break; default:break; } }4.4數(shù)據(jù)存儲(chǔ) 有時(shí)候應(yīng)用程序需要有數(shù)據(jù)保存,而且這些數(shù)據(jù)都比較簡單,基本上只是一些簡單的字符串,標(biāo)量類型的值等。對(duì)于這種數(shù)據(jù),Android提供了SharedPreferences進(jìn)行保存。SharedPreferences主要保存的是一些簡單的key-value對(duì)。在本程序中,我首先設(shè)置了一個(gè)判斷網(wǎng)絡(luò)狀態(tài)連通情況的方法,返回一個(gè)Boolean類型的值,如果網(wǎng)絡(luò)正常連接,則會(huì)從網(wǎng)絡(luò)刷新天氣,如果當(dāng)前網(wǎng)絡(luò)狀態(tài)不好,則會(huì)從本地保存的XML文件中讀取緩存的天氣,方便用戶進(jìn)行查看。判斷網(wǎng)絡(luò)狀態(tài)的方法:/ /判斷網(wǎng)絡(luò)類型是否為3G網(wǎng)絡(luò) publicbooleanisNetwork(){ ConnectivityManagerconnectivityManager=(ConnectivityManager)this.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfonetworkInfo=connectivityManager.getActiveNetworkInfo(); if(networkInfo!=null){ returnnetworkInfo.isAvailable(); } returnfalse; } //判斷是否為WIFI連接 publicbooleanisWIFINetwork(){ ConnectivityManagerconnectivityManager=(ConnectivityManager)this.getSystemService(Context.CONNECTIVITY_SERVICE); if(connectivityManager==null){ returnfalse; }else{ NetworkInfo[]info=connectivityManager.getAllNetworkInfo(); if(info!=null){ for(inti=0;i<info.length;i++){ if(info[i].getTypeName().equals("WIFI")&&info[i].isConnected()){ returntrue; } } } } returnfalse; }在oncreate方法中,首先判斷當(dāng)前連接情況if(isNetWork()||isWIFINetwork())如果判斷為真,則會(huì)從網(wǎng)站更新天氣,如果不為真則會(huì)從SharedPreferences保存的數(shù)據(jù)中讀取顯示。5.系統(tǒng)測(cè)試5.1測(cè)試目的確認(rèn)軟件的質(zhì)量,確保軟件能正常運(yùn)行,并且達(dá)到了期待中的效果確認(rèn)信息的正確性。確保從網(wǎng)上下載的天氣情況與實(shí)際的天氣情況沒有什么差別5.3測(cè)試內(nèi)容和結(jié)果(1)利用SensorSimulator進(jìn)行測(cè)試,如圖5.1,5.2所示,當(dāng)前設(shè)置溫度為25度圖5.1SensorSimulator模擬傳遞數(shù)據(jù)此時(shí)手機(jī)顯示溫度為25度,與模擬器上的一樣,證明該模塊真實(shí)有效。圖5.2手機(jī)顯示實(shí)時(shí)溫度GPS定位模塊通過在網(wǎng)上查詢南京的經(jīng)緯度信息為:東經(jīng):118°46'
北緯:32°03',我們把此經(jīng)緯度信息發(fā)送給手機(jī)然后看手機(jī)顯示的信息,如圖5.3,5.4所示圖5.3模擬經(jīng)緯度圖5.4GPS定位效果圖天氣預(yù)報(bào)模塊測(cè)試如圖5.5圖5.6所示為本程序所顯示的天氣信息,主要位置顯示的是今天的天氣狀況,下面顯示的分別是今明兩天的天氣情況,然后通過與中央氣象臺(tái)天氣預(yù)報(bào)信息對(duì)比可以發(fā)現(xiàn)圖5.7,兩者基本無太大差別。通過天氣信息,我們可以發(fā)現(xiàn)所給生活指數(shù)也基本是符合本身認(rèn)知的。圖5.5主界面效果圖圖5.6天氣指數(shù)界面圖5.7中央氣象臺(tái)實(shí)時(shí)天氣5.4測(cè)試結(jié)果 通過以上測(cè)試可以發(fā)現(xiàn),系統(tǒng)對(duì)天氣預(yù)報(bào)能實(shí)現(xiàn)較好。6.結(jié)束語 在我看來,Android平臺(tái)是非常具有發(fā)展前景的。其獨(dú)特的設(shè)計(jì)模式以及基于java平臺(tái)的開發(fā)語言都使得進(jìn)入Android的門檻變得非常的低。由于其極大的開放性和兼容性,同時(shí)也深為手機(jī)廠商的喜愛。本文主要介紹了一款基于Android平臺(tái)的天氣預(yù)報(bào)軟件的設(shè)計(jì)與實(shí)現(xiàn)過程,提出了Android用戶界面設(shè)計(jì)、獲取并解析城市列表數(shù)據(jù)的一種方法,給出了在用戶界面上呈現(xiàn)數(shù)據(jù)的原理與設(shè)計(jì)過程,最后通過模擬器進(jìn)行了應(yīng)用程序的調(diào)試。當(dāng)然,基于Android平臺(tái)的開發(fā)技術(shù)還需要進(jìn)一步完善,需要在日后的工作中不斷探索、研究,以建立實(shí)用的城市天氣實(shí)況預(yù)報(bào)系統(tǒng)。由于此作品是作為畢業(yè)設(shè)計(jì)的創(chuàng)作成果,其中軟件的功能等方面并非處于一個(gè)成熟的階段,當(dāng)中的缺點(diǎn)是無可非議地存在著。總之,這次設(shè)計(jì)從軟件編寫、調(diào)試到確定,我傾注了大量的時(shí)間和心血。也曾經(jīng)為尋找各種錯(cuò)誤而煩惱過,也曾經(jīng)為解決某一個(gè)問題而開心過,雖然過程很艱苦,但是結(jié)果總是好的。因?yàn)槲也粌H品味到了結(jié)果的喜悅,更明白了過程的彌足珍貴。致謝經(jīng)過幾周的堅(jiān)持不懈的努力,我的畢業(yè)設(shè)計(jì)終于完成了,原本以為畢業(yè)設(shè)計(jì)只是一分對(duì)過去四年所學(xué)的知識(shí)的簡單運(yùn)用,但是經(jīng)過這次畢業(yè)設(shè)計(jì),我明白自己的想法過于片面。畢業(yè)設(shè)計(jì)不僅僅是對(duì)所學(xué)知識(shí)的運(yùn)用,而且是對(duì)自己實(shí)踐能力的一種考驗(yàn)。我現(xiàn)在才深深體會(huì)到活到老,學(xué)到老的意義,學(xué)習(xí)是一個(gè)永無止境的過程,我還需要在今后的工作、生活中不斷的學(xué)習(xí),不斷的積累經(jīng)驗(yàn),不斷的提高自己的綜合實(shí)力。在此特別感謝我的指導(dǎo)老師程教授,程老師在我畢業(yè)設(shè)計(jì)選題、設(shè)計(jì)以及論文的撰寫和修改過程中為我指點(diǎn)迷津,使我開拓了思路,程老師一絲不茍的作風(fēng),嚴(yán)謹(jǐn)務(wù)實(shí)的態(tài)度一直深深的影響著我,他腳踏實(shí)地的精神也不斷激勵(lì)著我,在此,謹(jǐn)向程老師致以最真誠的謝意。參考文獻(xiàn)1.杰克遜,Android應(yīng)用開發(fā)入門[M],北京:人民郵電出版社,20132.王勇,Android編程入門很簡單[M],北京:清華大學(xué)出版社,20123.曾宏遠(yuǎn)、崔荔蒙,從零開始學(xué)Android編程[M],西安:電子工業(yè)出版社,20124.陳文、郭依正,深入理解Android網(wǎng)絡(luò)編程[M],北京:機(jī)械工業(yè)出版社,20135.李剛,瘋狂Android講義[M],西安:電子工業(yè)出版社,20136.鄧凡平,深入理解Android[M],北京:機(jī)械工業(yè)出版社,20117.哈希爾,精通Android[M],北京:人民郵電出版社:20118.馬超、孫仁貴,Android應(yīng)用開發(fā)全程實(shí)錄[M],北京:人民郵電出版社,20129.柯元旦,Android內(nèi)核剖析[M],西安:電子工業(yè)出版社,201110.楊云君,Android的設(shè)計(jì)與實(shí)現(xiàn)[M],北京:機(jī)械工業(yè)出版社,201311.郭金尚,Android經(jīng)典項(xiàng)目案例開發(fā)實(shí)戰(zhàn)寶典[M],北京:清華大學(xué)出版社,201312.WallaceB.McClure,移動(dòng)與嵌入式開發(fā)技術(shù)[M],北京:清華大學(xué)出版社,201313.肖云鵬,Android程序設(shè)計(jì)教程[M],北京:清華大學(xué)出版社,201314.Meier,RetoWroxPress,ProfessionalAndroid4ApplicationDevelopment,2012 15.Xia-huaMeng,Ye-xiangOu,ASolutionforApplicationTransplantationfromJ2MEtoAndroid[A].2010
畢業(yè)設(shè)計(jì)(論文)原創(chuàng)性聲明和使用授權(quán)說明原創(chuàng)性聲明本人鄭重承諾:所呈交的畢業(yè)設(shè)計(jì)(論文),是我個(gè)人在指導(dǎo)教師的指導(dǎo)下進(jìn)行的研究工作及取得的成果。盡我所知,除文中特別加以標(biāo)注和致謝的地方外,不包含其他人或組織已經(jīng)發(fā)表或公布過的研究成果,也不包含我為獲得及其它教育機(jī)構(gòu)的學(xué)位或?qū)W歷而使用過的材料。對(duì)本研究提供過幫助和做出過貢獻(xiàn)的個(gè)人或集體,均已在文中作了明確的說明并表示了謝意。作者簽名:日期:指導(dǎo)教師簽名:日期:使用授權(quán)說明本人完全了解大學(xué)關(guān)于收集、保存、使用畢業(yè)設(shè)計(jì)(論文)的規(guī)定,即:按照學(xué)校要求提交畢業(yè)設(shè)計(jì)(論文)的印刷本和電子版本;學(xué)校有權(quán)保存畢業(yè)設(shè)計(jì)(論文)的印刷本和電子版,并提供目錄檢索與閱覽服務(wù);學(xué)校可以采用影印、縮印、數(shù)字化或其它復(fù)制手段保存論文;在不以贏利為目的前提下,學(xué)??梢怨颊撐牡牟糠只蛉績?nèi)容。作者簽名:日期:
學(xué)位論文原創(chuàng)性聲明本人鄭重聲明:所呈交的論文是本人在導(dǎo)師的指導(dǎo)下獨(dú)立進(jìn)行研究所取得的研究成果。除了文中特別加以標(biāo)注引用的內(nèi)容外,本論文不包含任何其他個(gè)人或集體已經(jīng)發(fā)表或撰寫的成果作品。對(duì)本文的研究做出重要貢獻(xiàn)的個(gè)人和集體,均已在文中以明確方式標(biāo)明。本人完全意識(shí)到本聲明的法律后果由本人承擔(dān)。作者簽名: 日期:年月日學(xué)位論文版權(quán)使用授權(quán)書本學(xué)位論文作者完全了解學(xué)校有關(guān)保留、使用學(xué)位論文的規(guī)定,同意學(xué)校保留并向國家有關(guān)部門或機(jī)構(gòu)送交論文的復(fù)印件和電子版,允許論文被查閱和借閱。本人授權(quán)大學(xué)可以將本學(xué)位論文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫進(jìn)行檢索,可以采用影印、縮印或掃描等復(fù)制手段保存和匯編本學(xué)位論文。涉密論文按學(xué)校規(guī)定處理。作者簽名: 日期:年月日導(dǎo)師簽名:日期:年月日
獨(dú)創(chuàng)聲明本人鄭重聲明:所呈交的畢業(yè)設(shè)計(jì)(論文),是本人在指導(dǎo)老師的指導(dǎo)下,獨(dú)立進(jìn)行研究工作所取得的成果,成果不存在知識(shí)產(chǎn)權(quán)爭(zhēng)議。盡我所知,除文中已經(jīng)注明引用的內(nèi)容外,本設(shè)計(jì)(論文)不含任何其他個(gè)人或集體已經(jīng)發(fā)表或撰寫過的作品成果。對(duì)本文的研究做出重要貢獻(xiàn)的個(gè)人和集體均已在文中以明確方式標(biāo)明。本聲明的法律后果由本人承擔(dān)。
作者簽名:二〇一〇年九月二十日
畢業(yè)設(shè)計(jì)(論文)使用授權(quán)聲明本人完全了解**學(xué)院關(guān)于收集、保存、使用畢業(yè)設(shè)計(jì)(論文)的規(guī)定。本人愿意按照學(xué)校要求提交學(xué)位論文的印刷本和電子版,同意學(xué)校保存學(xué)位論文的印刷本和電子版,或采用影印、數(shù)字化或其它復(fù)制手段保存設(shè)計(jì)(論文);同意學(xué)校在不以營利為目的的前提下,建立目錄檢索與閱覽服務(wù)系統(tǒng),公布設(shè)計(jì)(論文)的部分或全部內(nèi)容,允許他人依法合理使用。(保密論文在解密后遵守此規(guī)定)
作者簽名:二〇一〇年九月二十日
基本要求:寫畢業(yè)論文主要目的是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí)和技能,理論聯(lián)系實(shí)際,獨(dú)立分析,解決實(shí)際問題的能力,使學(xué)生得到從事本專業(yè)工作和進(jìn)行相關(guān)的基本訓(xùn)練。畢業(yè)論文應(yīng)反映出作者能夠準(zhǔn)確地掌握所學(xué)的專業(yè)基礎(chǔ)知識(shí),基本學(xué)會(huì)綜合運(yùn)用所學(xué)知識(shí)進(jìn)行科學(xué)研究的方法,對(duì)所研究的題目有一定的心得體會(huì),論文題目的范圍不宜過寬,一般選擇本學(xué)科某一重要問題的一個(gè)側(cè)面。畢業(yè)論文的基本教學(xué)要求是:1、培養(yǎng)學(xué)生綜合運(yùn)用、鞏固與擴(kuò)展所學(xué)的基礎(chǔ)理論和專業(yè)知識(shí),培養(yǎng)學(xué)生獨(dú)立分析、解決實(shí)際問題能力、培養(yǎng)學(xué)生處理數(shù)據(jù)和信息的能力。2、培養(yǎng)學(xué)生正確的理論聯(lián)系實(shí)際的工作作風(fēng),嚴(yán)肅認(rèn)真的科學(xué)態(tài)度。3、培養(yǎng)學(xué)生進(jìn)行社會(huì)調(diào)查研究;文獻(xiàn)資料收集、閱讀和整理、使用;提出論點(diǎn)、綜合論證、總結(jié)寫作等基本技能。畢業(yè)論文是畢業(yè)生總結(jié)性的獨(dú)立作業(yè),是學(xué)生運(yùn)用在校學(xué)習(xí)的基本知識(shí)和基礎(chǔ)理論,去分析、解決一兩個(gè)實(shí)際問題的實(shí)踐鍛煉過程,也是學(xué)生在校學(xué)習(xí)期間學(xué)習(xí)成果的綜合性總結(jié),是整個(gè)教學(xué)活動(dòng)中不可缺少的重要環(huán)節(jié)。撰寫畢業(yè)論文對(duì)于培養(yǎng)學(xué)生初步的科學(xué)研究能力,提高其綜合運(yùn)用所學(xué)知識(shí)分析問題、解決問題能力有著重要意義。畢業(yè)論文在進(jìn)行編寫的過程中,需要經(jīng)過開題報(bào)告、論文編寫、論文上交評(píng)定、論文答辯以及論文評(píng)分五個(gè)過程,其中開題報(bào)告是論文進(jìn)行的最重要的一個(gè)過程,也是論文能否進(jìn)行的一個(gè)重要指標(biāo)。撰寫意義:1.撰寫畢業(yè)論文是檢驗(yàn)學(xué)生在校學(xué)習(xí)成果的重要措施,也是提高教學(xué)質(zhì)量的重要環(huán)節(jié)。大學(xué)生在畢業(yè)前都必須完成畢業(yè)論文的撰寫任務(wù)。申請(qǐng)學(xué)位必須提交相應(yīng)的學(xué)位論文,經(jīng)答辯通過后,方可取得學(xué)位??梢赃@么說,畢業(yè)論文是結(jié)束大學(xué)學(xué)習(xí)生活走向社會(huì)的一個(gè)中介和橋梁。畢業(yè)論文是大學(xué)生才華的第一次顯露,是向祖國和人民所交的一份有份量的答卷,是投身社會(huì)主義現(xiàn)代化建設(shè)事業(yè)的報(bào)到書。一篇畢業(yè)論文雖然不能全面地反映出一個(gè)人的才華,也不一定能對(duì)社會(huì)直接帶來巨大的效益,對(duì)專業(yè)產(chǎn)生開拓性的影響。但是,實(shí)踐證明,撰寫畢業(yè)論文是提高教學(xué)質(zhì)量的重要環(huán)節(jié),是保證出好人才的重要措施。2.通過撰寫畢業(yè)論文,提高寫作水平是干部隊(duì)伍“四化”建設(shè)的需要。黨中央要求,為了適應(yīng)現(xiàn)代化建設(shè)的需要,領(lǐng)導(dǎo)班子成員應(yīng)當(dāng)逐步實(shí)現(xiàn)“革命化、年輕化、知識(shí)化、專業(yè)化”。這個(gè)“四化”的要求,也包含了對(duì)干部寫作能力和寫作水平的要求。3.提高大學(xué)生的寫作水平是社會(huì)主義物質(zhì)文明和精神文明建設(shè)的需要。在新的歷史時(shí)期,無論是提高全族的科學(xué)文化水平,掌握現(xiàn)代科技知識(shí)和科學(xué)管理方法,還是培養(yǎng)社會(huì)主義新人,都要求我們的干部具有較高的寫作能力。在經(jīng)濟(jì)建設(shè)中,作為領(lǐng)導(dǎo)人員和機(jī)關(guān)的辦事人員,要寫指示、通知、總結(jié)、調(diào)查報(bào)告等應(yīng)用文;要寫說明書、廣告、解說詞等說明文;還要寫科學(xué)論文、經(jīng)濟(jì)評(píng)論等議論文。在當(dāng)今信息社會(huì)中,信息對(duì)于加快經(jīng)濟(jì)發(fā)展速度,取得良好的經(jīng)濟(jì)效益發(fā)揮著愈來愈大的作用。寫作是以語言文字為信號(hào),是傳達(dá)信息的方式。信息的來源、信息的收集、信息的儲(chǔ)存、整理、傳播等等都離不開寫作。論文種類:畢業(yè)論文是學(xué)術(shù)論文的一種形式,為了進(jìn)一步探討和掌握畢業(yè)論文的寫作規(guī)律和特點(diǎn),需要對(duì)畢業(yè)論文進(jìn)行分類。由于畢業(yè)論文本身的內(nèi)容和性質(zhì)不同,研究領(lǐng)域、對(duì)象、方法、表現(xiàn)方式不同,因此,畢業(yè)論文就有不同的分類方法。按內(nèi)容性質(zhì)和研究方法的不同可以把畢業(yè)論文分為理論性論文、實(shí)驗(yàn)性論文、描述性論文和設(shè)計(jì)性論文。后三種論文主要是理工科大學(xué)生可以選擇的論文形式,這里不作介紹。文科大學(xué)生一般寫的是理論性論文。理論性論文具體又可分成兩種:一種是以純粹的抽象理論為研究對(duì)象,研究方法是嚴(yán)密的理論推導(dǎo)和數(shù)學(xué)運(yùn)算,有的也涉及實(shí)驗(yàn)與觀測(cè),用以驗(yàn)證論點(diǎn)的正確性。另一種是以對(duì)客觀事物和現(xiàn)象的調(diào)查、考察所得觀測(cè)資料以及有關(guān)文獻(xiàn)資料數(shù)據(jù)為研究對(duì)象,研究方法是對(duì)有關(guān)資料進(jìn)行分析、綜合、概括、抽象,通過歸納、演繹、類比,提出某種新的理論和新的見解。按議論的性質(zhì)不同可以把畢業(yè)論文分為立論文和駁論文。立論性的畢業(yè)論文是指從正面闡述論證自己的觀點(diǎn)和主張。一篇論文側(cè)重于以立論為主,就屬于立論性論文。立論文要求論點(diǎn)鮮明,論據(jù)充分,論證嚴(yán)密,以理和事實(shí)服人。駁論性畢業(yè)論文是指通過反駁別人的論點(diǎn)來樹立自己的論點(diǎn)和主張。如果畢業(yè)論文側(cè)重于以駁論為主,批駁某些錯(cuò)誤的觀點(diǎn)、見解、理論,就屬于駁論性畢業(yè)論文。駁論文除按立論文對(duì)論點(diǎn)、論據(jù)、論證的要求以外,還要求針鋒相對(duì),據(jù)理力爭(zhēng)。按研究問題的大小不同可以把畢業(yè)論文分為宏觀論文和
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 低壓配電室巡檢制度
- 人行大集中統(tǒng)計(jì)制度
- 主板新股停牌制度
- 中學(xué)安全檢查制度
- 二手車交易培訓(xùn)課件
- 三臺(tái)縣人民法院關(guān)于2026年招聘司法輔助人員的備考題庫及一套參考答案詳解
- 2025至2030中國裝配式建筑行業(yè)政策環(huán)境與市場(chǎng)增長潛力研究報(bào)告
- 二建基礎(chǔ)知識(shí)課件
- 2025至2030中國醫(yī)用敷料行業(yè)發(fā)展趨勢(shì)與投資價(jià)值評(píng)估報(bào)告
- 二十大信息技術(shù)
- 電梯加裝鋼結(jié)構(gòu)施工方案
- 鈉電池專業(yè)知識(shí)培訓(xùn)課件
- 安徽控告申訴知識(shí)競(jìng)賽(含答案)
- 《城市軌道交通初期運(yùn)營客流預(yù)測(cè)要求》
- 垂直大模型項(xiàng)目報(bào)告
- 子宮腺肌癥護(hù)理
- 鄉(xiāng)鎮(zhèn)農(nóng)業(yè)培訓(xùn)課件
- 設(shè)計(jì)措施方案模板(3篇)
- Dahua大華NYX5400BX系列紅外非制冷焦平面熱成像機(jī)芯使用說明書
- 《PLC應(yīng)用技術(shù)項(xiàng)目教程》課件項(xiàng)目一
- 中醫(yī)學(xué)針灸考試題及答案
評(píng)論
0/150
提交評(píng)論