版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
基于Android平臺的新聞客戶端的設(shè)計與實現(xiàn)摘要隨著智能世界范圍內(nèi)的迅速開展,智能的操作系統(tǒng)之間的競爭也是越來越劇烈。為了讓智能用戶能夠十分便利地了解當(dāng)前世界的實時資訊,一種高效的方法就是將查看新聞的功能拓展到終端上。因此,開發(fā)出一款智能的新聞客戶端將有廣闊的前景。本文是基于android操作系統(tǒng),開發(fā)出一款android新聞客戶端應(yīng)用程序,通過工具Eclipse編寫邏輯代碼,ApacheTomcat6.0作為應(yīng)用程序的效勞器,根據(jù)數(shù)據(jù)量的要求,采用Mysql數(shù)據(jù)庫處理數(shù)據(jù),三者共同作用開發(fā)出的android新聞客戶端軟件。本文在分析Android系統(tǒng)軟件開發(fā)原理的技術(shù)層面上,開發(fā)出能為用戶提供更人性化、更方便的基于Android新聞客戶端軟件。通過實踐與測試,本文所述的原理和方法能夠完成設(shè)計所需要的功能?!娟P(guān)鍵詞】Android;新聞客戶端軟件;智能操作系統(tǒng)DesignandRealizationofAndroidClientBasedonTheNewsAbstractWiththerapiddevelopmentofsmartphonesworldwide,competitionbetweensmartphoneoperatingsystemisalsomoreintense.Toallowsmartphoneuserstoreal-timeinformationisveryconvenienttounderstandthecurrentworld,anefficientapproachistoviewthenewsfeaturetoexpandtothemobileterminals.Therefore,thedevelopmentofasmartphonenewsclientwillhavebroadprospects.Thisarticleisbasedonandroidoperatingsystem,developedanandroidphonenewsclientapplicationlogiccodebywritingtoolsEclipse,ApacheTomcat6.0asaserverapplication,accordingtotheamountofdatarequiredtoprocessdatausingMysqldatabase,combinedactiondevelopedaandroidphonenewsclientsoftware.ThispaperanalyzestheAndroidsysteminprinciplethetechnicalaspectsofsoftwaredevelopment,thedevelopmentcouldprovideamorehumane,moreconvenientmobileoperatingsystembasedonAndroidnewsclientsoftwareforusers.Throughpracticeandtesting,principlesandmethodsdescribedhereincanachievetherequiredfunctionaldesign.【Keywords】Android;NewsClientSoftware;Smartphoneoperatingsystems目錄1緒論 11.1研究內(nèi)容 11.2研究意義 11.3研究現(xiàn)狀和開展趨勢 12系統(tǒng)分析與環(huán)境搭建 22.1研究目標(biāo) 22.2可行性分析 22.3需求分析 32.4性能分析 32.5開發(fā)環(huán)境的搭建 32.5.1Java環(huán)境配置 32.5.2Eclipse的安裝 32.5.3EclipseStandard的安裝 32.5.4Tomcat效勞器的安裝 32.5.5Mysql數(shù)據(jù)庫的安裝 33系統(tǒng)設(shè)計與實現(xiàn) 43.1軟件流程 43.1.1模塊設(shè)計 43.1.2功能設(shè)計 53.3用戶界面設(shè)計 53.4數(shù)據(jù)庫設(shè)計 63.5軟件的實現(xiàn) 83.5.1文件結(jié)構(gòu)與說明 83.5.2具體實現(xiàn) 114系統(tǒng)測試 174.1軟件的測試 174.2測試結(jié)果及說明 175總結(jié)與展望 215.1總結(jié) 215.2展望 21參考文獻 22致謝 23附錄A 241 緒論1.1研究內(nèi)容 Android應(yīng)用平臺新聞客戶端軟件是基于Android平臺,采用Java語言,從網(wǎng)絡(luò)上的開放的新聞接口獲取數(shù)據(jù),設(shè)計出針對使用Android平臺的新聞客戶端資訊實時掌控的應(yīng)用程序。1.2研究意義 Android平臺新聞客戶端軟件的開發(fā)可以進一步擴大時事新聞的覆蓋面,讓廣闊公眾能夠隨時隨地方便且快捷地獲取最新的新聞資訊信息,了解新聞時事,本軟件的廣泛使用,尤其是在傳授知識、普及教育方面起著非常重要的作用。1.3研究現(xiàn)狀和開展趨勢目前市場研究機構(gòu)Worldpanel發(fā)布了全球主要的國家智能操作系統(tǒng)在去年Q4內(nèi)的分布報告,報告指出了谷歌的Android繼續(xù)保持著增長的勢態(tài),但是增幅已經(jīng)明顯放緩了。而在另一個方面,蘋果iOS操作系統(tǒng)在全球只能市場上均有下滑,個別國家的降幅甚至高達10.3%。最新統(tǒng)計數(shù)據(jù)中顯示,Android操作系統(tǒng)將繼續(xù)領(lǐng)跑全球市場,包括美國、澳大利亞、中國、意大利、英國、德國、西班牙等所占的市場比例都已經(jīng)超出50%,并且還將繼續(xù)呈現(xiàn)上漲的趨勢。而在蘋果iOS操作系統(tǒng)方面,最大的市場份額所占比的國家依舊是美國,數(shù)值為43.9%;緊隨美國的那么是澳大利亞,數(shù)值為35.2%;而在中國方面,市場份額也從21.2%下降到了19%;在意大利,iOS所占的市場份額更是從23.1%猛降至12.8%[1]。從上面的數(shù)據(jù)可以看出,Android軟件的開發(fā)具有巨大的開展前景,在Android系統(tǒng)上開發(fā)出一款新聞客戶端軟件所支持的用戶量也是相比擬于其他系統(tǒng)多出很多的。谷歌的移動平臺主管安迪·魯賓(AndyRubin)表示,跟軟件開發(fā)合作對象的密切接觸正在進行中。Google與開放聯(lián)盟聯(lián)合開發(fā)了Android操作系統(tǒng),這個聯(lián)盟由摩托羅拉、高通、宏達電、中國移動和T-Mobile等在內(nèi)的多家無線應(yīng)用和技術(shù)的領(lǐng)軍企業(yè)組成。Google通過與設(shè)備制造商、開發(fā)商、運營商和其他有關(guān)各方結(jié)成深層次的合作關(guān)系,希望借助建立開放式、標(biāo)準(zhǔn)化的移動移動軟件平臺,在移動產(chǎn)業(yè)內(nèi)形成一個開放性的生態(tài)系統(tǒng),這將是開發(fā)Android軟件的一個契機,Android平臺的開發(fā)在將來必定大放異彩[2]。2系統(tǒng)分析與環(huán)境搭建2.1研究目標(biāo)1)了解Android應(yīng)用的設(shè)計和開發(fā)過程;2)使用多種組件進行Android平臺新聞軟件的開發(fā)。本款新聞客戶端軟件是采用java語言編寫,基于Eclipse的開發(fā)平臺,連接網(wǎng)絡(luò)新聞數(shù)據(jù)接口,開發(fā)出了針對Android平臺的新聞客戶端軟件。2.2可行性分析開發(fā)任何一個基于的應(yīng)用程序,都會受到資源和時間上的限制。因此,在接收任何一個應(yīng)用程序發(fā)任務(wù)之前,必須根據(jù)用戶可能提供的資源和時間條件進行可行性分析,旨在減少工程開發(fā)風(fēng)險,防止人力、財力和物力的浪費。風(fēng)險分析與可行性分析在很多方面是相互關(guān)聯(lián)的,工程的風(fēng)險越大,開發(fā)質(zhì)量高的軟件的可行性的幾率就越小。1)經(jīng)濟可行性采用的數(shù)據(jù)流量作為通信手段,當(dāng)今通信技術(shù)的迅速開展,2G的運營商的GSM網(wǎng)絡(luò)已經(jīng)逐漸被當(dāng)今的3G、甚至是4G所取代,數(shù)據(jù)流量的資費也越來越低,而且現(xiàn)在很多都可連接無線wifi,實現(xiàn)數(shù)據(jù)流量0資費,大大加強了本新聞閱讀軟件的經(jīng)濟可行性。2)技術(shù)可行性開發(fā)一個新聞客戶端軟件,用到的技術(shù)不會十分復(fù)雜,用到最多的就是客戶端與效勞端的數(shù)據(jù)交換時所用到的servlet及常見的數(shù)據(jù)庫技術(shù),android系統(tǒng)下的解析json數(shù)據(jù)以及UI的設(shè)計,經(jīng)查閱相關(guān)資料是可以實現(xiàn)的。2.3需求分析啟動程序后可以進行新聞資訊的實時更新,可分不同的欄目讓使用者了解任意感興趣的資訊進行閱讀,同時,能對感興趣的新聞資訊發(fā)表自己的意見,進行評論,其他用戶也能看見別人發(fā)表的評論,從而進行互動交流,增強用戶的體驗感,用戶能通過下拉新聞列表,方便于操作。從上面的描述中可以根本了解軟件的功能需求:1)啟動應(yīng)用程序;2)設(shè)置界面:采用多種布局嵌套,美化控件。3)顯示界面:模仿網(wǎng)易新聞客戶端進行UI編寫。4)詳細界面:分為頭條、推薦、娛樂、體育、財經(jīng)、科技、游戲等板塊。2.4性能分析從用戶的角度出發(fā),針對用戶的需求,所涉及的程序響應(yīng)速度快、信息處理速度快、平安性高是用戶所需要的三大主要性能[2],另外為了受眾面更廣,根據(jù)目前的android設(shè)備系統(tǒng)版本的分布情況,android2.3以上的版本占到設(shè)備總量的80%以上,所以做開發(fā)的時候選擇的android系統(tǒng)最低版本也必須是android2.3以上來保證用戶量。2.5開發(fā)環(huán)境的搭建Java環(huán)境配置采用jdk的版本是jdk1.6,目前jdk版本最高的是jdk1.7,但是為了程序的穩(wěn)定性,還是采用已經(jīng)穩(wěn)定成熟的版本作為開發(fā)工具。從Oracle公司下載jdk1.6之后安裝,由于本機的開發(fā)系統(tǒng)是win8的64位操作系統(tǒng),選擇下載64為jdk,然后按照安裝步驟一步一步next,jdk就安裝完成了,然后配置環(huán)境java的環(huán)境變量,整個jdk的過程就完成了。Eclipse的安裝從Eclipse官網(wǎng):///downloads/下載Eclipse3.2,根據(jù)系統(tǒng)下載相應(yīng)的Eclipse版本,點擊解壓縮就行了,然后啟動eclipse.exe就行了。值得注意的是Eclipse的bit數(shù)要與jdk的一致,就是說jdk如果是32位的,Eclipse也要是32位的。EclipseStandard4.3.2的安裝EclipseStandard版本用來做效勞器端程序,方法與Eclipse的方法類似。Tomcat效勞器的安裝從:/下載tomcat6.0作為的效勞器,下載好文件后開始安裝,點擊下一步,在安裝過程中會提示設(shè)置默認(rèn)的效勞器端口號,假設(shè)是不做修改默認(rèn)為8080,建議不要修改,安裝完成。在EclipseforJavaEE建立效勞器工程的時候選擇剛剛安裝的tomcat作為效勞器就行了。安裝Mysql數(shù)據(jù)庫現(xiàn)如今有很多種類的數(shù)據(jù)庫,如oracle、sqlserver、mysql、access等等很多種,但是在選擇的時候也有考究,本設(shè)計的開發(fā)涉及到的數(shù)據(jù)并不是很多所以選擇一種輕量級的數(shù)據(jù)mysql[3]。3系統(tǒng)設(shè)計3.1系統(tǒng)流程模塊設(shè)計軟件分為了兩大模塊,分別是新聞客戶端模塊和效勞器模塊。圖形解析能夠清楚的看出程序的功能與流程,以下圖3-1是客戶端流程圖:新聞界面新聞界面詳細界面效勞器接收指令詳細界面效勞器接收指令接收效勞器的數(shù)據(jù)接收效勞器的數(shù)據(jù)評論界面評論界面顯示在界面顯示在界面圖3-1客戶端流程圖如以下圖圖3-2所示的是效勞器端的流程圖:客戶端客戶端效勞器接收指令效勞器接收指令生成sql語句生成sql語句調(diào)用sql類調(diào)用sql類返回結(jié)果數(shù)據(jù)庫操作返回結(jié)果數(shù)據(jù)庫操作圖3-2效勞器流程圖功能設(shè)計客戶端模塊功能結(jié)構(gòu)如以下圖所示3-3:新聞客戶端新聞客戶端新聞內(nèi)容管理新聞內(nèi)容管理游戲科技時尚財經(jīng)娛樂體育推薦頭條游戲科技時尚財經(jīng)娛樂體育推薦頭條詳細內(nèi)容管理詳細內(nèi)容管理評論管理評論管理圖3-3客戶端功能結(jié)構(gòu)圖效勞器端模塊功能結(jié)構(gòu)如以下圖3-4所示:數(shù)據(jù)庫配置數(shù)據(jù)轉(zhuǎn)換工具數(shù)據(jù)解析配置數(shù)據(jù)交互管理數(shù)據(jù)模型配置效勞器端數(shù)據(jù)庫配置數(shù)據(jù)轉(zhuǎn)換工具數(shù)據(jù)解析配置數(shù)據(jù)交互管理數(shù)據(jù)模型配置效勞器端圖3-4效勞器端功能結(jié)構(gòu)圖3.3用戶界面設(shè)計根據(jù)需求分析可知,應(yīng)用程序應(yīng)包含三個主要的用戶界面,這里要進一步分析每個用戶界面中應(yīng)該包括哪些顯示內(nèi)容。1)在“新聞概況頁面〞中,需要顯示得是各類新聞的的欄目頭,然后在選擇欄目頭時選擇相應(yīng)的新聞資訊信息顯示在當(dāng)前的欄目頭下,資訊信息以一個ListView的形式展示在界面上,用戶可拖動獲得內(nèi)容,并在滑到最后一個內(nèi)容時有一個加載更多的按鈕,用戶點擊之后可以獲得更多內(nèi)容。2)在“詳細新聞頁面〞中,用戶在點擊了一條新聞之后,可以進入詳細新聞界面,在界面中會展示當(dāng)前所點擊新聞的標(biāo)題、發(fā)表時間、作者以及評論條數(shù),在點擊新聞詳細內(nèi)容的區(qū)域向兩邊滑動的時候還能顯示上一條新聞和下一條新聞,方便操作,不需要返回上一個界面之后才能閱讀上一條或者下一條。3)在“新聞評論頁面〞中,此頁面展示的信息就比擬簡單了,根據(jù)時間的排列顯示相應(yīng)新聞的評論內(nèi)容,一條內(nèi)容包含的信息有,用戶所在的省份,發(fā)表的時間以及評論的內(nèi)容,在發(fā)表評論的編輯框會默認(rèn)提示用戶“請文明發(fā)表言論〞。以下圖就是根據(jù)對新聞界面顯示內(nèi)容的分析,繪制出用戶界面的草圖。圖3-5用戶界面草圖3.4數(shù)據(jù)庫設(shè)計本軟件是一個需要存儲很多新聞資訊信息的程序,其中包括新聞的閱讀和用戶的評論信息,這些數(shù)據(jù)都是要從數(shù)據(jù)庫中查詢而來的并不是緩存的數(shù)據(jù),所以少不了使用數(shù)據(jù)庫,其中數(shù)據(jù)庫為我們管理數(shù)據(jù)提供方便,Mysql數(shù)據(jù)庫使用方便、易懂。如以下圖3-6所示的是新聞欄目的E-R圖:新聞欄目新聞欄目編號序列標(biāo)題編號序列標(biāo)題圖3-6新聞欄目E-R圖如以下圖3-7所示的是新聞詳細內(nèi)容的E-R圖:欄目編號新聞編號標(biāo)題新聞欄目內(nèi)容來源序列欄目編號新聞編號標(biāo)題新聞欄目內(nèi)容來源序列評論數(shù)量評論數(shù)量編號摘要編號摘要圖3-7新聞詳細內(nèi)容E-R圖如以下圖3-8所示的是新聞評論的E-R圖:新聞編號欄目編號新聞欄目新聞編號欄目編號新聞欄目地區(qū)評論時間評論內(nèi)容地區(qū)評論時間評論內(nèi)容圖3-8新聞評論內(nèi)容E-R圖本軟件中有三張表的數(shù)據(jù)需要存儲,因此在MySql中分別建立三張表。新聞類別分類表t_category,新聞評論表t_comment,新聞內(nèi)容表t_news。三張表分別如下表所示:表3.1新聞類別分類表t_category的結(jié)構(gòu)屬性數(shù)據(jù)類型說明cidinteger分類編號,自動增加的主鍵titleString分類名稱sequncetext序列表3.2顯示新聞評論表t_comment的結(jié)構(gòu)屬性數(shù)據(jù)類型說明cidinteger評論編號,自動增長nidinteger新聞編號ptimeString評論的日期regionString發(fā)布人地區(qū)〔默認(rèn)為未知地區(qū)〕contentString評論內(nèi)容續(xù)表3.2顯示新聞評論表t_comment的結(jié)構(gòu)supportcountString支持?jǐn)?shù)opposecounttext反對數(shù)表3.3顯示新聞內(nèi)容表t_news的結(jié)構(gòu)屬性數(shù)據(jù)類型說明nidinteger新聞編號編號,自動增長cidinteger新聞分類號titleString新聞標(biāo)題bodyString新聞?wù)膕ourceString新聞來源ptimeString發(fā)表時間imgsrctext圖片來源summaryString摘要sequenceint序列仔細分析不難得出,后臺效勞是整個應(yīng)用程序的核心,主要是“數(shù)據(jù)獲取〞,用戶進行點擊操作,后臺效勞接收用戶的指令,向效勞器接口調(diào)用收據(jù),效勞端接收指令,從效勞器進行相應(yīng)的增刪改查,然后返回信息給客戶端,使用戶獲得需要的新聞資訊,滿足客戶的需求。效勞端器端的代碼主要的功能就是對數(shù)據(jù)庫進行的操作,采用servlet技術(shù)通過接受客戶端傳過來的指令查詢數(shù)據(jù)庫,然后返回json數(shù)據(jù)格式的數(shù)據(jù)跟客戶端進行數(shù)據(jù)交互操作,簡單方便,客戶端接收的時候也能十分方便的解析出來,顯示在用戶界面上。在完成用戶界面設(shè)計、效勞器和數(shù)據(jù)庫設(shè)計后,至此軟件的框架設(shè)計階段根本完成。3.5功能的實現(xiàn)文件結(jié)構(gòu)與說明1)客戶端Eclipse開發(fā)局部在程序的開發(fā)階段,首先確定“Android平臺新聞客戶端〞的工程名為“快看新聞〞,據(jù)程序模塊設(shè)計的內(nèi)容,建立“快看新聞〞工程,然后分析完成功能所需要的代碼結(jié)構(gòu),認(rèn)真完善,做好每一個功能。其工程源代碼的結(jié)構(gòu)與作用如以下圖3-9所示。圖3-9“快看新聞〞工程的源代碼文件為了使源代碼文件的結(jié)構(gòu)更清晰,快看新聞〞工程設(shè)置了多個命名空間,其包的作用分別展示在下表。表3.4“快看新聞〞工程的文件用途說明包名稱文件名說明Category.java新聞欄目的bean類CustomSimpleAdapter.java新聞欄目標(biāo)題的適配器DensityUtil.java像素和dip之間的轉(zhuǎn)換工具類StringUtil.javaString數(shù)據(jù)轉(zhuǎn)化成int的工具類MainActivity.java主新聞界面的ActivitycoCommentActivity.java新聞評論界面的ActivityNewDetailActivity.ava新聞詳細內(nèi)容的Activity包內(nèi)所有文件互聯(lián)網(wǎng)上開源的異步訪問框架結(jié)構(gòu)Android中資源文件都保存在/res的子目錄中。其中,/res/drawable/目錄中下保存的是圖像文件,/res/values目錄中保存的是自定義的字符串和顏色的文件以及樣式文件,/res/xml目錄中保存的是xml格式的數(shù)據(jù)文件,/res/layout目錄下保存的是UI的布局文件。/res/anim目錄下包含的是所有的動畫控制文件。程序開發(fā)階段可以被調(diào)用的所有資源都保存在這些目錄中[4],具體的文件圖圖3-10示如下。圖3-10android資源文件圖2)效勞器端EclipseStandard開發(fā)局部在效勞器開發(fā)端,建立工程名為“News〞的工程,如以下圖3-11所示圖3-11效勞器端目錄圖配合上圖的目錄結(jié)構(gòu)圖,使結(jié)構(gòu)更加清晰,目標(biāo)類的作用分別展示在如下表3-5的工程文件目錄說明中。表3.5“News〞工程的文件用途說明包名稱文件名說明CategoryDAO.javaCommentDAO.javaNewsDAO.java對數(shù)據(jù)庫增刪改查的類CpertiesSqlManager.java連接MySql的配置文件Category.javaComment.javaNews.java新聞、評論、類型的模型類GetCategoriesServlet.javaGetCommentsServlet.javaGetNewsServlet.javaGetSpecifyCategoryNewsServlet.javaPostCommentServlet.java數(shù)據(jù)交互操作的servlet類org.jsonJSONArray.javaJSONException.javaJSONML.javaJSONObject.javaJSONString.javaJSONStringer.javaJSONTokener.javaJSONWriter.java生成json文件的工具類org.jsonCDL.javaCookie.javaCookieList.java.javaTokener.java緩存級訪問工具類TextUtility.java字符編碼轉(zhuǎn)換工具類具體實現(xiàn)主新聞頁面的設(shè)計與實現(xiàn)1)開頭定義出頁面所需要用到的控件以及新聞欄目的適配器,從代碼中可以看出,除了全局變量layoutinflater,loadnews_progress,titlebar_refresh,MainActivity類中有以上私有屬性cid、newsData、newsListAdapter、newslists、CatName、ategories。點擊新聞欄目之后,MainActivity會顯示相應(yīng)欄目下的的新聞信息,假設(shè)此欄目下有新聞的話就會顯示出來,假設(shè)沒有新聞的話就會提示“該欄目下沒有新聞信息〞,要是無法連接網(wǎng)絡(luò)的話就會提示“網(wǎng)絡(luò)無法連接〞,十分清楚的告訴用戶現(xiàn)在所處的狀態(tài)??蛻舳瞬捎玫氖钱惒皆L問框架,其中AsyncClient類是十分方便的異步訪問類,它是封裝好的,只需提供接口地址和參數(shù),就能十分方便的訪問接口獲得數(shù)據(jù),并且不用再寫回調(diào)方法,只需要AsyncClient中的cilent對象get或者post請求方式訪問接口,然后重寫兩個方法,一個是onsuccess(),另一個是onfailure(),其中onsuccess()方法是訪問接口成功,獲得的數(shù)據(jù)將從方法的參數(shù)content中可以得到,然后再進行相應(yīng)解析,當(dāng)由于接口錯誤或者網(wǎng)絡(luò)錯誤時或者返回錯誤信息時,請求數(shù)據(jù)時將會執(zhí)行onfailure()方法。2)訪問接口成功后,會從效勞器得到一個json數(shù)據(jù),我們要做的就是解析它,然后將之填充到我們的頁面顯示,解析MainActivity.java頁面中接收各個欄目的json格式數(shù)據(jù),需要導(dǎo)入json包的支持,代碼見附錄A。3)加載更多新聞按鈕,是訪問getSpeCatNews這個接口,點擊按鈕的時候只是傳的第二個參數(shù)變成了我們需要加載的新聞個數(shù),這是一個變量由我們自己定義出來的,getSpeCatNews(cid,newsData.size(),false)。newsData.size()新聞數(shù)目的size就是自己定義出來的變量。實現(xiàn)的代碼如下:loadMoreBtn.setOnClickListener(newOnClickListener(){publicvoidonClick(Viewv){getSpeCatNews(cid,newsData.size(),false);}});4)關(guān)于界面的退出,是重寫了onKeyDown()的方法,判斷是否按了后退鍵,然后在界面上提示再按一次退出鍵退出程序,兩次退出操作的時間間隔超過兩秒退出無效,兩秒以內(nèi)完成退出操作,具體界面退出的代碼見附錄 新聞詳細頁面的設(shè)計與實現(xiàn):1)頁面初始化首先要初始化變量一些控件和變量的信息,如上一頁按鈕newsdetails_titlebar_previous,下一頁按鈕newsdetails_titlebar_next,評論的按鈕newsdetails_titlebar_comments,以及手指觸摸屏幕時記錄的坐標(biāo)StartX起點坐標(biāo)X,floatStartY起點坐標(biāo)Y等等相關(guān)的控件及變量。2)發(fā)送評論評論按鈕newsdetails_titlebar_comments會通過intent對象把新聞的nid穿到評論頁面,這里是實現(xiàn)按鈕的監(jiān)聽,實現(xiàn)代碼:newsdetails_titlebar_comments.setOnClickListener(newOnClickListener(){publicvoidonClick(Viewv){Intentintent=newIntent(NewDetailActivity.this,CommentActivity.class);intent.putExtra("nid",mNid);startActivity(intent);}});根據(jù)用戶的體驗感,顯示詳細新聞信息的時候希望能夠不用返回主新聞界面查看下一條或者上一條新聞,所以在詳細新聞頁面添加手勢判斷功能,手指觸摸屏幕實現(xiàn)上一條或者是下一條,然后添加動畫效果,讓用戶用起來更加舒服,更加人性化,動畫效果的配置在res/anim目錄下。評論界面的設(shè)計與實現(xiàn)1)初始化變量首先定義頁面控件和一些變量,首先定義出評論界面的控件和變量,如發(fā)表按鈕news_reply_post,LinearLayoutnews_reply_edit_layout;//評論的編輯區(qū)域,LinearLayoutnews_reply_img_layout;//評論的圖形區(qū)域2)獲得評論信息獲得評論信息,訪問評論的接口,以get方式傳遞新聞的id,然后從json的格式數(shù)據(jù)中獲得返回的評論信息,要是沒有網(wǎng)絡(luò)或者傳遞的參數(shù)不正確會彈出toast框提示錯誤信息。獲得評論的接口地址是:.1:8080/News/getComments?nid="+nid"&startnid=0&count=10";里面的三個參數(shù)分別是:nid新聞ID,startnid評論的起始ID和count每次需要獲得的數(shù)目,參數(shù)的作用就是讓我們每次訪問時,只獲取10個數(shù)據(jù),這樣的好處就是節(jié)省數(shù)據(jù)流量,并且無需占用額外的內(nèi)存。3)發(fā)送評論信息以post方式請求數(shù)據(jù),通過Requestparams對象傳遞參數(shù)信息,發(fā)送評論的接口地址是:Stringurl="://:8080/News/postComment",需要傳遞的參數(shù)是:nid新聞ID,region發(fā)送人的地址,content發(fā)送內(nèi)容,訪問的方法是采用異步訪問框架的post方法訪問成功會返回發(fā)送成功了信息,失敗也會有相應(yīng)提示,核心代碼參見附錄A。EclipseStandard效勞器端開發(fā)局部1)首先導(dǎo)入測試類和mysql的jar包如以下圖3-12。圖3-12測試類和mysql的jar包2)配置servlet的web.xml文件詳見附錄A3)數(shù)據(jù)庫管理類SqlManager.java的作用就是連接數(shù)據(jù)庫配置的屬性,包括數(shù)據(jù)庫主機地址、數(shù)據(jù)庫名、數(shù)據(jù)庫端口、數(shù)據(jù)庫密碼、連接字符串、連接對象。配置資源文件和JDBC的驅(qū)動類型,代碼如下:privatestaticSqlManagermanager=null;//靜態(tài)變量,支持單態(tài)模式 privatePropertyResourceBundlebundle;//配置資源文件 privatestaticStringjdbcDrive=null;//JDBC驅(qū)動類型 privateStringDBhost="";//數(shù)據(jù)庫主機地址 privateStringDBname="";//數(shù)據(jù)庫名 privateStringDBprot="";//數(shù)據(jù)庫端口 privateStringDBuser="";//數(shù)據(jù)庫用戶名 privateStringDBpasswd="";//數(shù)據(jù)庫密碼 privateStringstrcon=null;//連接字符串 privateConnectionconn=null;//連接對象 privatePreparedStatementpstm=null; privateCallableStatementcstm=null;私有的成員變量只是定義出來,并沒有進行初始化,創(chuàng)立一個Cperties的配置文件,用來配置連接數(shù)據(jù)的各項配置參數(shù)。Cperties的配置信息如下:DBpassword=123456然后再SqlManager.java添加一個私有的構(gòu)造方法,將Cperties的配置信息加載到代碼中來,用new一個屬性資源的bundle,參數(shù)是得到一個配置文件的輸入流,構(gòu)造方法如下:privateSqlManager()throwsIOException{bundle=newPropertyResourceBundle(SqlManager.classgetResourceAsStream("Cperties"));this.DBhost=getString("DBhost");//讀取主機名this.DBname=getString("DBname");//讀取用戶名this.DBprot=getString("DBport");//讀取端口this.DBuser=getString("DBuser");//讀取用戶this.DBpasswd=getString("DBpassword");//讀取密碼//設(shè)置mysql數(shù)據(jù)庫的驅(qū)動程序和連接字符river";strcon="jdbc:mysql://"+DBhost+":"+DBprot+"/"+DBname;}我們對數(shù)據(jù)庫的增、刪、改、查用到的方法全都依賴于SqlManager.java中的方法,要在SqlManager.java中寫出查詢和更新的方法,在sql語句對數(shù)據(jù)庫進行操作的時候會根據(jù)sql語句的不同,參數(shù)也會不同,所以要在這里設(shè)置PrepareStatement對象中sql語句中的參數(shù)的方法,配置參數(shù)的代碼如下:privatevoidsetPrepareStatementParams(Stringsql,Object[]params)throwsSQLException{pstm=conn.prepareStatement(sql);//獲取對象if(params!=null){for(inti=0;i<params.length;i++)//遍歷參數(shù)列表填充參數(shù){pstm.setObject(i+1,params[i]); } }}執(zhí)行查詢操作是數(shù)據(jù)庫操作的核心功能,代碼如下:publicResultSetexecuteQuery(Stringsql,Object[]params)throwsSQLException{//執(zhí)行查詢數(shù)據(jù)庫接口ResultSetrs=null;manager.setPrepareStatementParams(sql,params);//填充參數(shù)rs=pstm.executeQuery();//執(zhí)行查詢操作returnrs;}更新數(shù)據(jù)庫的代碼如下:publicbooleanexecuteUpdate(Stringsql,Object[]params)throwsSQLException{booleanresult=false;manager.setPrepareStatementParams(sql,params);//填充參數(shù)pstm.executeUpdate();//執(zhí)行更新managermitChange();result=true;returnresult;}4)效勞器端的核心功能就是接收客戶端發(fā)過來的指令,獲得參數(shù)對數(shù)據(jù)進行操作,然后返回json格式的數(shù)據(jù)給客戶端,這里面的數(shù)據(jù)交互所用到的技術(shù)是servlet技術(shù),前面已經(jīng)在web.xml文件中已經(jīng)對各個servlet進行了配置。這里以接收客戶端發(fā)送過來的發(fā)表評論PostCommentServlet.java的指令為例,進行說明,因為其他的操作指令類似,區(qū)別在于參數(shù)的獲得和json數(shù)據(jù)的生成,下面進行詳細代碼的介紹。request.setCharacterEncoding("iso-8859-1")因為從客戶端傳過來的參數(shù)的編碼是“iso-8859-1〞,所以效勞器端接收數(shù)據(jù)是設(shè)置格式編碼為一致。發(fā)送評論的時候客戶端會向效勞器傳遞三個參數(shù),所以我們要接收者三個參數(shù):StringnidStr=request.getParameter("nid");Stringregion=request.getParameter("region");Stringcontent=request.getParameter("content");接收到的三個參數(shù)都是String類型的數(shù)據(jù),因為nid是int類型,所以要對其進行轉(zhuǎn)換,這里用到先前提到的工具類TextUtility.java:intnid=TextUtility.String2Int(nidStr);參數(shù)content代表的發(fā)表評論內(nèi)容,參數(shù)region代表的是地域,它們都有可能是中文、英文以及數(shù)字,因為“iso-8859-1〞并不支持中文,所以這里要將它們轉(zhuǎn)換成“utf-8〞的編碼格式,這樣才不會出現(xiàn)亂碼的情況,這里同樣是用到TextUtility.java這個工具類,轉(zhuǎn)換如下:region=TextUtility.toUTF8(region);content=TextUtility.toUTF8(content);在獲得參數(shù)以后,需要調(diào)用CommentDAO.java中的addComment方法,將參數(shù)添加進去。publicvoidaddComment(intnid,Stringptime,Stringregion,Stringcontent)throwsSQLException{sql="INSERTINTOt_comment(nid,ptime,region,content)VALUES Object[]params=newObject[]{nid,ptime,region,content};manager.connectDB();manager.executeUpdate(sql,params);manager.closeDB();}在增加成功之后,要返回一個成功的json數(shù)據(jù)給客戶端。其他的servlet類的操作原理與上述類似,這里就不一一累贅了。4系統(tǒng)測試4.1軟件的測試軟件測試的目的,第一個是確認(rèn)android新聞客戶端是否能運行,其一個方面就是確認(rèn)軟件是否完成了我先前設(shè)計的那些功能。第二個是提供信息,比方提供應(yīng)我回饋信息,看看在開發(fā)的哪些步驟上面能夠有精簡,能夠有提升。第三個是測試不僅是在測試這個新聞客戶端的本身,而且還包括了整個的開發(fā)過程。如果在這個新聞客戶端開發(fā)完成后出現(xiàn)了很多問題,那就說明了開發(fā)的過程還存在漏洞。4.2測試與實現(xiàn)的結(jié)果及說明1)采用的真機進行測試在工程名“快看新聞〞上點右鍵,然后選擇“RunAs〞或者點擊菜單欄上面的按鈕,然后選擇“AndroidApplication〞。出現(xiàn)如以下圖4-1所示:圖4-1選擇測試工具圖為什么要用真機來做測試,因為用戶都是用的真機,而且選擇用模擬器來做,有兩點弊端。(1)模擬器反響速度太慢(2)測試效果不如在真機上看的方便2)啟動新聞客戶端選擇屏幕上的“快看新聞〞如以下圖4-2:圖4-2新聞頁面的圖標(biāo)3)進入到載入界面如以下圖4-3所示:圖4-3載入界面效果圖4)然后就是顯示主要新聞界面的內(nèi)容了,界面顯示如前面設(shè)計的簡單界面加以樣式修飾,界面包含軟件名稱、刷新按鈕、新聞分欄、欄目下一欄的按鈕、新聞列表和加載更多按鈕,所有的新聞放在一個ListView里面界面只會顯示六條新聞,滑動界面可以查看更多的新聞,點擊加載更多按鈕可以加載出更多的新聞參加ListView顯示在界面上,具體效果如以下圖4-4所示:圖4-4主新聞頁面效果圖5)點擊新聞列表中的某一條新聞,選擇查看新聞詳細信息,因為在主新聞的頁面只能看到新聞的預(yù)覽內(nèi)容,新聞的詳細頁面能夠看到新聞的標(biāo)題,詳細信息,發(fā)表人和發(fā)表時間,在上面的新聞分欄的右邊還能看到評論的數(shù)目信息,點擊新聞的數(shù)目的信息能夠看到該條新聞的具體評論信息,具體效果如以下圖5-5所示:圖4-5詳細新聞頁面效果圖 6)點擊跟帖數(shù)目,進入評論界面,界面顯示的就是該條新聞的評論信息,每一條評論信息包含發(fā)表人的地點,內(nèi)容和評論時間,然后再參加一條評論與左圖進行比照,效果如以下圖4-6所示:圖4-6新聞評論頁面效果圖測試小結(jié):經(jīng)過一系列的測試,這款新聞客戶端軟件根本完成了預(yù)期的功能,并且系統(tǒng)的穩(wěn)定性也較好。5總結(jié)與展望5.1總結(jié)經(jīng)過數(shù)月的不懈努力,Android平臺新聞客戶端軟件終于完成了,用戶可以通過這款新聞客戶端了解新聞時事,對于Android平臺的開發(fā)需要用到很多Java的根底知識,在這方面Java語言帶給我了很多的方便。在整個開發(fā)設(shè)計過程之中,我學(xué)習(xí)到了很多的Android平臺的知識,比方Android的UI的設(shè)計優(yōu)化、樣式的的設(shè)計、Activity、Service、BroadcastReceiver、ContentProvider等四大組件的運用,還有對Eclipse、Tomcat、Mysql等開發(fā)工具的熟練使用。雖然軟件相比于已經(jīng)上線的新聞客戶端軟件還有一定的差距,但是這并沒有打擊我對于Android平臺開發(fā)的興趣,反倒這是一件鼓勵我的事情,我從中發(fā)現(xiàn)了我很多缺乏的方面,然后可以通過更加認(rèn)真地學(xué)習(xí),掌握更多先進的編程技術(shù),設(shè)計出更系統(tǒng)更好用的Android軟件。5.2展望經(jīng)過了對本軟件的設(shè)計和實踐,將老師在課堂上和自己在課外時間學(xué)習(xí)的知識做了一個總結(jié)。一方面有做的很好的地方,另一方面同樣也存在著有缺陷的地方。這是為我們馬上畢業(yè)工作敲的一個警鐘。學(xué)校學(xué)習(xí)到的知識雖然可能能用在工作中的并不會很多,但是我們在學(xué)校學(xué)到的是學(xué)習(xí)方法,因為不管在任何階段,人總是需要不停地學(xué)習(xí)。在以后的工作和學(xué)習(xí)當(dāng)中,我將保持積極認(rèn)真的態(tài)度,遇事謹(jǐn)慎,仔細分析,以一顆永不停歇的心來面對人生,在軟件開發(fā)這份職業(yè)上,需要充分鍛煉自己的思維與敏銳,因為軟件開發(fā)更新?lián)Q代是十分迅速的,想不被淘汰就不能停下學(xué)習(xí)的腳步。參考文獻肖云鵬,劉宴兵.Android程序設(shè)計教程[M].清華大學(xué)出版社,2021-04張榮.Android開發(fā)與應(yīng)用[M].人民郵電出版,2021-02王向輝,張國印,賴明珠.Android應(yīng)用程序開發(fā)[M].清華大學(xué)出版社,2021-05趙常松.Android應(yīng)用程序開發(fā)與典型案例[M].電子工業(yè)出版社,2021-10高凱,仇晶.Android智能軟件開發(fā)教程[M].國防工業(yè)出版社,2021-06孫衛(wèi)琴編著.JAVA面向?qū)ο缶幊蘙M].電子工業(yè)出版社,2021-7張帆編著.Java范例開發(fā)大全[M].清華大學(xué)出版社,2010-6-1楊春花,俞黎敏.EffectiveJava中文版[M].機械工業(yè)出版社,2009-1-1[10]李剛.輕量級JavaEE企業(yè)應(yīng)用實戰(zhàn)[M].電子工業(yè)出版社,2008-11-1[11]〔美〕塞假設(shè)貝茨.HeadFirstJava〔中文版〕[M].中國電力出版社,2007-2-1[12]張孝祥,張紅梅.JavaScript網(wǎng)頁開發(fā)[M].清華大學(xué)出版社,2004-11[13]張孝祥.深入體驗JavaWeb開發(fā)內(nèi)幕[M].電子工業(yè)出版社,2006-10-1[14]張孝祥.深入體驗JavaWeb高級特性[M].電子工業(yè)出版社,2007-12[15]俞東進,任祖杰JavaEEWeb應(yīng)用開發(fā)根底[M].電子工業(yè)出版社,2021-6[16]求是科技.Java數(shù)據(jù)庫系統(tǒng)開發(fā)實例導(dǎo)航[J].人民郵電出版社,2004-5附錄A初始化新聞界面控件和變量:privateintcid;//新聞ID privateArrayList<HashMap<String,Object>>newsData;//新聞列表 privateSimpleAdapternewsListAdapter;//定義新聞欄目適配器 privateListViewnewslists;//新聞列表的ListView LayoutInflaterlayoutinflater; Buttontitlebar_refresh;//刷新按鈕 ProgressBarloadnews_progress;//進程提示框 privateStringmCatName; privateList<HashMap<String,Category>>categories;獲取新聞的代碼:TextViewcategorytitle;for(inti=0;i<parent.getCount();i++){ categorytitle=(TextView)parent.getChildAt(i); categorytitle.setTextColor(0xffadb2ad); categorytitle.setBackgroundDrawable(null); } categorytitle=(TextView)v; categorytitle.setTextColor(Color.WHITE); categorytitl.setBackgroundResource(R.drawable.categorybar_item_background); if(newsListAdapter==null){ Toast.makeText(MainActivity.this,"網(wǎng)絡(luò)連接失敗",0).show(); return; } newsListAdapter.notifyDataSetChanged(); cid=categories.get(position).get("category_title").getCid(); mCatName=categories.get(position).get("category_title").getTitle(); System.out.println("cid="+cid);//獲取該欄目下新聞 System.out.println(newsData.size()+"newsData數(shù)目"); getSpeCatNews(cid,0,true); System.out.println(newsData.size()+"newsData數(shù)目");//通知ListView進行更新 newsListAdapter.notifyDataSetChanged();}其中,封裝好的訪問效勞器的接口方法:getSpeCatNews(cid,0,true),具體的代碼如下:publicvoidgetSpeCatNews(intcid,intstartnid,booleanfirsttime) { AsyncClientclient=newAsyncClient(); Stringpath="://6:8080/News/getSpecifyCategoryNews?startnid="+startnid+"&count=7&cid=" +cid; client.get(path,newAsyncResponseHandler(){ @Override publicvoidonSuccess(Stringcontent){ //TODOAuto-generatedmethodstub super.onSuccess(content); dothis(content); } publicvoidonFailure(Throwableerror,Stringcontent){ Toast.makeText(MainActivity.this,"網(wǎng)絡(luò)連接失敗,請檢查", 0).show(); } });}JSONArraynewslist=dataObject.getJSONArray("newslist");for(inti=0;i<newslist.length();i++){JSONObjectnewsObject=(JSONObject)newslist.opt(i);HashMap<String,Object>hashMap=newHashMap<String,Object>(); hashMap.put("nid",newsObject.getInt("nid")); hashMap.put("newslist_item_title",newsObject.getString("title")); hashMap.put("newslist_item_digest",newsObject.getString("digest")); hashMap.put("newslist_item_source",newsObject.getString("source")); hashMap.put("newslist_item_ptime",newsObject.getString("ptime")); hashMap.put("newslist_item_comments",newsObject.getString("commentcount"); newsData.add(hashMap);}退出界面實現(xiàn)的代碼如下: publicbooleanonKeyDown(intkeyCode,KeyEventevent){ if(keyCode==KeyEvent.KEYCODE_BACK){//截獲后退鍵 longcurrentTime=newDate().getTime(); //如果時間間隔大于2秒,不處理 if((currentTime-preTime)>TWO_SECOND){ Toast.makeText(this,"再按一次退出鍵退出程序", Toast.LENGTH_SHORT).show();//顯示消息 preTime=currentTime;//更新時間 returntrue;//截獲事件,不再處理 } } returnsuper.onKeyDown(keyCode,event);}評論界面的初始化代碼:ViewFlippernews_body_flipper;//動畫Flipper LayoutInflaternewsbodyinflater; Buttonnewsdetails_titlebar_previous;//上一頁 Buttonnewsdetails_titlebar_next;//下一頁 Buttonnewsdetails_titlebar_comments;//評論按鈕 intcount;//數(shù)量 ArrayList<HashMap<String,Object>>mNewsData=new ArrayList<HashMap<String,Object>>(); intposition;//當(dāng)前頁面的位置 IntegermNid; floatStartX;//起點坐標(biāo)X floatStartY;//起點坐標(biāo)Y TextViewnewsdetails_titlebar_title; TextViewnewsDetails; HashMap<String,Object>hashmap;Viewbodyviewlayout;加載下一頁 privatevoidshownext(){ if(position>=mNewsData.size()-1){ Toast.makeText(NewDetailActivity.this,"已到最后一頁", 0).show(); return; }else{ position++; inflateview(); news_body_flipper.setOutAnimation(this, R.anim.push_left_out); news_body_flipper.setInAnimation(this, R.anim.push_left_in); news_body_flipper.showNext(); }}加載上一頁 privatevoidshowprevious(){ if(position<=0){ Toast.makeText(NewDetailActivity.this,"當(dāng)前已經(jīng)是第一頁", 0).show(); return; }else{ position--; inflateview(); news_body_flipper.setInAnimation(this, R.anim.push_right_in); news_body_flipper.setOutAnimation(this, R.anim.push_right_out); news_body_flipper.showPrevious(); }}判斷手指方向的代碼:publicbooleanonTouch(Viewv,MotionEventevent){ switch(event.getAction()){ caseMotionEvent.ACTION_DOWN: StartX=event.getX(); StartY=event.getY(); break; caseMotionEvent.ACTION_UP: floaty=StartY-event.getY(); floatx=StartX-event.getX(); if(x>0){//假設(shè)x>0,那么方向是向坐滑 floatangle=Math.abs(y)/Math.abs(x); if(angle<0.5){ shownext(); } }else//假設(shè)x<0,那么方向是向右滑{ floatangle=Math.abs(y)/Math.abs(x); if(angle<0.5){ showprevious(); } } break; } returntrue; }ImageButtonnews_reply_img_btn;//回復(fù)評論的imageview LinearLayoutnews_reply_edit_layout;//評論的編輯區(qū)域 LinearLayoutnews_reply_img_layout;//評論的圖形區(qū)域 Buttonnews_reply_post;//發(fā)表評論 intnid;//新聞id EditTextnews_reply_edittext;//評論的回復(fù)內(nèi)容 Stringcontent;List<HashMap<String,Object>>comments;發(fā)送評論的核心代碼: publicvoidsenComment(){ content=news_reply_edittext.getText().toString().trim(); AsyncClientclient=newAsyncClient(); Stringurl="://:8080/News/postComment"; RequestParamsparams=newRequestParams(); params.put("nid",nid+""); params.put("region","湖南省長沙市"); params.put("content",content); client.post(url,params,newAsyncResponseHandler(){ //發(fā)送成功 publicvoidonSuccess(Stringcontent){ StringretStr=content; try{ JSONObjectjsonObject=newJSONObject(retStr); intretCode=jsonObject.getInt("ret"); if(0==retCode){ Toast.makeText(CommentActivity.this,"發(fā)送成功", Toast.LENGTH_SHORT).show(); return; } }catch(Exceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } } //發(fā)送失敗 publicvoidonFailure(Throwableerror,Stringcontent){ Toast.makeText(CommentActivity.this,"網(wǎng)絡(luò)連接異常", Toast.LENGTH_SHORT).show(); } }); }Servlet的web.xml配置文件<servlet><servlet-name>GetCategoriesServlet</servlet-name><servlet-class>com.szy.web.servlet.GetCategoriesServlet</servlet-class></servlet><servlet><servlet-name>GetSpecifyCategoryNewsServlet</servlet-name><servlet-class>com.szy.web.servlet.GetSpecifyCategoryNewsServlet</servlet-class></servlet><servlet><servlet-name>GetNewsServlet</servlet-name><servlet-class>com.szy.web.servlet.GetNewsServlet</servlet-class></servlet><servlet><servlet-name>GetCommentsServlet</servlet-name> <servlet-class>com.szy.web.servlet.GetCommentsServlet</servlet-class></servlet><servlet><servlet-name>PostCommentServlet</servlet-name><servlet-class>com.szy.web.servlet.PostCommentServlet</servlet-class></servlet><servlet-mapping><servlet-name>GetCategoriesServlet</servlet-name><url-pattern>/getCategories</url-pattern></servlet-mapping><servlet-mapping><servlet-name>GetSpecifyCategoryNewsServlet</servlet-name><url-pattern>/getSpecifyCategoryNews</url-pattern></servlet-mapping><servlet-mapping><servlet-name>GetNewsServlet</servlet-name><url-pattern>/getNews</url-pattern></servlet-mapping><servlet-mapping><servlet-name>GetCommentsServlet</servlet-name><url-pattern>/getComments</url-pattern></servlet-mapping><servlet-mapping><servlet-name>PostCommentServlet</servlet-name><url-pattern>/postComment</url-pattern></servlet-mapping><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list>本科畢業(yè)設(shè)計〔論文〕簡明指導(dǎo)手冊1畢業(yè)設(shè)計(論文)總論1.1概述高等院校的畢業(yè)設(shè)計(論文)教學(xué)過程是實現(xiàn)本科培養(yǎng)目標(biāo)及規(guī)格的重要培養(yǎng)階段。畢業(yè)設(shè)計(論文)是學(xué)生畢業(yè)前的最后學(xué)習(xí)階段,是學(xué)習(xí)深化與升華的重要過程;是能力與素質(zhì)培養(yǎng)的重要途徑;是學(xué)生學(xué)習(xí)、研究與實踐成果的全面總結(jié);是學(xué)生綜合素質(zhì)與實踐能力培養(yǎng)效果的全面檢驗;是學(xué)生畢業(yè)及學(xué)位資格認(rèn)定的重要依據(jù);是評價高等學(xué)校教育教學(xué)質(zhì)量的重要依據(jù)。1.1.1畢業(yè)設(shè)計(論文)的根本概念〔1〕畢業(yè)設(shè)計的內(nèi)涵畢業(yè)設(shè)計是高等學(xué)校應(yīng)屆畢業(yè)生,畢業(yè)前接受課題任務(wù),所進行的設(shè)計過程,并取得其設(shè)計成果?!?〕畢業(yè)論文的內(nèi)涵畢業(yè)論文是高等學(xué)校學(xué)生畢業(yè)前所撰寫的學(xué)術(shù)論文。畢業(yè)論文說明作者在科學(xué)研究工作中取得的新成果或提出的新見解,并說明作者具有的科研能力與學(xué)識水平。畢業(yè)論文具有學(xué)術(shù)論文所共有的一般屬性,它的構(gòu)成與展開嚴(yán)格按照緒論、本論、結(jié)論的思維方式,以事實為根底,以嚴(yán)謹(jǐn)?shù)耐评磉^程為依據(jù),得出可信的科學(xué)結(jié)論。1.1.2畢業(yè)設(shè)計(論文)的特點與功能〔1〕畢業(yè)設(shè)計的特點與功能①畢業(yè)設(shè)計的特點高等院校學(xué)生畢業(yè)設(shè)計具有設(shè)計內(nèi)容的科學(xué)性、設(shè)計思想的新穎性、設(shè)計表述的標(biāo)準(zhǔn)性、設(shè)計條件的約束性、設(shè)計過程的綜合性、設(shè)計結(jié)果的實用性等工程設(shè)計的特點外,還具有畢業(yè)設(shè)計任務(wù)確實定首先考慮教學(xué)根本要求、畢業(yè)設(shè)計時間的限定性及學(xué)業(yè)的規(guī)定性、畢業(yè)設(shè)計是在指導(dǎo)教師指導(dǎo)下獨立完成的等特點。②畢業(yè)設(shè)計的功能·教學(xué)與教育功能畢業(yè)設(shè)計教學(xué)過程是高等院校培養(yǎng)方案的重要組成局部;是進行設(shè)計科學(xué)教育,強化工程意識,接受工程根本訓(xùn)練,提高工程實踐能力的重要培養(yǎng)階段;是培養(yǎng)優(yōu)良的思維品質(zhì),進行綜合素質(zhì)教育的重要途徑。通過畢業(yè)設(shè)計教學(xué)工作,培養(yǎng)學(xué)生綜合運用多學(xué)科理論、知識與技能,解決具有一定復(fù)雜程度的工程實際問題的能力;培養(yǎng)學(xué)生樹立正確的設(shè)計思想和掌握現(xiàn)代設(shè)計方法;培養(yǎng)學(xué)生嚴(yán)肅認(rèn)真的科學(xué)態(tài)度和嚴(yán)謹(jǐn)求實的工作作風(fēng);培養(yǎng)學(xué)生優(yōu)良的思維品質(zhì),強化工程實際意識;培養(yǎng)學(xué)生2工學(xué)院畢業(yè)設(shè)計〔論文〕簡明指導(dǎo)手冊勇于實踐、勇于探索和開拓創(chuàng)新的精神。在畢業(yè)設(shè)計階段,通過畢業(yè)設(shè)計教學(xué)與教育功能的實現(xiàn),有益于學(xué)生科學(xué)的智能結(jié)構(gòu)的形成及綜合素質(zhì)的全面培養(yǎng)?!ど鐣δ墚厴I(yè)設(shè)計課題來源于實際,畢業(yè)設(shè)計成果直接或間接為經(jīng)濟建設(shè)效勞,為生產(chǎn)、科研效勞,為社會效勞,以實現(xiàn)畢業(yè)設(shè)計的社會功能?!?〕畢業(yè)論文的特點與功能①畢業(yè)論文的特點畢業(yè)論文或稱學(xué)位論文是學(xué)術(shù)論文中的一種類型,具有學(xué)術(shù)性、科學(xué)性、創(chuàng)造性,即一般學(xué)術(shù)論文的共同屬性,同時具有以下特點:·畢業(yè)論文課題確實定,首先要符合教學(xué)根本要求,同時也要兼顧科學(xué)研究實際需要,緊密聯(lián)系實際?!ぎ厴I(yè)論文具有時間的限定性及學(xué)業(yè)的規(guī)定性?!ぎ厴I(yè)論文是在指導(dǎo)教師指導(dǎo)下獨立完成的。②畢業(yè)論文的功能·教學(xué)與教育功能畢業(yè)論文教學(xué)過程是高等學(xué)校培養(yǎng)方案的重要組成局部,是學(xué)生畢業(yè)前提交的一份具有一定理論與實際價值的學(xué)術(shù)論文。它是高等學(xué)校學(xué)生從事系統(tǒng)的科學(xué)研究的初步嘗試;是在指導(dǎo)教師指導(dǎo)下,對取得的科研成果的綜合表述。通過畢業(yè)論文的教學(xué)過程,培養(yǎng)學(xué)生探求未知、探索真理的科學(xué)精神,以及優(yōu)良的科學(xué)品質(zhì)與科學(xué)素養(yǎng);培養(yǎng)學(xué)生從事科學(xué)研究的根本能力。通過畢業(yè)論文的教學(xué)過程,檢驗學(xué)生綜合運用根底理論、根本知識和實驗技術(shù),解決科學(xué)和技術(shù)領(lǐng)域有關(guān)問題的能力;檢驗科研根本訓(xùn)練的實際效果?!ど鐣δ墚厴I(yè)論文是以應(yīng)用研究成果作為媒介與生產(chǎn)和社會實際相聯(lián)系。然后,通過開發(fā)研究的成果應(yīng)用于生產(chǎn)實際,為社會效勞。同時,畢業(yè)論文又是面向社會發(fā)表研究成果的重要手段,也是信息交流與信息存儲的重要工具,從而實現(xiàn)其社會功能。3工學(xué)院畢業(yè)設(shè)計〔論文〕簡明指導(dǎo)手冊1.2畢業(yè)設(shè)計(論文)教學(xué)各階段流程表1畢業(yè)設(shè)計(論文)教學(xué)各階段流程1、指導(dǎo)教師上報課12、教研室(課程組)召開會議進行課題審查、論證〔要求紀(jì)錄3、院系〔學(xué)術(shù)委員會〕或邀請校外專家對教研室上報課題進行評4、對學(xué)生公布課題,并確保一名學(xué)生做一個課題〔或子課題5、院系匯總通過評審的課題,并作為教學(xué)執(zhí)行方案報教務(wù)1、指導(dǎo)教師指導(dǎo)學(xué)生查閱相關(guān)文獻〔包括一定數(shù)量的外文文獻22、畢業(yè)生就課題撰寫開題報告,開題報告包括以下內(nèi)容2.1課題背景介2.2課題擬設(shè)計研究的主要內(nèi)容、實驗方2.3相關(guān)文獻綜2.4預(yù)期成果〔或階段性結(jié)果3、開題報告辯論〔各院系制定辯論方法,報教務(wù)處備案1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 日本課件 人教版
- 愛護地球 課件
- 轉(zhuǎn)化醫(yī)學(xué) 課件
- 西京學(xué)院《裝飾圖案》2022-2023學(xué)年第一學(xué)期期末試卷
- 幼兒園小班音樂《北風(fēng)爺爺別神氣》課件
- 部編本拼音zcs課件
- 西華師范大學(xué)《中外新聞傳播史》2021-2022學(xué)年第一學(xué)期期末試卷
- 西華師范大學(xué)《學(xué)科課程標(biāo)準(zhǔn)與教材研究》2023-2024學(xué)年第一學(xué)期期末試卷
- 混凝土原理課件
- 西華師范大學(xué)《數(shù)據(jù)庫系統(tǒng)原理》2021-2022學(xué)年期末試卷
- 第1~4單元期中檢測(試題)-2024-2025學(xué)年四年級上冊數(shù)學(xué)北師大版
- 《報關(guān)單填寫規(guī)范》課件
- 2024年貴州遵義市匯川區(qū)城市社區(qū)工作者招聘筆試參考題庫附帶答案詳解
- (完整)馬克思主義政治經(jīng)濟學(xué)習(xí)題及參考答案
- 科普知識《世界兒童日》(課件)小學(xué)生主題班會
- 淺色傳統(tǒng)美食小籠包宣傳PPT模板
- 小學(xué)五年級上學(xué)期家長會課件.ppt
- 語文蘇教版七年級上冊抓住物象 體會情感.ppt
- 三年級數(shù)學(xué)上冊 第五單元《面積》課件 滬教五四制
- 天貓店年度銷售計劃PPT幻燈片.ppt
- 國際結(jié)算(第九章)
評論
0/150
提交評論