基于Android平臺(tái)的RSS在線新聞?dòng)嗛喓烷喿x器的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)論文_第1頁
基于Android平臺(tái)的RSS在線新聞?dòng)嗛喓烷喿x器的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)論文_第2頁
基于Android平臺(tái)的RSS在線新聞?dòng)嗛喓烷喿x器的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)論文_第3頁
基于Android平臺(tái)的RSS在線新聞?dòng)嗛喓烷喿x器的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)論文_第4頁
基于Android平臺(tái)的RSS在線新聞?dòng)嗛喓烷喿x器的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)論文_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、基于Android平臺(tái)的RSS在線新聞?dòng)嗛喓烷喿x器的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)論文 天津工業(yè)大學(xué)畢業(yè)設(shè)計(jì)(論文)基于Android平臺(tái)的RSS在線新聞?dòng)嗛喓烷喿x器的設(shè)計(jì)與實(shí)現(xiàn) 學(xué) 院計(jì)算機(jī)科學(xué)與軟件 專 業(yè)軟件工程 畢業(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è)人或集體,均已在文中作了明確的說明并表示了謝意。 作 者 簽

2、名: 日 期: 指導(dǎo)教師簽名: 日 期: 使用授權(quán)說明 本人完全了解 大學(xué)關(guān)于收集、保存、使用畢業(yè)設(shè)計(jì)(論文)的規(guī)定,即:按照學(xué)校要求提交畢業(yè)設(shè)計(jì)(論文)的印刷本和電子版本;學(xué)校有權(quán)保存畢業(yè)設(shè)計(jì)(論文)的印刷本和電子版,并提供目錄檢索與閱覽效勞;學(xué)校可以采用影印、縮印、數(shù)字化或其它復(fù)制手段保存論文;在不以贏利為目的前提下,學(xué)??梢怨颊撐牡木植炕蛉?jī)?nèi)容。作者簽名: 日 期: 天津工業(yè)大學(xué)畢業(yè)設(shè)計(jì)(論文)任務(wù)書題目?基于Android平臺(tái)的RSS在線新聞?dòng)嗛喓烷喿x器的設(shè)計(jì)與實(shí)現(xiàn)?學(xué)生姓名學(xué)院名稱計(jì)算機(jī)科學(xué)與軟件專業(yè)班級(jí)課題類型實(shí)際課題課題意義 通過自己對(duì)Android這項(xiàng)新技術(shù)的了解和不斷的學(xué)

3、習(xí),設(shè)計(jì)出一款對(duì)社會(huì)有價(jià)值的軟件,不僅鍛煉了自己的學(xué)習(xí)本領(lǐng)而且可以為以后的軟件應(yīng)用起到現(xiàn)實(shí)的效果,有時(shí)候我們學(xué)習(xí)的技術(shù)知識(shí)固然很有用,但假設(shè)是不把他應(yīng)用到現(xiàn)實(shí)設(shè)計(jì)中,那知識(shí)只是知識(shí),并沒有創(chuàng)造出價(jià)值,假以開發(fā)出一個(gè)工程,那在此過程中不斷出現(xiàn)的錯(cuò)誤和解決錯(cuò)誤的過程都是一個(gè)經(jīng)驗(yàn)的積累,也方便以后為社會(huì)創(chuàng)造更多價(jià)值。 任務(wù)與進(jìn)度要求2021.2.20-2021.3.11 選題確認(rèn)并完成開題報(bào)告、任務(wù)書的填寫、提交、審核2021.3.12-2021.3.26 深入了解課題內(nèi)容、需求分析、確定系統(tǒng)框架、熟悉開發(fā)工具2021.3.27-2021.5.3 完成課題概要設(shè)計(jì)和詳細(xì)設(shè)計(jì),代碼編寫、網(wǎng)頁制作,完成

4、系統(tǒng)的大局部功能,初稿完成2021.5.4-2021.5.21 進(jìn)行系統(tǒng)調(diào)試,并在調(diào)試中進(jìn)一步完善系統(tǒng)的各項(xiàng)功能,二稿完成2021.5.22-2021.6.3 畢業(yè)設(shè)計(jì)(論文)的審核、修改及定稿并裝訂2021.6.*辯論主要參考文獻(xiàn) 1 google公司的Android中文文檔EB/OL2李曉瑩EDGE-增強(qiáng)型GSM的演進(jìn)數(shù)據(jù)業(yè)務(wù)介紹J.通信世界3百度文庫-Google Android 應(yīng)用開發(fā)。4論壇社區(qū)- RSS閱讀器設(shè)計(jì)要領(lǐng)之所見一二/0>.起止日期2021年2月27日至2021年6月*日備注 院長(zhǎng)教研室主任指導(dǎo)教師畢業(yè)設(shè)計(jì)(論文)開題報(bào)告表姓名-學(xué)院計(jì)算機(jī)科學(xué)與軟件專業(yè)軟件工程班

