基于Android新聞閱讀應用系統(tǒng)畢業(yè)論文_第1頁
基于Android新聞閱讀應用系統(tǒng)畢業(yè)論文_第2頁
基于Android新聞閱讀應用系統(tǒng)畢業(yè)論文_第3頁
基于Android新聞閱讀應用系統(tǒng)畢業(yè)論文_第4頁
基于Android新聞閱讀應用系統(tǒng)畢業(yè)論文_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、吉林大學珠海學院畢業(yè)論文(設計)基于android新聞閱讀應用系統(tǒng)the system of news reader based on android platform完成日期 2013年 4月畢業(yè)論文開題報告基于android新聞閱讀應用系統(tǒng)摘要現(xiàn)時代,計算機行業(yè)相比于上個世紀已經(jīng)有翻天覆地的進步,社會越來越趨于移動信息化,人們去要求隨時隨地的去獲取自己所需要信息。這情況下,基于android新聞閱讀應用系統(tǒng)能很好的滿足人們對這方面的需求?;赼ndroid新聞閱讀應用系統(tǒng)是基于谷歌android提供的sdk設計開發(fā)而成。本應用在sdk2.2環(huán)境下,通過adobe photoshop、mys

2、ql、eclipse等工具來開發(fā)。開始時通過了解現(xiàn)在國內互聯(lián)網(wǎng)門戶上新聞展示特點,對基于android新聞閱讀應用系統(tǒng)進行系統(tǒng)需求的分析,之后選取了數(shù)據(jù)源、數(shù)據(jù)封裝及其相應解釋方法。通過查閱文獻,選擇了新浪、騰訊、搜狐等互聯(lián)網(wǎng)門戶數(shù)據(jù)和后臺服務來作為基于android新聞閱讀應用系統(tǒng)數(shù)據(jù)的來源。在確定數(shù)據(jù)源后,通過到百度mux、騰訊mxd等用戶體驗設計網(wǎng)站查閱、學習,設計出一整套有較好用戶體驗的ui。在設計過程中,熟悉了系統(tǒng)自帶控件,也使自身自定義控件的能力有大大提高。ui設計完成后,進行應用系統(tǒng)開發(fā),重點控制ui方面的展示及數(shù)據(jù)持久化功能的開發(fā)。在完成開發(fā)后,對系統(tǒng)經(jīng)行過測試,并修改了應用系

3、統(tǒng)設計上的不合理地方。經(jīng)過一系列流程,開發(fā)出了健壯、穩(wěn)定的應用系統(tǒng)。關鍵詞: android;sdk;新聞閱讀;javathe system of news reader based on android platformabstracttoday, the computer industry has been advanced in turn the world upside down comparing to the last century and society is increasingly mobiles information. people need obtain the in

4、formation whenever and wherever. in the case, the system of news reader based on android platform can be good to satisfy the needs of the people in this area.the system of news reader based on android platform is designed to develop through sdk google provided by android platform, this application w

5、as designed in sdk2.2 environment and it was made through the photoshop, mysql, and eclipse etc. the following describes the whole development process of the system of news reader based on android platform. firstly, according to understand of showing newss features from the present domestic internet

6、 portal, given the system of news reader based on android platform needs analysis carried out. later selecting the data source, learning to encapsulate and interpretate method. through the review of the literature, choosing the sina, sohu, tencent internet portal data and background service to serve

7、 as a data source of the system of news reader based on android platform. in determining a data source, through to learn the design of baidu mux, tencent mxd, to design a good user experience. familiar with the control system and it has greatly improved their own custom control ability in the design

8、 process. after the completion of the ui design, focusing on the development of ui display and data persistence function. finally, after the completion of system development, the system was tested, and modifies the unreasonable application system design. after a series of process, developed the stea

9、dily application system.key words:android ; sdk; news reader ; java目錄1 緒論11.1 研究背景11.2 數(shù)據(jù)庫簡介11.3 開發(fā)環(huán)境簡介21.3.1 android概述21.3.2 java概述21.3.3 mysql概述22 需求分析32.1 系統(tǒng)需求32.2 需求分析32.3 系統(tǒng)功能分析圖32.4 系統(tǒng)模塊組成42.4.1 系統(tǒng)功能模塊42.4.2 功能模塊的實現(xiàn)43 總體設計53.1 系統(tǒng)結構圖53.2 總體功能設計53.2.1 系統(tǒng)設計目標53.2.2 總體設計63.3 數(shù)據(jù)庫設計73.3.1 系統(tǒng)數(shù)據(jù)分析73.3

10、.2 系統(tǒng)er圖73.4 數(shù)據(jù)流圖93.5 數(shù)據(jù)字典93.5.1 新聞欄目分類表93.5.2 新聞信息表103.5.3 新聞評論表104 設計思想與實現(xiàn)114.1 數(shù)據(jù)庫操作類的構建114.2 新聞欄目展示概要列表模塊124.3 新聞欄目分類、刷新加載列表模塊134.4 新聞詳細內容加載展示模塊154.5 新聞用戶交互評論模塊164.6 新聞評論內容加載展示模塊174.7 互聯(lián)網(wǎng)門戶新聞瀏覽功能模塊184.8 新聞應用退出功能模塊195 系統(tǒng)測試與運行205.1 系統(tǒng)運行環(huán)境205.2 系統(tǒng)測試205.2.1 測試目的205.2.2 測試方法215.2.3 測試結論226 結束語23參考文獻2

