freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于googleandroid移動(dòng)平臺(tái)技術(shù)的新聞閱讀器的研究畢業(yè)論文(參考版)

2024-11-11 22:02本頁(yè)面
  

【正文】 SAX解析是基于事件回調(diào)機(jī)制 ,其執(zhí)行的過(guò)程如下: 第一步:當(dāng)遇到元素的開始標(biāo)記的時(shí)候執(zhí)行 startElement()方法 public void startDocument() throws SAXException { ?? } 。 為了使五個(gè)功能鍵能在更好的切換,筆者自定義了一個(gè)控件,既 局文件如下: 22 ?xml version= encoding=utf8? LinearLayout xmlns:android= android:orientation=vertical android:layout_width=fill_parent android: layout_height=fill_parent android:background=color/black ……… /LinearLayout 其顯示結(jié)果如圖 46所示: 圖 46 補(bǔ)充說(shuō)明,在主界面中 Latest、 Popular、 World上個(gè)功能模塊是一樣的,只是 RSS 源不同,在這不做累述。 基于以上幾點(diǎn),經(jīng)過(guò)筆者的測(cè)試,最終選定的 RSS源為: 21 布局 (界面 )的設(shè)計(jì) ( 1) 主界面的設(shè)計(jì) 由于 Android平臺(tái)手機(jī)屏幕大小有限,為了不使用戶有凌亂的感覺,在主界面只設(shè)計(jì)了三個(gè)頻道,既三個(gè)最受歡迎頻道的新聞,而將其他的新聞集中到一個(gè)分類既 more里面,為了使用戶能夠得到更好的體驗(yàn),特意設(shè)計(jì)了一個(gè)添頻道的功能,使用能將自己所喜歡的新聞進(jìn)行收藏。 (4)RSS 源的格式。 (3) RSS 源的訪問速度。 RSS 源的選取 基于 Google Android 平臺(tái)的新聞閱讀器作為一款新聞閱讀器,對(duì) RSS源的要求及其苛刻: (1) RSS 源必須是穩(wěn)定的,在非特殊不會(huì)出現(xiàn)無(wú)法讀取的情況。 (2) 時(shí)時(shí)更新,能夠真正做到數(shù)據(jù)位新聞,而不是過(guò)時(shí)的信息。 數(shù)據(jù)源格式的選取 基于 Google Android 平臺(tái)的新聞閱讀器作為一款新聞閱讀器,對(duì)其新聞來(lái)源有非常高的要求。而支持 Android 、 ,且價(jià)格較為昂貴,使用數(shù)量不數(shù)據(jù)源的選取 數(shù)據(jù)的解析 系統(tǒng)的布局設(shè)計(jì) 系統(tǒng)穩(wěn)定性的設(shè)計(jì)和檢測(cè) 20 是太多。在完成這些以后,筆者對(duì)系統(tǒng)的穩(wěn)定性進(jìn)行了相關(guān)的調(diào)研,然后做出了相應(yīng)的假設(shè),并進(jìn)行驗(yàn)證,最后通過(guò)驗(yàn)證的結(jié)果來(lái)對(duì)系統(tǒng)的穩(wěn)定性做了相應(yīng)的檢測(cè)和操作。其開發(fā)的過(guò)程如圖 44 所示: 圖 44 在開發(fā)前期,筆者先找到了適合作為新聞源的 RSS 源的數(shù)據(jù)源,并找到最優(yōu)的解析算法 —— SAX。 Power Management(電源管理):比如電池電量等。 WiFi 驅(qū)動(dòng):基于 IEEE 標(biāo)準(zhǔn)的驅(qū)動(dòng)程序。 音頻驅(qū)動(dòng)( Audio Driver):常用的基于 ALSA( Advanced Linux Sound Architecture)的高級(jí) Linux 聲音體系驅(qū)動(dòng)。 Flash 內(nèi)存驅(qū)動(dòng)( Flash Memory Driver):基于 MTD 的 Flash 驅(qū)動(dòng)程序。 顯示驅(qū)動(dòng)( Display Driver):基于 Linux 的幀緩沖( Frame Buffer)驅(qū)動(dòng)。 Linux 內(nèi)核同時(shí)也作為硬件和軟件棧之間的抽象層。當(dāng) Java 程序通過(guò)編譯,最后還需要通過(guò) SDK 中的 dx工具轉(zhuǎn)化成 .dex 格式才能正常在虛擬機(jī)上執(zhí)行。 每個(gè) Java 程序都運(yùn)行在 Dalvik 虛擬機(jī)之上。 Webkit: Web 瀏覽器引擎。 OpenGL ES : 3D 效果的支持。 SGL: 2D 圖形引擎庫(kù)。 Bionic 系統(tǒng) C 庫(kù): C 語(yǔ)言標(biāo)準(zhǔn)庫(kù),系統(tǒng)最底層的庫(kù), C 語(yǔ)言標(biāo)準(zhǔn) 庫(kù)通過(guò) Linux 系統(tǒng)來(lái)調(diào)用。 (3). 系統(tǒng)運(yùn)行庫(kù) (C/C++庫(kù)以及 Android 運(yùn)行庫(kù) )層 。 18 6).窗口管理器 (Window Manager):管理所有的窗口程序。 4).通知管理器 (Notification Manager):應(yīng)用可以在狀態(tài)欄中顯示自定義的提示信息。 2). 內(nèi)容提供器 (Content Provider):它可以讓一個(gè)應(yīng)用程序訪問另一個(gè)應(yīng)用程序的數(shù)據(jù)。這一層編寫 Google 發(fā)布的核心應(yīng)用時(shí)所使用的 API 框架,開發(fā)人員同樣可以使用這些框架來(lái)發(fā)布自己的應(yīng)用,這樣便簡(jiǎn)化了程序開發(fā)的構(gòu)架設(shè)計(jì),但是必須遵守其框架的開 發(fā)順序。其實(shí), Google 最開始時(shí)就在 Android 系統(tǒng)中捆綁了一些核心應(yīng)用,比如 Email 客戶端、 SMS 短消息程序、日歷、地圖、游覽器、聯(lián)系人管理程序,等等。 (1). 應(yīng)用層。 5)新聞的分享: 當(dāng)用戶認(rèn)定某一 條新聞比較有趣的時(shí)候,可用與別人進(jìn)行分享。 4)新聞的更新: 當(dāng) RSS 更新以后,程序能做相應(yīng)的更新,能與網(wǎng)絡(luò)上的內(nèi)容保持一致性。 2)新聞的閱讀: 當(dāng)用戶打開一個(gè)新聞的時(shí)候,用戶能準(zhǔn)確無(wú)誤并且方面的讀取到新聞的內(nèi)容。因此本系統(tǒng)將能滿足人們對(duì)信息的需求。在傳統(tǒng)的平臺(tái)如: IPhone,有許多類似的程序,都受到了用戶的好歡迎。 在信息高速發(fā)展的今天,人們對(duì)信息非常的重視,希望能隨時(shí)隨地的獲取即時(shí)更新的信息。通過(guò),對(duì)這些技術(shù)的研究 ,使筆者對(duì)開發(fā)基于 Google android 移動(dòng)平臺(tái)下的新聞閱讀器 有了更深的認(rèn)識(shí) ,也對(duì)開發(fā)該系統(tǒng)有了一個(gè)全局上的了解,對(duì)以后的開發(fā)研究起著向?qū)缘淖饔?。在系統(tǒng)運(yùn)行時(shí),將在程序中注冊(cè)一個(gè)監(jiān)聽器,當(dāng) SDcard 撥出或者出現(xiàn)不可用的狀況時(shí),系統(tǒng)將發(fā)出一個(gè)廣播,當(dāng)本系統(tǒng)接收到該廣播時(shí),則會(huì)出現(xiàn)相應(yīng)的操作。 SDcard 的檢查 在基于 Google android 移動(dòng)平臺(tái)新聞閱讀器中,數(shù)據(jù)的持久化采用了 SQLite,而數(shù)據(jù)庫(kù)的存放位置則是 SDCard 上,但是在用戶使用本系統(tǒng)的時(shí)候,可能因?yàn)槠渌蛐枰獙⒆约旱?SDcard 撥出或者由于硬件原因 SDcard 無(wú)法使用,此時(shí)當(dāng)如果不做任何處理,直接使用本系統(tǒng),則會(huì)發(fā)現(xiàn)程序會(huì) crash,因此為了保證系統(tǒng)能正常的使用,在程序運(yùn)行前需要對(duì) SDCard 做個(gè)判斷,則程序運(yùn)行時(shí),則對(duì)系統(tǒng)進(jìn)行監(jiān)聽,當(dāng)發(fā)現(xiàn) SDcard被撥出的時(shí)候,則做出相應(yīng)的處理。 POST 方法發(fā)送數(shù)據(jù)的時(shí)候?qū)⒏屿`活,你可以發(fā)送二進(jìn)制數(shù)據(jù),甚至可以實(shí)現(xiàn)對(duì)象的序列化。 在 Google android 移動(dòng)平臺(tái)中,系統(tǒng)提供了許多的網(wǎng)絡(luò)連接方式,諸如: wifi、GPRS 等等,但是選取何種連接方式作 為網(wǎng)絡(luò)連接方式,取決于用戶所在的環(huán)境,但是不管是何種環(huán)境,建立穩(wěn)定的網(wǎng)絡(luò)連接將顯得非常的重要。下面列出了兩個(gè)用于相關(guān)操作的類: .* .* 數(shù)據(jù)的分享的研究 Google android 平臺(tái)作為一個(gè)非常人性化的移動(dòng)平臺(tái),其為用戶有更好的用戶體驗(yàn),提供了許多的信息分享方式,諸如: SMS、 Emails 等等,當(dāng)在本系統(tǒng)中, 考慮到用戶使用的頻繁程度和操作的簡(jiǎn)易程度,在基于 Google Android 移動(dòng)平臺(tái)技術(shù)的新聞閱讀器中采用了 SMS 來(lái)分享數(shù)據(jù)??梢詰?yīng) 用 SQLiteDatabase 和其 subClassSQLiteOpenHelper 的create()方法來(lái)創(chuàng)建新的數(shù)據(jù)庫(kù)。 Databases 在 Android API 中包括了應(yīng)用 SQLite databases 的接口,每個(gè)程序所創(chuàng)建的數(shù)據(jù)庫(kù)都是私有的,換句話說(shuō),程序間無(wú)法相互訪問對(duì)方的數(shù)據(jù)庫(kù)。 2) 讀取文件:調(diào)用 ()方法通過(guò)制定的路徑和文件名來(lái)返回一個(gè)標(biāo)準(zhǔn)的 Java FileInputStream 對(duì)象。同樣在默認(rèn)的狀態(tài)下,文件是不能在不同的程序間共享。 ( 2) Files。如果不需要與其它模塊共享數(shù)據(jù),可以使用 ()方法保持?jǐn)?shù)據(jù)私有。例如,可以通過(guò)它保存上一次用戶所作的修改或者自定義參數(shù)設(shè)定,當(dāng)再次啟動(dòng)程序后依然保持原有的設(shè)置。 ( 1) Preferences 從其保存數(shù)據(jù)的結(jié)構(gòu)來(lái)分析,這是一個(gè)相對(duì)較輕量級(jí)的存儲(chǔ)數(shù)據(jù)的方法。 關(guān)系數(shù)據(jù)庫(kù)和面向?qū)ο笾g有一條鴻溝,因?yàn)閮芍心J讲黄ヅ?,所以就存在一個(gè)OR(Object/Relations)映射問題。 持久化方案可以分為關(guān)系數(shù)據(jù)庫(kù)方案、文件方案、對(duì)象數(shù)據(jù)庫(kù)方案、 xml 數(shù)據(jù)庫(kù)方案,目前 主流的持久化方案是關(guān)系數(shù)據(jù)庫(kù)方案,關(guān)系數(shù)據(jù)庫(kù)方案不僅解決了并發(fā)的問題,更重要的 是,關(guān)系 數(shù)據(jù)庫(kù)還提供了持久化服務(wù)之外的價(jià)值:統(tǒng)計(jì)分析功能。 縮放性,保存和取回對(duì)象都需要耗費(fèi) cpu、帶寬、時(shí)間資源,哪一個(gè)消耗太多都不能接受。所以即使對(duì)象不需要永久保存,也會(huì)因?yàn)閮?nèi)存的容量限制不能一直呆在內(nèi)存 中,需要 12 持久化來(lái)緩存到外存。需要實(shí)現(xiàn)至少 3 個(gè)接口: void Save(object o) 把一個(gè)對(duì)象保存到外存中 Object Load(object oid) 通過(guò)對(duì)象標(biāo)識(shí)從外存中取 回對(duì)象 bool Exists(object oid) 檢查外存中是否存在某個(gè)對(duì)象 為什么需要持久化服務(wù)呢?那是由于內(nèi)存本身的缺陷引起的: 內(nèi)存掉電后數(shù)據(jù)會(huì)丟失,但有一些對(duì)象是無(wú)論如何都不能丟失的,比如銀行賬號(hào),遺憾的是,人們還無(wú)法保證內(nèi)存永不掉電。持久化的主要應(yīng)用是將內(nèi)存中的數(shù)據(jù)存儲(chǔ)在關(guān)系型的數(shù)據(jù)庫(kù)中,當(dāng)然也可以存儲(chǔ)在磁盤文件中、 XML 數(shù)據(jù)文件中等等 。在自定義控件中,其調(diào)用的形式是通過(guò)命名空間的形式來(lái)進(jìn)行調(diào)用的。 ( 3)控件的調(diào)用。 ( 2) 要實(shí)現(xiàn)一個(gè)控件,讓其能產(chǎn)生特定的效果,我們需要自己來(lái)重寫父類某些甚 至是全部的構(gòu)造函數(shù),如在基于 Google Android 平臺(tái)的新聞閱讀器中,筆者就重寫了 protected void onLayout(boolean changed, int l, int t, int r, int b) { ……… } protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { ………. } protected void onFinishInflate() { 11 ………… } 等方法。 在 Google Android 平臺(tái)中所有的控件都是繼承了 View 這個(gè)超 類,所以在我們自定 義一個(gè)控件的時(shí)候也需要繼承這個(gè)超類,但是有些情況下不需要繼承這個(gè)超類而是繼承它的子類,如基于 Google Android 平臺(tái)的新聞閱讀器中,就繼承了這個(gè)超類的子類 ViewGroup,即: public class TabController extends ViewGroup{}。第一,界面的實(shí)現(xiàn);第二,功能的實(shí)現(xiàn);第三,控件的調(diào)用。而才用筆者自定義的控件 ——TabController ,此控件從需求上必須能彌補(bǔ)系統(tǒng)控件 TabLayout 的不足,且能易于用戶操作。 由于此,在基于 Google Android 移 動(dòng)平臺(tái)技術(shù)的新聞閱讀器的研究中,使用了 SAX解析算法。所以,同 DOM一樣, Pull 解析式將內(nèi)容讀到內(nèi)存中去,這樣就消耗了系統(tǒng)的大量資源,而且給開發(fā)提取數(shù)據(jù)也造成了一定的麻煩。 ( 2)與 Pull 算法的比較。而且當(dāng) SAX2 找到需要的信息的時(shí)候,它能夠停止對(duì)當(dāng)前文檔的解析。 SAX2 的優(yōu)點(diǎn)是當(dāng)它讀到 XML 文檔中每一部分內(nèi)容的時(shí)候,就會(huì)產(chǎn)生一個(gè)事件,我們的應(yīng)用程序就可以在這個(gè)事件中寫入具體的處理代碼,然后解析器就移動(dòng)到文檔的下一段。 SAX 解析算法和其他解析算法的比較研究 ( 1)與 DOM 算法的比較。使用 DOM 的好處是可以引用和操作每一個(gè)對(duì)象。 能夠通過(guò)一個(gè)簡(jiǎn)單的,快速的方法來(lái)對(duì) XML文檔進(jìn)行處理,并且和 DOM 相比的話,它所占用的系統(tǒng)資源更少。 SAX 最初是為 Java 編程語(yǔ)言設(shè)計(jì)的,并使用了 Java 的接口定義,因?yàn)?Java 語(yǔ)言接口并不是語(yǔ)言中立的,所以各個(gè)廠商就需要建立自己的工具把 SAX 接口映射到它們自己的特殊的語(yǔ)言上去。首先需要注意的使 SAX 是一 個(gè)接口集合,它允許開發(fā)人員在自己的應(yīng)用中通過(guò)這個(gè)接口集合來(lái)讀取和分析 XML 文檔中的數(shù)據(jù)。 . SAX 解析算法的研究 SAX 解析算法的概述 RSS 源的數(shù)據(jù)結(jié)構(gòu)為 XML 文件,當(dāng)前 Google Android 處理讀取 XMl 數(shù)據(jù)有三種主流方式: 解析; 2. Pull 解析 解析 9 由于 Google Android 平臺(tái)手機(jī)系統(tǒng)資源有限,且基于 Google Andorid 平臺(tái)的新聞閱讀器所讀取的數(shù)據(jù)內(nèi)容不是非常多,所以筆者在此選擇了性能消耗較小的 SAX 解析作為解析 XML 文件的方法。由于 RSS 數(shù)據(jù)很小巧并可快速加載,它可輕易地被類似移動(dòng)電話或 PDA 的服務(wù)使用。對(duì)許多用戶來(lái)說(shuō)
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1