5、級(jí)-題目?基于Android平臺(tái)的RSS在線新聞?dòng)嗛喓烷喿x器的設(shè)計(jì)與實(shí)現(xiàn)?指導(dǎo)教師一導(dǎo) 二導(dǎo)與本課題有關(guān)的國(guó)內(nèi)外研究情況Android 是一種在移動(dòng)市場(chǎng)中迅速獲得廣泛關(guān)注的平臺(tái)。甚至在配備了 Android 的消費(fèi)型設(shè)備出現(xiàn)之前,許多開發(fā)人員就已紛紛投入到這一移動(dòng)市場(chǎng),希望為即將出現(xiàn)的、備受期待的 Android 式設(shè)備做好準(zhǔn)備。諸如 Android 這樣的富設(shè)備(Rich device)要求提供內(nèi)容。某些情況下,內(nèi)容的表現(xiàn)形式為游戲或一個(gè)生產(chǎn)力應(yīng)用程序。然而,除了移動(dòng)電子郵件外,最能夠驅(qū)動(dòng)數(shù)據(jù)使用的內(nèi)容是新聞和信息。這種內(nèi)容可能看上去類似于與特定金融市場(chǎng)有關(guān)的新聞,或者是天氣預(yù)報(bào)這種比擬普遍

6、的信息。對(duì)于周末想到海邊度假的人,自然十分關(guān)心天氣預(yù)報(bào)。于是,以一種簡(jiǎn)單、實(shí)用的方式從移動(dòng)設(shè)備獲取數(shù)據(jù)成為了擺在人們面前的一道難題。Android 包含了 WebK 瀏覽器引擎,這意味著它可以向移動(dòng)用戶交付高質(zhì)量的瀏覽器體驗(yàn)。然而,對(duì)于一個(gè)小型屏幕和有限的輸入設(shè)備,在多個(gè) Web 站點(diǎn)中查找新聞和消息是非常乏味的事情。不要誤會(huì),自從出現(xiàn) WAP 瀏覽器和有限的基于文本的信息以來,這一市場(chǎng)已經(jīng)得到了長(zhǎng)足的開展,然而,移動(dòng)信息的價(jià)值在于:輸入 RSS 提要時(shí)一眼就可以判斷出它是否可用。RSS 是 “Really Simple Syndication 的縮寫。實(shí)際上,RSS 是一種分布感

7、興趣的信息的方便方法。RSS 支持 XML 數(shù)據(jù);數(shù)據(jù)包含完整信息源的簡(jiǎn)單摘要。如果對(duì)這些摘要該興趣,用戶可以進(jìn)一步獲取信息并獲得全部?jī)?nèi)容。課題研究的主要內(nèi)容1.用戶翻開軟件(根據(jù)設(shè)備號(hào)自動(dòng)登錄個(gè)人賬戶,加載用戶的個(gè)人中心,加載用戶的RSS目錄)2.添加,刪除,修改和瀏覽RSS分類(如添加體育類,生活類,刪除文學(xué)類等)3.添加,刪除,修改和瀏覽RSS(如體育類中,添加網(wǎng)易體育,刪除騰訊體育,瀏覽網(wǎng)易體育新聞)4.手動(dòng)刷新獲取最新新聞(在獲取新聞時(shí)有記錄過updatetime,可手動(dòng)更新當(dāng)前最新新聞。)5.標(biāo)識(shí)新聞已讀/未讀(在瀏覽RSS時(shí),已讀新聞會(huì)被做過標(biāo)記,也可自行修改為已讀/未讀)5 r

8、, E% m- t3 b8 r l W* 6.閱讀新聞(根據(jù)用戶選擇的RSS目錄,可解析出源地址所表示的xml文件,用戶可閱讀新聞)7.刪除新聞或標(biāo)記已讀新聞(獲取到的新聞列表中,假設(shè)是有用戶不喜歡的那么可以自行刪除或標(biāo)記)8.精彩RSS推薦; b E* A1 N(9.收藏新聞和分享(用戶對(duì)于自己喜愛的新聞欄目可以收藏到個(gè)人中心里面,或分享到微博/社區(qū))課題研究的主要的目的和意義 通過自己對(duì)Android這項(xiàng)新技術(shù)的了解和不斷的學(xué)習(xí),設(shè)計(jì)出一款對(duì)社會(huì)有價(jià)值的軟件,不僅鍛煉了自己的學(xué)習(xí)本領(lǐng)而且可以為以后的軟件應(yīng)用起到現(xiàn)實(shí)的效果,有時(shí)候我們學(xué)習(xí)的技術(shù)知識(shí)固然很有用,但假設(shè)是不把他應(yīng)用到現(xiàn)實(shí)設(shè)計(jì)中,

9、那知識(shí)只是知識(shí),并沒有創(chuàng)造出價(jià)值,假以開發(fā)出一個(gè)工程,那在此過程中不斷出現(xiàn)的錯(cuò)誤和解決錯(cuò)誤的過程都是一個(gè)經(jīng)驗(yàn)的積累,也方便以后為社會(huì)創(chuàng)造更多價(jià)值。本次畢業(yè)設(shè)計(jì)應(yīng)到達(dá)的目標(biāo) 說明目前隨著移動(dòng)市場(chǎng)越來越火爆,用戶對(duì)于移動(dòng)設(shè)備的要求也越來越高,更多的人通過移動(dòng)設(shè)備來獲取想要的信息,而網(wǎng)絡(luò)是一個(gè)茫茫大海,用戶想閱讀新聞的時(shí)候,有一款屬于自己的新聞管理器,不要如大海撈針一般去搜尋信息,翻開RSS閱讀器,全是自己訂閱的新聞?lì)?都是自己想要的信息,而且隨時(shí)更新,以保證新聞的及時(shí)性,將大大提高用戶的效率,而且會(huì)受到廣闊用戶的熱烈歡送。二、進(jìn)度及預(yù)期結(jié)果:起止日期主要內(nèi)容預(yù)期結(jié)果2021.6.*選題確認(rèn)并完成開