11、4致謝251 緒論1.1 研究背景現(xiàn)時代社會正快速向移動信息化社會前進,移動設備在生活中、工作中的作用也越來越大。移動信息化的過程中,傳統(tǒng)的用計算機上瀏覽器閱讀每天周邊世界各地的動態(tài)的方式會顯得相對笨拙而且不方便與人們生活隨意的要知道身邊的動態(tài)新聞。為了適應這種動態(tài)以及移動信息化的發(fā)展,慢慢的開始出現(xiàn)、誕生了手機、平板電腦上的一些客戶端的應用來適應這方面的趨勢,從而供應人們的需求,方便人們去使用。隨著移動端的應用軟件的發(fā)展,國內的一些知名的互聯(lián)網(wǎng)公司開始推出相關定做的一些新聞閱讀的移動設備客戶端,到現(xiàn)在國內的互聯(lián)網(wǎng)公司對這方面的客戶端已經(jīng)做得比較好,不但表現(xiàn)在單純的實現(xiàn)所需要的功能上,還體現(xiàn)在

12、用戶體驗上。令人反想的是,人們通過生活上需求從而產生了相應方便生活的一些應用、軟件。現(xiàn)在一些企業(yè)上的業(yè)務系統(tǒng)、oa系統(tǒng)等企業(yè)上必須所要具備的重要系統(tǒng)也是慢慢的開發(fā)到移動設備上的客戶端,增加業(yè)務上的渠道、提高公司的效益、方便員工的工作。例如中科軟科技股份有限公司(深圳)我們這個移動開發(fā)項目組已經(jīng)跟深圳的一家保險公司開發(fā)了一套基于android移動出單的客戶端,把核心業(yè)務系統(tǒng)上的出單的業(yè)務環(huán)節(jié)轉移到移動設備上來增加自己的業(yè)務渠道,從而體現(xiàn)出新聞閱讀客戶端之類的應用也是這過程的產物,移動設備信息化的趨勢是會不斷的發(fā)展下去。實現(xiàn)一個移動端新聞閱讀客戶端,可以方便人們的生活、充分的利用工作、生活上多余的

13、時間了解周邊的新聞動態(tài),另外一種程度也是舒緩一下生活、工作上帶來的壓力,從而使自己的生活更加的充實、愉快。1.2 數(shù)據(jù)庫簡介數(shù)據(jù)庫是通過參照數(shù)據(jù)的特點來進行重新的排列、管理數(shù)據(jù)的存儲數(shù)據(jù)的倉庫。如在日常生活工作中,人們需要把一些用意義的數(shù)據(jù)存放到數(shù)據(jù)庫當中,可能會根據(jù)一些業(yè)務管理之類的需要而進行一些相關的處理。例如,人事部門把員工的一些個人信息存放到數(shù)據(jù)庫當中,以方便日后對數(shù)據(jù)的查找及修改工作。一個有多么復雜的系統(tǒng)歸根到底也是對數(shù)據(jù)的操作,保存所要需要的信息,對數(shù)據(jù)增、刪、改和查等功能操作都是由數(shù)據(jù)庫統(tǒng)一的進行處理與控制。數(shù)據(jù)庫的穩(wěn)定、運行效率要給予支持。隨著當今社會信息化的趨勢,數(shù)據(jù)信息資源

14、會變得越來越大多、越來越復雜,從而數(shù)據(jù)庫在當中起著重要的作用,數(shù)據(jù)庫技術也是不斷的前行的發(fā)展來適應趨勢需求。1.3 開發(fā)環(huán)境簡介該新聞閱讀應用系統(tǒng)是利用androidjavamysql進行開發(fā)的。小應用系統(tǒng)的開發(fā)是用我們一般java + mysql來輕量級的構造,java是現(xiàn)在全球使用人數(shù)最多的面向對象的編程語言,這已經(jīng)很好的間接性的體現(xiàn)這種編程語言的優(yōu)越性,而且是開源更合適開發(fā)者去定制自己所需要的東西,android上的應用就是用java語言來開發(fā)。而mysql是一個免費的輕量級的數(shù)據(jù)庫,靠平臺能力很強,可以運行到生活常用的、經(jīng)常接觸的操作系統(tǒng)上。這個應用系統(tǒng)的開發(fā)環(huán)境搭建到windows

15、7上進行開發(fā)。1.3.1 android概述android這個名詞在可以說是在最近幾年計算機行業(yè)中最火熱的名詞,android是一種主打移動設備的設計而來的系統(tǒng),android也是一個全開放源碼的強大的開源項目。在該系統(tǒng)上的所有的軟件都是apk格式的,每個系統(tǒng)都是有自身的軟件文件格式,android系統(tǒng)能夠通過打開該apk格式的文件即可對其進行安裝到系統(tǒng)中。由于android系統(tǒng)的源碼對外開發(fā),對于開發(fā)者的角度來說,可以自由的去定制自己喜愛軟件控件、軟件架構,可以使開發(fā)者無限的發(fā)揮自己的想象去創(chuàng)造屬于自己的軟件。源碼的開發(fā)某種意義上,每個開發(fā)商系統(tǒng)都是沒有一個統(tǒng)一的標準,所以開發(fā)者在一系列設備

16、上開發(fā)應用軟件,但往往該軟件在其他種類系列上的設備運行會出現(xiàn)莫名其妙的問題,正由于不同的公司廠商會根據(jù)自身的需要會對android系統(tǒng)進行度身量制的剪裁、修改,例如國內小米、魅族手機里的系統(tǒng)都是根據(jù)自身的需求的作重點進行剪裁過。1.3.2 java概述通常我們認為java是簡簡單單的計算機編程的語言。如果要正確的給一種語言下結論定義是非常困難的,一種語言的誕生最終到底是為了用來實現(xiàn)事物互相間的交流,不得不說java這種編程語言就是用來達到這種目的。1.3.3 mysql概述mysql是一種關聯(lián)數(shù)據(jù)庫管理系統(tǒng),正是由于其具有體積小、成本低、可靠性好等特點,已經(jīng)成為現(xiàn)在最流行的一個開源數(shù)據(jù)庫。my

17、sql數(shù)據(jù)庫能夠很好的處理。mysql是開源的,說明它可以由使用的人能夠自由的根據(jù)自身的特點去定制修改它而達到自己的使用目的。mysql服務器可以嵌入到系統(tǒng)中去。正由于mysql的各種各樣的好處,造就當今最流行的數(shù)據(jù)庫。2 需求分析2.1 系統(tǒng)需求新聞閱讀客戶端應用系統(tǒng)基于android系統(tǒng)的,通過了解到當今國內的互聯(lián)網(wǎng)公司的相關的移動新聞閱讀客戶端應用以及考慮到用戶的使用性、體驗性、操作性等方面。然后根據(jù)到自身的體會認識和設計的特點,確定一個合適的基于android的新聞閱讀客戶端的應用系統(tǒng)。應用系統(tǒng)要有良好的用戶操作界面及具備通常應用系統(tǒng)的可實用性,以及應用系統(tǒng)所要具有的用戶體驗交互性。在

18、界面設計中要盡可能的簡化用戶的使用操作,使用戶能夠更加簡單、方便、快捷的使用客戶端應用。應用系統(tǒng)要求有良好的使用抗壓性、運行穩(wěn)定性、框架擴展型以及日后的應用系統(tǒng)的可維護性,在處理網(wǎng)絡數(shù)據(jù)通信時要盡可能的優(yōu)化數(shù)據(jù)信息的傳輸速度。2.2 需求分析根據(jù)應用系統(tǒng)分析,新聞閱讀應用系統(tǒng)的要求如下 :1. 系統(tǒng)需求方面分析:(1) 能夠設計友好的用戶體驗界面,前期要把時間放在用戶體驗的界面上;(2) 對設計出來的用戶體驗界面進行舒適友好美工;(3) 能夠提供各種熱點分類的新聞數(shù)據(jù)信息的模塊的設計;(4) 確定好良好的網(wǎng)絡通訊方式;(5) 確定好應用系統(tǒng)的傳輸數(shù)據(jù)時所要用到的數(shù)據(jù)封裝格式以及數(shù)據(jù)優(yōu)化。2.

19、系統(tǒng)性能方面要求:(1) 良好的頁面設計;(2) 良好的用戶體驗;(3) 系統(tǒng)安全、可靠;2.3 系統(tǒng)功能分析圖下圖是列出應用系統(tǒng)功能模塊如圖2-1所示:新聞閱讀應用系統(tǒng)新聞后臺的服務新聞服務交互服務新聞閱讀客戶端熱點新聞財經(jīng)新聞娛樂新聞體育新聞用戶交互.圖2-1 系統(tǒng)功能分析圖2.4 系統(tǒng)模塊組成2.4.1 系統(tǒng)功能模塊本應用系統(tǒng)主要是有兩大功能模塊組成:1)后臺服務端提供相對應的數(shù)據(jù)服務功能模塊;2)移動設備客戶端用調用后臺的服務提供新聞等信息以及用戶的交互功能模塊。2.4.2 功能模塊的實現(xiàn)新聞閱讀應用系統(tǒng)功能模塊的實現(xiàn):1)后臺server端提供服務的功能模塊主要是用mysql數(shù)據(jù)庫服