10、題報(bào)告、任務(wù)書的填寫、提交、審核深入了解課題內(nèi)容、需求分析、確定系統(tǒng)框架、熟悉開發(fā)工具完成課題概要設(shè)計(jì)和詳細(xì)設(shè)計(jì),代碼編寫、網(wǎng)頁制作,完成系統(tǒng)的大局部功能,初稿完成進(jìn)行系統(tǒng)調(diào)試,并在調(diào)試中進(jìn)一步完善系統(tǒng)的各項(xiàng)功能,二稿完成畢業(yè)設(shè)計(jì)(論文)的審核、修改及定稿并裝訂辯論完成完成完成完成完成完成完成課題的現(xiàn)有條件硬件:操作系統(tǒng):Windrows7 CPU:Pentium Dual-Core CPU E5300 2.60GHz 內(nèi)存:2GB 運(yùn)行設(shè)備:AVD模擬器/Andorid平臺(tái)的MOTO(MZ606)參考文獻(xiàn):1 google公司的Android中文文檔EB/OL/. 2李曉瑩EDGE-增強(qiáng)型G

11、SM的演進(jìn)數(shù)據(jù)業(yè)務(wù)介紹J.通信世界3百度文庫-Google Android 應(yīng)用開發(fā)。/.4論壇社區(qū)- RSS閱讀器設(shè)計(jì)要領(lǐng)之所見一二/.審查意見指導(dǎo)教師: 一導(dǎo) 二導(dǎo)(手寫簽字)年 月 日學(xué)院意見主管領(lǐng)導(dǎo): 年 月 日摘 要 隨著科技的不斷開展與3G網(wǎng)絡(luò)時(shí)代的到來,信息量越來越大,這要求人們不斷的攝取信息來充實(shí)自己。本款A(yù)ndroid新聞閱讀器剛好滿足了人們對(duì)信息量的需求。 本款軟件是根據(jù)Google Android 平臺(tái)用戶的喜好和其平臺(tái)的特性而設(shè)計(jì)的,利用Java語言和Eclipse,結(jié)合目前使用廣泛的RssReally Simple Syndication技術(shù),以及XML文件解析來開發(fā)

12、RSS閱讀器。在參閱相關(guān)資料下,選擇了RSS作為新聞閱讀器數(shù)據(jù)的來源;通過與其他解析算法的比擬得出解析RSS源的算法?SAX解析。本文概括的介紹了Google Android 開發(fā)的流程,并重點(diǎn)的介紹了基于Google Android 平臺(tái)的RSS在線新聞?dòng)嗛喓烷喿x器的開發(fā)過程。 首先根據(jù)谷歌電子市場(chǎng)的數(shù)據(jù),對(duì)給予Android平臺(tái)的新聞閱讀器做了需求分析。 接下來,從各大論壇和網(wǎng)站,搜取用戶體驗(yàn)較好的RSS源,作為用戶訂閱的目標(biāo)。 在數(shù)據(jù)準(zhǔn)備完成后,通過對(duì)用戶的調(diào)查,設(shè)計(jì)自己的UI,在此過程中不僅調(diào)用了Android系統(tǒng)的控件,還自定義了一些控件以提高用戶的體驗(yàn)。 在界面設(shè)計(jì)完成后,開始開發(fā)

13、自己的系統(tǒng),在本文中,著重從本款軟件的特色介紹出發(fā),簡(jiǎn)單的介紹了用戶可以異地登陸,從效勞器端獲取自己喜歡的訂閱;在用戶沒有網(wǎng)絡(luò)可連接的情況下,離線模式閱讀;在用戶有自己喜歡的閱讀的時(shí)候,收藏或與好友一起分享。 最后在完成了這一系列的開發(fā)之后,進(jìn)行了大量的測(cè)試,以發(fā)現(xiàn)本軟件的缺乏而改進(jìn)。 關(guān)鍵詞:Google Android閱讀器;RSS新聞;Sax算法解析 Abstract With the continuous development of science and technology and 3G network era, the social competition is increas

14、ingly fierce, increasing the amount of information, which requires a constant intake of information to enrich themselves. People can understand and obtain the required information anytime, anywhere. In this case, from the major site of Ling Lang everywhere access to the information they want, this s