20、務器來作為數(shù)據(jù)源,定義實現(xiàn)一些http請求等相關的服務來為移動客戶端來調用,其中的數(shù)據(jù)是通過封裝成json的數(shù)據(jù)格式來進行傳輸;2) 移動端提供的新聞閱讀信息以及用戶交互的模塊主要是通過調用后臺的服務來得到需要的相關的信息,并把傳過來封裝成json的數(shù)據(jù)進行解析出來,進行一系列的處理后展示到界面上,至于用戶交互通過前段把需要的信息封裝成json傳送服務器端進過調用服務存儲到數(shù)據(jù)庫當中,并返回一些回調的信息。3 總體設計3.1 系統(tǒng)結構圖新聞閱讀應用系統(tǒng)結構圖如圖3-1所示:新聞閱讀應用系統(tǒng)新聞閱讀應用系統(tǒng)后臺移動客戶端應用熱點新聞財經(jīng)新聞體育新聞娛樂新聞其他新聞用戶交互圖3-1 應用系統(tǒng)結構圖

21、3.2 總體功能設計3.2.1 系統(tǒng)設計目標系統(tǒng)總的設計是為了達到以下目標:* 實現(xiàn)服務端能提供新聞數(shù)據(jù)信息的服務功能的目的;* 實現(xiàn)把從服務器端提供的數(shù)據(jù)分類友好的展現(xiàn)出來,并且提供交互的空間平臺,從而達到所需要的基本需求;* 保證客戶端與服務器端之間通信相對穩(wěn)定;* 確保各個模塊之間關聯(lián)合理性;* 確保應用系統(tǒng)具有合理的框架。3.2.2 總體設計通過后臺服務端server提供相關新聞數(shù)據(jù)信息服務,移動客戶端通過請求服務而獲取所要得到新聞數(shù)據(jù)信息,確定服務端與移動客戶端以網(wǎng)絡通信方式、封裝好兩端通訊的網(wǎng)絡請求數(shù)據(jù)、網(wǎng)絡發(fā)送數(shù)據(jù)的網(wǎng)絡數(shù)據(jù)處理模塊以及把數(shù)據(jù)封裝成json的格式去進行兩處數(shù)據(jù)的相

22、互傳輸,前端獲取得到的數(shù)據(jù)后,通過把數(shù)據(jù)經(jīng)過一系列的解析、轉換傳送加載到界面給予友好的展示給用戶,應用系統(tǒng)設計的簡略流程圖如圖3-2所示:新聞平臺互聯(lián)網(wǎng)新聞設置加載互聯(lián)網(wǎng)數(shù)據(jù)展示互聯(lián)網(wǎng)新聞本地新聞加載本地數(shù)據(jù)展示新聞列表展示新聞內容圖3-2 應用系統(tǒng)簡略流程圖設計數(shù)據(jù)源到自定義頁面組件上展示總體設計框架,把服務器端傳送過來數(shù)據(jù)經(jīng)過處理、轉化成需要的一定數(shù)據(jù)類型后,根據(jù)頁面的特點定義與之相匹配的適配器來加載到相對應的控件上,此過程大概如圖3-3所示。適配器adapter數(shù)據(jù)源data source動態(tài)數(shù)組arraylist列表控件listview圖3-3 應用系統(tǒng)數(shù)據(jù)處理一覽圖3.3 數(shù)據(jù)庫設計

23、3.3.1 系統(tǒng)數(shù)據(jù)分析通過對新聞客戶端應用系統(tǒng)需求、總體架構方面的分析,可以得出該應用系統(tǒng)中要涉及到一下三個類實體:整條新聞信息實體、新聞分類、用戶交互信息實體。這些實體關系到許多的新聞數(shù)據(jù)實體子項,如標題、摘要、內容、編號、發(fā)布時間、發(fā)布方式以及分類名稱、編號、評論時間、記錄評論的內容等相關的數(shù)據(jù)實體子項。3.3.2 系統(tǒng)er圖本系統(tǒng)一共設計規(guī)劃出新聞欄目分類實體、新聞詳細信息實體、新聞評論實體等實體。新聞的類別給以新聞欄目分類表來存放。其中新聞詳細信息實體的e-r圖如圖3-4所示:新聞詳細信息編號時間標題出處圖片有效分類內容摘要圖3-4 新聞詳細信息實體e-r圖新聞欄目分類實體的e-r圖

24、如圖3-5所示:新聞欄目分類信息編號有效名稱序列號圖3-5 新聞欄目分類實體e-r圖新聞評論實體的e-r圖如圖3-6所示:新聞評論信息評論編號內容出處時間支持數(shù)反對數(shù)新聞編號有效圖3-6 新聞評論實體e-r圖通過對系統(tǒng)實體數(shù)據(jù)關系的分析,可以畫出如下e-r圖如圖3-7所示:新聞信息新聞分類新聞評論1n1mmn圖3-7系統(tǒng)實體數(shù)據(jù)關系e-r圖3.4 數(shù)據(jù)流圖以下為應用系統(tǒng)的總體數(shù)據(jù)流圖如圖3-8所示:新聞閱讀應用系統(tǒng)后臺服務器android移動設備客戶端新聞評論信息新聞信息信息新聞摘要信息列表熱點新聞財經(jīng)新聞娛樂新聞體育新聞其他新聞查看評論發(fā)表評論圖3-8系統(tǒng)總體數(shù)據(jù)流圖3.5 數(shù)據(jù)字典3.5.

25、1 新聞欄目分類表描述:新聞欄目分類表記錄新聞的種類,包括兩個基本項:column id、column name、column sequence、column valid等,如表3-1。表3-1 新聞欄目分類表3.5.2 新聞信息表描述:對新聞基本信息的詳細記錄,新聞的基本信息包括: new id、 column id、new title、new body、new digest、new source、new image、new time和new valid幾個項,如表3-2。表3-2 新聞信息表3.5.3 新聞評論表描述:是存儲評論相關信息,包括: column id、new id、discu

26、ss time、discuss content、discuss region、discuss supportcount、discuss opposecount、discuss valid等幾項,如表3-3。表3-3 新聞評論表4 設計思想與實現(xiàn)4.1 數(shù)據(jù)庫操作類的構建首先定義一個數(shù)據(jù)庫datacontrol操作類,并為該類添加操作數(shù)據(jù)庫的方法,例如構造方法datacontrol()、查詢方法executequery、更新方法executeupdate等方法。public class datacontrolprivate datacontrol()propertyresourcebundle

27、= new propertyresourcebundle(sqlmanager.class.getresourceasstream(cperties);this.databasehostip = getstring(databasehostip); / 讀取主機名this.databasename = getstring(databasename); / 讀取用戶名this.databaseprot = getstring(databaseprot); / 讀取端口this.user = getstring(user); / 讀取用戶this.password = getst

28、ring(password); / 讀取密碼mysqljdbcdrive = com.mysql.jdbc.driver; / 驅動datebaseconnect = jdbc:mysql:/ + databasehostip + : + databaseprot + / + databasename; / 連接串. . .public resultset executequery(string sql, object param)resultset rs = null;sqlmanager.setpreparestatementparams(sql, param);rs = prepared

29、statement.executequery(); /查詢return rs;public boolean executeupdate(string sql, object param) boolean result = false;sqlmanager.setpreparestatementparams(sql, param);preparedstatement.executeupdate(); /更新result = true; /設置標志return result;4.2 新聞欄目展示概要列表模塊對基于android新聞閱讀應用系統(tǒng)而言,新聞的欄目分類對于使用者來說尤其重要,由于使用者會

30、按照自身喜好來選擇自己需要瀏覽的欄目新聞。通過該模塊使從使用者角度來說會是更加的合理的設計。新聞欄目展示分類模塊界面如圖4-1所示:圖4-1 新聞欄目展示概要列表模塊界面圖新聞欄目展示分類模塊交互上,頁面發(fā)送請求到后臺服務器,后臺服務器返回一串json數(shù)據(jù)格式的新聞信息到移動客戶端,通過解析數(shù)據(jù)等一系列的操作后展示到頁面上的過程。該模塊為本基于android新聞閱讀應用系統(tǒng)最主要主程序,其中運用到android最常用的控件listview用來加載新聞條目信息,至于新聞移動客戶端網(wǎng)絡請求的封裝至為關鍵,關系到整個應用通用性,核心代碼如下:參數(shù)有:基本baseurl和param組成。httpcon

31、nectionparams.setconnectiontimeout(params,conntime);/設置連接超時等待時間httpconnectionparams.setsotimeout(params, sockettime);/ 創(chuàng)建defaulthttpclientdefaulthttpclient defaulthttpclient = new defaulthttpclient(params);/ 建立請求httpget httpget = new httpget(url);/ 請求返回標志status = httpresponse.getstatusline().getstat

32、uscode();httpresponse httpresponse = defaulthttpclient.execute(httpget);/ 請求返回結果response = entityutils.tostring(httpresponse.getentity();4.3 新聞欄目分類、刷新加載列表模塊對于手機應用系統(tǒng)來說處理手機那窄小的有限空間來說的充分利用是很關鍵,新聞新聞頁面上左側菜單欄的收縮滑動菜單頁面很好的解決這方面的劣勢,能夠充分的利用上手機屏幕上固有的小空間。數(shù)據(jù)有更新對數(shù)據(jù)重新請求重新的對相應的數(shù)據(jù)填充控件列表給予重新的載入刷新,如下圖右側的控件很好的實現(xiàn)該功能以及有很

33、好的頁面效果、友好的用戶操作體驗,該模塊的頁面效果如圖4-2所示:圖4-2 新聞欄目分類、刷新列表模塊界面圖(1)新聞欄目菜單收縮滑動展示分類界面的設計使用了自定義的控件和android基本的控件去實現(xiàn)。其中頁面上左側菜單欄效果實現(xiàn)的主要代碼如下:public void menu_in(int animfromx, int animtox, int margx)move = new translateanimation(animfromx, animtox, 0, 0);move.setduration(1000);move.setfillenabled(true);move.setanima

34、tionlistener(new animationlistener() public void onanimationend(animation manimation) /定位菜單左端params.setmargins(fmargx, 0, 0, 0);movecontent.setlayoutparams(params);public void onanimationrepeat(animation manimation) public void onanimationstart(animation manimation) );/滑動菜單彈出或收起來movecontent.startani

35、mation(move); /確保恒定寬度的內容在菜單滑動contentparams.width.getwindowmanager().getdefaultdisplay().getwidth();contentparams.leftmargin = -(menu.getlayoutparams().width);/滑動開始時內容出于屏幕位置content.setlayoutparams(params);新聞欄目左側菜單滑動式讓右側顯示視圖以動畫效果進行滑動,確保恒定寬度的內容在菜單滑動,通過單位定位的左側邊緣來觸發(fā)滑動菜單彈出來或者收起來。(2)新聞數(shù)據(jù)更新后進行對頁面上數(shù)據(jù)列表的數(shù)據(jù)刷新的

36、實現(xiàn)主要通過監(jiān)聽刷新動作開始后。新建一個asynctask異步請求數(shù)據(jù)任務的去向服務器端發(fā)送數(shù)據(jù)請求。然后去觸發(fā)listview中的notifydatasetchanged方法去把更新的數(shù)據(jù)加載到該控件上面。數(shù)據(jù)當控件進行下拉后實現(xiàn)數(shù)據(jù)的重新加載與更新同時體現(xiàn)出友好ui用戶體驗。其中圖上的刷新控件是參考johan寫的8。下拉動作實現(xiàn)效果的主要的代碼如下:mflipanimation.setinterpolator(new linearinterpolator();mflipanimation = new rotateanimation(-180, 0,rotateanimation.relat

37、ive_to_self, 0.5f,rotateanimation.relative_to_self, 0.5f);mflipanimation.setduration(250);(historicaly - mlastmotiony) - mrefreshviewheight) / 1.7); mrefreshview.setpadding(mrefreshview.getpaddingleft(),mrefreshview.getpaddingright(),mrefreshview.getpaddingbottom();4.4 新聞詳細內容加載展示模塊每當用戶點擊選中一則新聞后頁面會跳轉

38、到加載該則新聞的詳細的內容的頁面上,新聞詳細內容加載展示模塊界面如圖4-3:圖4-3 新聞詳細內容加載展示界面圖新聞詳細內容的加載展示模塊:主要是上一個新聞列表頁面上點擊某一條新聞后加載查詢這條新聞的更多詳細信息,通過列表上點擊的新聞所得到的信息去通過后臺服務去查找相對應的新聞詳細信息,當中數(shù)據(jù)通過封裝成json的格式后進行傳輸實現(xiàn)數(shù)據(jù)的傳送。該模塊的主要設計是界面友好展示和解釋后臺返回回來數(shù)據(jù),主要的解析過程是將返回數(shù)據(jù)轉換成jsonobject對象,通過分析所要數(shù)據(jù)用對應的key值來得到jsonarray數(shù)據(jù),通過循環(huán)來得到相對應數(shù)據(jù),數(shù)據(jù)封裝成json格式因為其具有良好的可讀可以減少復雜

39、性以及容易進行數(shù)據(jù)封裝,雖然擴展性上沒有xml好,但是傳輸效率上相對于xml等格式有一定優(yōu)勢,而且現(xiàn)在已經(jīng)有很多解析和封裝json的成熟框架,例如:gson、fastjson之類的框架。4.5 新聞用戶交互評論模塊對新聞給予發(fā)表一些看法、觀點并把相應數(shù)據(jù)信息保存到后臺的庫中,新聞用戶交互評論模塊界面如圖4-4:圖4-4 新聞用戶交互評論模塊界面.新聞用戶交互評論模塊實現(xiàn):主要是把發(fā)表的內容通過請求后臺的服務把數(shù)據(jù)傳到后臺,并且把數(shù)據(jù)寫入到評論表保存起來,返回一些過程是否正常執(zhí)行的數(shù)據(jù)到客戶端給予用戶的提示。新聞用戶交互評論模塊界面主要是給予用戶在瀏覽一則新聞后發(fā)表自身見解。本界面使用一個水平豎

40、直的linearlayout在里邊放入標題模塊以及加入一個輸入框,之后動態(tài)的加載發(fā)表成功imageview來這一系列控制實現(xiàn)整一個頁面。當用戶輸入自己見解點擊評論按鈕,頁面會把輸入框的內容提交到后臺進行保存下來。用戶可以去點擊查詢評論列表去查看該則新聞的詳細的評論內容,關鍵代碼如下:protected string doinbackground(object. params) /異步請求getcommentinfo(integer) params0, (string) params1);return null;4.6 新聞評論內容加載展示模塊新聞評論內容加載展示界面如圖4-5:圖4-5 新聞評

41、論內容加載展示界面新聞評論功能實現(xiàn):主要是把新聞發(fā)表的內容通過請求后臺的服務把數(shù)據(jù)封裝成json格式傳到后臺,客戶端通過把數(shù)據(jù)解析出來展示到相應視圖上。設計友好界面,提高用戶的體驗效果,通過自定義適配器給listview,在獲取新聞新聞信息并且解釋后得到新聞評論條目,每一條評論對應產生一個listview的item,里面顯示新聞評論內容的textview和發(fā)布時間的textview。最后動態(tài)將這些新聞評論逐條加入到列表控件當中。得到界面即可做到直接展示,方便控制、又能做到美觀。解析json數(shù)據(jù)的關鍵代碼:jsonobject jsonobject = new jsonobject(result

42、);jsonobject jsonobject2 = jsonobject.getjsonobject(data);jsonarray newsinfolist = jsonobject2.getjsonarray(commentslist);for (int i = 0; i newsinfolist.length(); i+) commentinfo.setcolumnid(newsobject.getstring(columnid); .4.7 互聯(lián)網(wǎng)門戶新聞瀏覽功能模塊互聯(lián)網(wǎng)門戶新聞瀏覽功能模塊界面如圖4-6:圖4-6 互聯(lián)網(wǎng)門戶新聞瀏覽功能模塊界面互聯(lián)網(wǎng)門戶新聞瀏覽功能實現(xiàn):通過請求

43、互聯(lián)網(wǎng)門戶上數(shù)據(jù)到移動客戶端上展示,其中,通過一個webview以加載從互聯(lián)網(wǎng)門戶請求回來的數(shù)據(jù),顯示相應新聞,通過新聞鏈接來加載相對應的新聞。該模塊功能實現(xiàn)總的來說是通過原生android webview來調用請求回來數(shù)據(jù),之后就是通過相互之間鏈接來實現(xiàn)頁面跳轉,實現(xiàn)的關鍵代碼如下:加載數(shù)據(jù):webview.loadurl(nowurl);public boolean shouldoverrideurlloading(webview view, string baseurl) webview.loadurl(baseurl);nowurl = baseurl;return true; pub

44、lic void onprogresschanged(webview view, int bar) newframeactivity.this.setprogress(100 * bar);4.8 新聞應用退出功能模塊新聞應用退出模塊界面如圖4-7:圖4-7 新聞應用退出模塊界面應用退出功能:實現(xiàn)把應用關閉并把運行過程產生的緩存釋放以及應用相關活動關閉。5 系統(tǒng)測試與運行5.1 系統(tǒng)運行環(huán)境經(jīng)過對系統(tǒng)分析和測試,建議系統(tǒng)具有如下配置,確保系統(tǒng)能夠穩(wěn)定運行。(1) pentium 4以上cpu,512mb以上內存,80gb硬盤。(2) android 2.2以上版本的手機。軟件環(huán)境windows

45、 xp/7,linux等操作系統(tǒng)5.2 系統(tǒng)測試5.2.1 測試目的在每一系統(tǒng)或者應用開發(fā)完后都是離不開對系統(tǒng)或者應用深入細致的測試,如果到了軟件上線之后,發(fā)現(xiàn)問題或者其問題是嚴重,往往會以至于整個開發(fā)團隊或者公司會照成嚴重的打擊。所以為了保證應用或系統(tǒng)的穩(wěn)定、健壯和正常的運行,要對應用或者系統(tǒng)施展詳細細膩的測試。(1)從用戶角度出發(fā),希望通過軟件測試發(fā)現(xiàn)軟件中存在的錯誤和不完善的地方,如用戶界面體驗上是否合理,例如新聞視圖是否分布合理、新聞列表展示是否合適友好美觀直觀的展示給用戶瀏覽,用戶在頁面操作上是否符合大眾用戶的使用習慣,例如頁面上展示新聞的信息布局方面是否合理以及新聞瀏覽信息頁面上操

46、作展示方式是否合理符合用戶的使用的主觀性,測試頁面的時候要注意頁面上是否會存在頁面加載數(shù)據(jù)會出現(xiàn)頁面閃爍的問題,測試頁面上的操作是否會出現(xiàn)操作點擊后會產生明顯的反應遲鈍的一些不利于用戶友好體驗的問題情況,最終要的是是否能可以穩(wěn)定的使用產品。基于android新聞閱讀應用系統(tǒng)_第2部分總文字復制比:0%(0)總字數(shù):3119(2)從軟件開發(fā)者出發(fā),驗證該軟件是否很好的吻合用戶的需求,應用系統(tǒng)網(wǎng)絡請求封裝是否合理,網(wǎng)絡請求的異常處理是否合理,自定義控件設計數(shù)據(jù)加載是否存在問題,網(wǎng)絡請求失敗后,應用軟件是否出現(xiàn)空指針或者死循環(huán)不斷的請求使應用軟件閃退,測試軟件是否在運行時內存一直的不斷的增加,使到機

47、器的內存空間不斷被壓縮,而導致應用軟件拋出內存溢出的問題,測試中注意頁面數(shù)據(jù)刷新后,是否會出現(xiàn)數(shù)據(jù)的清楚或者頁面上數(shù)據(jù)出現(xiàn)相互疊加以及頁面上數(shù)據(jù)是否加載出錯,加載了其他各個模塊里邊的數(shù)據(jù)條目,測試時給應用系統(tǒng)處于一個沒有網(wǎng)絡的環(huán)境中,測試應用系統(tǒng)是否會出現(xiàn)一些開發(fā)的時候沒有考慮到的問題,確立用戶對軟件質量使用的信心。5.2.2 測試方法該應用系統(tǒng)的測試方法使用功能測試、單元測試,檢查要實現(xiàn)的新聞列表展示、加載以及評論等一些小功能集合的測試,保證代碼的質量、應用系統(tǒng)的質量。1)測試整個應用軟件的使用流程,觀測應用軟件里是否存在有哪些不足,例如:用戶操作上的不合理性、用戶界面體驗上的不合理性、頁面

48、上跳轉上是否流暢以及一些頁面數(shù)據(jù)加載時用戶等待頁面是否合理等等;2)測試軟件每個功能是否完好的實現(xiàn)完整與合理性,例如:新聞模塊分類中的每一項數(shù)據(jù)加載是否加載正確、新聞模塊分類列表是否正確顯示、選中新聞進去后該則新聞詳細信息是否加載數(shù)據(jù)正確完整,保證新聞的信息完整性。測試新聞發(fā)表功能是否完整實現(xiàn),注意測試時測試數(shù)據(jù)全面的測試功能是否會存在一些功能性的不完整性問題。3)測試軟件頁面上數(shù)據(jù)來回加載時顯示的友好完整性。例如:頁面加載是否閃屏、加載時用戶等待時展示等待頁面的合適友好。注意頁面數(shù)據(jù)從加載開始到頁面數(shù)據(jù)加載完成的過程中是否用時過長,考慮其中產生的原因是什么??紤]是否對其中加載過程的數(shù)據(jù)進行一