15、ubsection Android news reader just to satisfy people's needs on the amount of information This software is designed according to the preferences of the users of the Google Android platform and the features of its platform, the Java language and Eclipse, combined with the widely used Rss Really S

16、imple Syndication, and the current widespread use of XML file parsing RSS reader be written. Refer to the relevant information, select RSS news reader data sources; algorithm through comparisons with other analytical methods to parse RSS feeds - SAX parsing. This article outlines the introduction of

17、 the Google Android development process and focus on the development process based on the Google Android platform, RSS news subscription reader First, according to Google electronics market data, news reader to give the Android platform to do a needs analysis.Next, from the various forums and websit

18、es, search and seize the user experience better RSS feeds, as users subscribe to the goal.Data preparation is complete, the user survey, design your own UI in this process is not only called the Android system controls, custom control to enhance the user experience In interface design is complete, s

19、tart to develop their own systems, starting focus from the characteristics of the software introduced in this paper, a brief introduction to the user can be off-site landing, access to your favorite subscription from the server side; no network can be connected to the user case, the offline mode to

20、read; the user the time of reading your favorite, favorites, or share with your friendsFinally, after the completion of the development of this series, a lot of testing to discover the lack of software improvements Key words: Google Android reader; RSS News; SAX algorithm Parse;目 錄第一章 緒論11.1 選題背景11.

21、2 課題研究目的11.3 Android平臺(tái)RSS新聞閱讀器客戶端開發(fā)的意義11.4 小結(jié)1第二章 Android 移動(dòng)平臺(tái)的相關(guān)理論22.1 Google android 移動(dòng)平臺(tái)的相關(guān)介紹22.2 Google android 平臺(tái)的優(yōu)勢(shì)及缺乏22.2.1 Android的優(yōu)勢(shì)22.2.2 Android的缺乏12.3 Google android 移動(dòng)平臺(tái)下的應(yīng)用研究12.4 小結(jié)1第三章 Android移動(dòng)平臺(tái)下閱讀器關(guān)鍵技術(shù)23.1 RSS的研究23.2. SAX解析算法的研究23.3 Android自定義控件的研究13.4 3D動(dòng)畫效果的研究23.5 數(shù)據(jù)分享的研究13.6 小結(jié)1

22、第四章 系統(tǒng)分析24.1 需求分析24.1.1 系統(tǒng)需求功能的描述24.1.2系統(tǒng)數(shù)據(jù)流圖24.1.3系統(tǒng)功能結(jié)構(gòu)24.2 解決方案24.2.1 界面設(shè)計(jì)方案24.2.2 RSS解析方案2第五章 系統(tǒng)概要設(shè)計(jì)第六章 系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)15.2 系統(tǒng)框架15.3 系統(tǒng)實(shí)現(xiàn)25.3.1 布局界面設(shè)計(jì)25.3.2 RSS源的讀取25.3.3 新聞列表的呈現(xiàn)25.3.4 新聞頁面的顯示及分享15.4 小結(jié)1第七章 結(jié)束語2參考文獻(xiàn)1附錄 文獻(xiàn)翻譯謝辭2 第一章 緒論1.1 選題背景 是已經(jīng)成為了生活中不可缺少的通訊設(shè)備,之前人們對(duì)于 的定義,只是一個(gè)可隨身攜帶的通訊設(shè)備,人們對(duì)他的要求只是一個(gè)可以接打

23、 和接發(fā)短信的設(shè)備,但是隨著3G高速網(wǎng)絡(luò)的開展,人們對(duì)于 的需求已經(jīng)遠(yuǎn)遠(yuǎn)的超過了打 的那些需求,人們需要 不僅可以通訊,而且還要有娛樂,消費(fèi),甚至是辦公。而這一切的一切,隨著智能 的迅速開展,都已經(jīng)步入到我們的生活當(dāng)中了。 Google于2007年11月5日宣布推出基于Linux平臺(tái)的開源 操作系統(tǒng),號(hào)稱首個(gè)為移動(dòng)終端打造的真正開發(fā)和完整的移動(dòng)軟件?Android,在推出的2年之后就一舉超越了此前已經(jīng)霸占 十余年之久的塞班系統(tǒng)成為全球最受歡送的智能機(jī)操作系統(tǒng),Android是早期由Google開發(fā),后由開放 聯(lián)盟(Open Handset Alliance)開發(fā)。它采用了軟件層software

24、 stack,又名以軟件疊層的構(gòu)架,主要分為三局部。底層以Linux內(nèi)核作為根底,由C語言開發(fā),只提供根底功能。中間層包括函數(shù)庫Library和虛擬機(jī)Virtual Machine,由C+開發(fā)。最上層是各種應(yīng)用軟件,包括通話程序,短信程序等,應(yīng)用軟件那么由各公司自行開發(fā),以Java編寫。Android不只是一個(gè)操作系統(tǒng)而已,它包括了:1.經(jīng)過Google剪裁和調(diào)優(yōu)的Linux Kernel,對(duì)于掌上設(shè)備的硬件提供了優(yōu)秀的支持。Google在Linux方面的應(yīng)用能力不容置疑,Google公司所有的幾十萬效勞器全部是自己修改正的Linux操作系統(tǒng)。2.經(jīng)過Google修改的Java虛擬機(jī)Dalvi