49、系列的過濾篩選等方面的操作去提高頁面加載的效率和減少加載頁面的用時。4) 測試時不斷去進行加載頁面上的數(shù)據(jù),從系統(tǒng)設置得地方去查應用系統(tǒng)此時所在用的內存的情況是否出現(xiàn)異?;蛘哒加脙却孢^大等一些問題??赡軠y試時不斷加載數(shù)據(jù)時應用系統(tǒng)上內存一直沒有釋放而導致應用系統(tǒng)出現(xiàn)“out of memory”內存溢出的問題,把應用進行閃退。5)單元測試時注意每個模塊加載數(shù)據(jù)是否符合預期所要加載的數(shù)據(jù),例如:熱點新聞模塊加載是熱點新聞所要對應的一些新聞的條目列表數(shù)據(jù)信息。測試每條新聞條目所要加載的新聞的摘要新聞信息、新聞的詳細新聞、新聞的一些相關的評論信息是否都加載正確與完整。6)單元測試提取頁面與頁面上數(shù)據(jù)

50、傳遞符不符合頁面與頁面上所要對應的相關的關系,若傳遞數(shù)據(jù)失敗、不正確會導致整一個應用系統(tǒng)會出現(xiàn)邏輯上的一些問題。測試應用系統(tǒng)中活動結束時,應用系統(tǒng)對該活動處理的一些數(shù)據(jù)的回收情況、數(shù)據(jù)異步請求的線程給予結束和處理活動之間的數(shù)據(jù)的傳送是否符合開發(fā)預期所需要達到的結果目的,為了保證應用系統(tǒng)的合理性,要保證頁面與頁面上數(shù)據(jù)交互完整和正確。7)測試時開發(fā)多個模擬器并發(fā)地去請求新聞數(shù)據(jù)信息,檢測加載數(shù)據(jù)是否存在丟失或者其中的一些客戶端請求數(shù)據(jù)時會加載失敗,檢測后臺服務器處理并發(fā)請求的時候是否處理上會出現(xiàn)處理丟失、處理異常出錯等問題或者數(shù)據(jù)請求數(shù)據(jù)出現(xiàn)混亂等一些請求數(shù)據(jù)出現(xiàn)異常的情況。5.2.3 測試結論