25、k,是基于Apache Harmony虛擬機(jī)版本進(jìn)行改進(jìn)而來,能夠提供極高的執(zhí)行性能。有了Java虛擬機(jī),大局部Java核心類庫都已經(jīng)可以直接運(yùn)行。3.大量立即可用的類庫和應(yīng)用軟件,例如瀏覽器Webkit,數(shù)據(jù)庫SQLite,讓你可輕易開發(fā)出來媲美于桌面應(yīng)用復(fù)雜度的 軟件。oogle已經(jīng)開發(fā)好了大量現(xiàn)成的應(yīng)用軟件,同時(shí)可以直接使用Google很多在線效勞。5.Google提供了基于Eclipse的完整開發(fā)環(huán)境,模擬器,文檔,幫助,例如將極大推動(dòng)Android快速的推廣和開展。 基于Android眾多的優(yōu)點(diǎn),圍繞Android形成了一個(gè)移動(dòng) 聯(lián)盟,主要的 廠商幾乎全部在列,而此聯(lián)盟在極大的推動(dòng)A

26、ndroid平臺(tái)的推廣和開展,在未來的幾年必將大方異彩,將極大的推動(dòng)整個(gè) 操作系統(tǒng)甚至是互聯(lián)網(wǎng)乃至軟件行業(yè)的開展。1.2 課題研究目的 為什么要研究Android,是因?yàn)樗鼔螨嫶?它夠復(fù)雜,他激起了我作為一個(gè)對(duì) 軟件感興趣的應(yīng)屆畢業(yè)生的內(nèi)心的渴望,渴望理解這種復(fù)雜性。我研究的對(duì)象是基于 開發(fā)平臺(tái)的Android軟件局部。作為一個(gè)應(yīng)屆畢業(yè)生,要從事基于Andoid平臺(tái)的軟件開發(fā),我的關(guān)于 平臺(tái)上積累的知識(shí)和在學(xué)校所學(xué)習(xí)的根底知識(shí)已經(jīng)不能滿足需要了,Android為我們帶來了大量的新名詞,Activity,Manifest,INTENT,Service,Binder,Dalvik虛擬機(jī),Frame

27、work,Linux,Navtive ,JNI.。通過在源代碼,在開發(fā)社區(qū),在開發(fā)博客,甚至在招聘過程中,我不斷的尋求Android是什么。經(jīng)過一定時(shí)間的沉淀,我慢慢的理解到Android不僅僅是一類 的總稱,不僅僅是一個(gè) 開發(fā)平臺(tái),不僅僅是一個(gè)虛擬java操作系統(tǒng),不僅僅是一個(gè)開發(fā)社區(qū),一個(gè)開發(fā)標(biāo)準(zhǔn),不僅僅是一堆代碼,Android已經(jīng)成了一個(gè)新的潮流。 在當(dāng)今的社會(huì)中,無論是在國(guó)內(nèi)還是在國(guó)外,Android平臺(tái)對(duì) 軟件行業(yè)和移動(dòng) 平臺(tái)將發(fā)揮極大地推動(dòng)作用,而在未來的幾年或者一段時(shí)間內(nèi),Android將越發(fā)的凸顯自己的重要性。 基于此,我們有必要通過進(jìn)行相關(guān)的研究來了解Android平臺(tái),來

28、了解開發(fā)Android的那一大批人的先進(jìn)的理念和思想,并通過這些來了解 軟件行業(yè),進(jìn)而了解未來移動(dòng)互聯(lián)網(wǎng)的開展趨勢(shì),從而更好的適應(yīng)時(shí)代的需要。1.3 Android平臺(tái)RSS新聞閱讀器客戶端開發(fā)的意義 隨著3G應(yīng)用的普及,人們對(duì)于移動(dòng)資訊的需求急劇增長(zhǎng),原先我們只能通過各大門戶網(wǎng)站去瀏覽我想要的信息,可是在翻開這些門戶網(wǎng)站的時(shí)候會(huì)同時(shí)打 開我們很多不需要的信息,而翻開這些信息的同時(shí)消耗的是我們的GPRS流量,消耗的流量就是消耗的金錢,因?yàn)槲覀兌贾滥壳霸谥袊?guó)GPRS的收費(fèi)還是相對(duì)較貴的,而此時(shí)RSS移動(dòng)閱讀器就是智能 用戶們必不可少的應(yīng)用軟件了,因?yàn)镽SS閱讀器是對(duì)RSS源的一個(gè)解析,RSS可

29、能在國(guó)內(nèi)還不是很被人熟知,RSS源是一種描述和同步網(wǎng)站內(nèi)容的格式,是目前使用最廣泛的XML應(yīng)用。RSS搭建了信息迅速傳播的一個(gè)技術(shù)平臺(tái),使得每個(gè)人都成為潛在的信息提供者。發(fā)布一個(gè)RSS文件后,這個(gè)RSS Feed中包含的信息就能直接被其他站點(diǎn)調(diào)用,而且由于這些數(shù)據(jù)都是標(biāo)準(zhǔn)的XML格式,所以也能在其他的終端和效勞中使用。所以使用RSS閱讀器訂閱的內(nèi)容都是與你想訂閱的主題相關(guān)的,這從中就能為我們節(jié)省很多的時(shí)間與金錢,省去了那局部為我們不需要的信息而下載的流量。從google reader到FlipBoard,再到國(guó)內(nèi)的類似閱讀器,總地來說,大家都很相似,如何開發(fā)出屬于具有特色的閱讀器,能夠提高用戶

30、體驗(yàn)的閱讀器才是我們所追求的目標(biāo)。1.4 小結(jié) 本節(jié)主要介紹了Google Android平臺(tái)的開展背景與前景,并簡(jiǎn)單的介紹了我所研究的課題的意義以及開發(fā)的一些流程的相關(guān)內(nèi)容。 第二章 Android 移動(dòng)平臺(tái)的相關(guān)理論2.1 Google android 移動(dòng)平臺(tái)的相關(guān)介紹 Android是Google于2007年11月5日宣布的基于Linux平臺(tái)開源 操作系統(tǒng)名稱,谷歌與開放 聯(lián)盟合作開發(fā)了Android。 開放 聯(lián)盟,Open Handset Alliance:是沒過Google公司與2007年11月5日宣布組件的一個(gè)全球性的聯(lián)盟組織。聯(lián)盟將會(huì)支持Google發(fā)布的Android 操作系

31、統(tǒng)或者應(yīng)用軟件,共同開發(fā)名為Android的開放源代碼的移動(dòng)系統(tǒng)。開放 聯(lián)盟包括 制造商, 芯片廠商和移動(dòng)運(yùn)營(yíng)商幾類。目前,聯(lián)盟成員數(shù)量已經(jīng)到達(dá)了43家。有Aplix,Asecender,Audience,Broadcom,中國(guó)移動(dòng),eBay,ESMERTEC,谷歌,宏達(dá)電,因特爾,KDDI,LivingImage,LG,MARVELL,摩托羅拉,NMS,NTTDocomo,高通,三星,德州儀器等等。 Android軟件系列包括操作系統(tǒng),中間件和一些關(guān)鍵應(yīng)用。Android是基于JAVA系統(tǒng)的,運(yùn)行在LINUX2.6核上。ANDROID SDK提供多種開發(fā)所必要的工具與API。 Android

32、的應(yīng)用框架可以重復(fù)使用,其組建也可以更換。Dalvik虛擬機(jī)針對(duì)移動(dòng)設(shè)備進(jìn)行了優(yōu)化。優(yōu)化的圖形能力支持2D,3D圖形(OpenGLES 1.0)。集成了基于開源的WebKit引擎的瀏覽器。采用SQLite作為結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)。多媒體支持多種音頻,視頻格式。GSM Telephoney,支持藍(lán)牙Bluetooth,3G,和WIFI,支持照相機(jī),GPS,指南針和加速度儀等傳感器硬件。豐富的開發(fā)環(huán)境包括模擬機(jī),調(diào)試工具,內(nèi)存運(yùn)行檢測(cè),以及為Eclipse IDE所寫的插件。2.2 Google android 平臺(tái)的優(yōu)勢(shì)及缺乏2.2.1 Android的優(yōu)勢(shì)源代碼的完全開放,便于開發(fā)人員更清楚的把握實(shí)

33、現(xiàn)細(xì)節(jié),便于提高開發(fā)人員的技術(shù)水平,有利于開發(fā)出更具差異性的應(yīng)用。采用了對(duì)有限內(nèi)存、電池和CPU優(yōu)化過的虛擬機(jī)Dalvik,Android的運(yùn)行熟讀比想象的要快很多。運(yùn)營(yíng)商(如中國(guó)移動(dòng)等)的大力支持,產(chǎn)業(yè)鏈條的熱捧。 良好的盈利模式(3/7開),產(chǎn)業(yè)鏈條的各方:運(yùn)營(yíng)商、制造商、獨(dú)立軟件生產(chǎn)商都可以獲得不錯(cuò)的利益。將移動(dòng)終端的評(píng)價(jià)標(biāo)準(zhǔn)從硬件向軟件轉(zhuǎn)變,極大的激發(fā)了軟件開發(fā)者的熱情。 Android的源代碼遵循Apache V2軟件許可,而不是通常的GPL v2許可,有利于商業(yè)開發(fā)。 具有強(qiáng)大的Linux社區(qū)的支持。2.2.2 Android的缺乏 由于采用的Java作為應(yīng)用開發(fā)語言,目前可用的傳