51、新聞閱讀應用系統(tǒng)在本地環(huán)境進行功能、可靠性、安全性、可使用性、兼容性等幾個方面進行了全面、嚴格、規(guī)范的測試,情況如下:(1) 測試了整個應用系統(tǒng)的操作流程,已預先設計好的應用系統(tǒng)操作流程一致,應用系統(tǒng)頁面布局、展示相對友好合理,用戶操作基本符合用戶正常的使用習慣,頁面操作和展示上不會出現(xiàn)閃屏、停滯等一系列影響用戶體驗的問題。(2) 應用系統(tǒng)很好的完整合理實現(xiàn)了預先定制好的功能模塊。新聞分類模塊正確的加載每一項里的數(shù)據(jù),新聞分類列表能夠正確的顯示,相對應的每則新聞也能夠正確完整的加載顯示,新聞評論功能完整的實現(xiàn),整個應用系統(tǒng)基本完整實現(xiàn)好數(shù)據(jù),頁面的加載與數(shù)據(jù)傳遞與及在頁面上都有友好的展示給用戶體驗。(3) 應用系統(tǒng)在測試過程中沒有存在頁面從加載到頁面加載結束過程中用時太長的情況與使應用系統(tǒng)一直處于當前請求數(shù)據(jù)的頁面上。(

溫馨提示

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

評論

0/150

提交評論