34、統(tǒng)第三方應(yīng)用還很少,但由于Android是一款完全開源的移動(dòng)計(jì)算平臺(tái),相信第三方應(yīng)用會(huì)很快的豐富起來。 Google提供了一套JAVA核心包的有限子集,尚不承諾遵守JAVA任何JAVA標(biāo)準(zhǔn),可能會(huì)造成java陣營(yíng)的進(jìn)一步分裂。 現(xiàn)有的應(yīng)用完善度不太夠,需要的開發(fā)工作量較大。 基于QEMU開發(fā)的模擬器調(diào)試手段不十分豐富,只支持通話,SMS等,速度慢。 暫不具備Push Mail和Office功能,目前主要面向的是普通消費(fèi)者用戶,對(duì)商業(yè)用戶支持尚弱。 最近各大科技網(wǎng)站也相繼報(bào)出,調(diào)查者發(fā)現(xiàn)很多開發(fā)者對(duì)于Android的分裂話不太滿意,各大生產(chǎn)商生產(chǎn)出各種各樣的Android平臺(tái)的設(shè)備,開發(fā)者很難做

35、到每個(gè)設(shè)備都兼容。2.3 Google android 移動(dòng)平臺(tái)下的應(yīng)用研究Android系統(tǒng)提供應(yīng)應(yīng)用開發(fā)者的本身就是一個(gè)框架,所有的應(yīng)用開發(fā)都必須遵守這個(gè)框架的原那么。我們?cè)陂_發(fā)應(yīng)用時(shí)就是在這個(gè)框架上進(jìn)行擴(kuò)展,下面來看看Android這個(gè)框架都有些什么功能可供我們使用。 android.app:提供高層的程序模型和根本的運(yùn)行環(huán)境。 android.content:包含對(duì)各種設(shè)備上的數(shù)據(jù)進(jìn)行訪問和發(fā)布。 android.database:通過內(nèi)容提供者瀏覽和操作數(shù)據(jù)庫。 android.graphics:底層的圖形庫,包含畫布、顏色過濾、點(diǎn)、矩形,可以將它們直接繪制到屏幕上。 android

36、.location :定位和相關(guān)效勞的類。 android.media:提供一些類管理多種音頻、視頻的媒體接口。 :提供幫助網(wǎng)絡(luò)訪問的類,超過通常的 .*接口。 android.os :提供了系統(tǒng)效勞、消息傳輸和 IPC 機(jī)制。 android.opengl:提供 OpenGL 的工具。 vider:提供訪問 Android 內(nèi)容提供者的類。 android.telephony:提供與撥打 相關(guān)的 API 交互。 android.view:提供根底的用戶界面接口框架。 android.util :涉及工具性的方法,例如時(shí)間日期的操作。 android.webkit :默認(rèn)

37、瀏覽器操作接口。 android.widget:包含各種 UI 元素(大局部是可見的)在應(yīng)用程序的布局中使用。2.4 小結(jié) 本節(jié)詳細(xì)的介紹了Android的由來,然后從Android自身出發(fā),分析了Android的優(yōu)缺點(diǎn),介紹了APP開發(fā)的框架,便于理解Android開發(fā)的流程。 第三章 Android移動(dòng)平臺(tái)下閱讀器關(guān)鍵技術(shù)3.1 RSS的研究 RSS源是一種描述和同步網(wǎng)站內(nèi)容的格式,是目前使用最廣泛的XML應(yīng)用。RSS應(yīng)用在國(guó)外已經(jīng)非常普遍,從個(gè)人博客(Blog)欄目、企業(yè)站點(diǎn)到世界級(jí)的門戶都提供基于RSS的效勞。 最初的0.90版本RSS是由Netscape公司設(shè)計(jì)的,目的是用來建立一個(gè)

38、整合了各主要新聞?wù)军c(diǎn)內(nèi)容的門戶,但是0.90版本的RSS標(biāo)準(zhǔn)過于復(fù)雜,而一個(gè)簡(jiǎn)化的RSS 0.91版本也隨著Netscape公司對(duì)該工程的放棄而于2000年暫停。 發(fā)布一個(gè)RSS文件(一般稱為RSS Feed)后,這個(gè)RSS Feed中包含的信息就能直接被其他站點(diǎn)調(diào)用,而且由于這些數(shù)據(jù)都是標(biāo)準(zhǔn)的XML格式,所以也能在其他的終端和效勞中使用,如PDA、 、郵件列表等。而且一個(gè)網(wǎng)站聯(lián)盟(比方專門討論旅游的網(wǎng)站系列)也能通過互相調(diào)用彼此的RSS Feed,自動(dòng)的顯示網(wǎng)站聯(lián)盟中其他站點(diǎn)上的最新信息,這就叫著RSS的聯(lián)合。這種聯(lián)合就導(dǎo)致一個(gè)站點(diǎn)的內(nèi)容更新越及時(shí)、RSS Feed被調(diào)用的越多,該站點(diǎn)的知名

39、度就會(huì)越高,從而形成一種良性循環(huán)。 而所謂RSS聚合,就是通過軟件工具的方法從網(wǎng)絡(luò)上搜集各種RSS Feed并在一個(gè)界面中提供應(yīng)讀者進(jìn)行閱讀。這些軟件可以是在線的WEB工具,如 等,也可以是下載到客戶端安裝的工具 隨著越來越多的站點(diǎn)對(duì)RSS的支持,RSS已經(jīng)成為目前最成功的XML應(yīng)用。RSS搭建了信息迅速傳播的一個(gè)技術(shù)平臺(tái),使得每個(gè)人都成為潛在的信息提供者。相信很快我們就會(huì)看到大量基于RSS的專業(yè)門戶、聚合站點(diǎn)和更精確的搜索引擎。3.2 SAX解析算法的研究 RSS 源的數(shù)據(jù)結(jié)構(gòu)為XML文件,當(dāng)前 Google Android 處理讀取XMl數(shù)據(jù)由于Google Android 平臺(tái) 系統(tǒng)資源

40、有限,且基于Google Andorid 平臺(tái)的新聞閱讀器所讀取的數(shù)據(jù)內(nèi)容不是非常多,所以我在此選擇了性能消耗較小的SAX解析作為解析XML文件的方法。SAXSimple API For XML是一個(gè)公共的基于事件的XML文檔解析標(biāo)準(zhǔn),這里簡(jiǎn)單介紹一下MSXML是如何通過COM接口實(shí)現(xiàn)SAX功能的。首先需要注意的使SAX是一 個(gè)接口集合,它允許開發(fā)人員在自己的應(yīng)用中通過這個(gè)接口集合來讀取和分析XML文檔中的數(shù)據(jù)。SAX2是當(dāng)前微軟最新的API。 import /.eArrayOutputStream; /導(dǎo)入所需的類,包 public class RSSHandler extends Defa

41、ultHandler public static final String AMP_SG "&" /定義變量 public RSSHandlerContext context KEEP_TIME /./.TINGS_KEEPTIME, "2"*86400000l; this.context context; /構(gòu)造函數(shù) public void initDate lastUpdateDate, String id, String title /初始化數(shù)據(jù) Override public void startElementString uri

42、, String localName, String qName, Attributes attributes throws SAXException /當(dāng)分析器遇到無法識(shí)別為標(biāo)記或者指令類型字符時(shí)調(diào)用 /.ntln"節(jié)點(diǎn)開始:" + qName; forint i0;iattributes.getLength;i+ /.ntln"節(jié)點(diǎn)屬性名稱:" + attributes.getQNamei; /.ntln"節(jié)點(diǎn)屬性值:"+attributes.getValuei; Override public void charactersch

43、ar ch, int start, int length throws SAXException /當(dāng)遇到節(jié)點(diǎn)結(jié)束時(shí)調(diào)用 /.ntln"節(jié)點(diǎn)數(shù)據(jù):" + new Stringch, offset, length; Override public void endElementString uri, String localName, String qName throws SAXException /當(dāng)?shù)轿臋n的末尾時(shí)調(diào)用,一般在分析完數(shù)據(jù)后,對(duì)數(shù)據(jù)的處理都寫在該方法里,如對(duì)數(shù)據(jù)庫的一些操作和對(duì)SDcard上的一些圖片等資源文件處理。 /.ntln"節(jié)點(diǎn)結(jié)束:&qu

44、ot; + qName; 3.3 Android 對(duì)自定義控件之的研究 我們都知道Android自帶了很多絢麗的控件,如Tabhost,Gallery,Spinner等,但是在有些時(shí)候,這些控件卻不能滿足我們的愿望,例如我在我的兩個(gè)新聞,通過手指滑動(dòng)跳轉(zhuǎn)的時(shí)候, 圖1圖2 在我想從上一條文章(圖1)跳轉(zhuǎn)到下一條文章(圖2)的時(shí)候,我一開始是在viewflipper中添加了三個(gè)webview,然后上一條和下一條數(shù)據(jù)都已經(jīng)預(yù)先加載好,這樣通過手勢(shì)的判斷,上下切換,做了一個(gè)動(dòng)畫效果,但是我在看過其他閱讀軟件的時(shí)候,人家都是頁面可以跟隨手指移動(dòng),就是手指按住一個(gè)地方,這個(gè)地方就可以跟著手指一直在動(dòng),直

45、到手指松開,后來經(jīng)過老師指導(dǎo),我才知道可以用自定義控件實(shí)現(xiàn),我后來自己寫了一個(gè)自定義的控件MyScrollLayout 到達(dá)如圖3 的效果,可以同時(shí)看到下一條或上一條的新聞。這也很大的提高了用戶體驗(yàn) 代碼如下:/.reader. MyScrollLayout package /.reader; import /.text; import /.utFilter.LengthFilter; 圖3 public class MyScrollLayout extends ViewGroup private static final String TAG "ScrollLayout"

46、 private Scroller mScroller; Override protected void onLayoutboolean changed, int l, int t, int r, int b Override protected void onMeasureint widthMeasureSpec, int heightMeasureSpec 初始化一些數(shù)據(jù) /核心代碼 Override public boolean onTouchEvent MotionEvent ev / TODO Auto-generated method stub Log.eTAG, "onInterceptTouchEvent-slop:" + mTouchSlop; final int action ev.getAction; && mTouchState ! TOUCH_STATE_REST return true; final float x ev.getX; final float y ev.getY; switch action case MotionEvent.ACTION_MOVE: /判斷為手指在移動(dòng)中 break; case MotionEvent.A

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論