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

正文內容

基于android平臺的rss閱讀器的設計與開發(fā)(編輯修改稿)

2025-12-13 22:12 本頁面
 

【文章內容簡介】 t Provider 能夠靈活的替換底層使用的存儲設備,使開發(fā)者可以專著于應用邏輯的開發(fā),不用考慮底層存儲設備的細節(jié),從而使應用系統(tǒng)具有良好的數據 Rss 解析剖析 在 Android 平臺上可以使用 Simple API for XML(SAX)、 Document Object Model(DOM)和 Android 附帶的 pull 解析器解析 XML 文 件 。 (1)使用 SAX 讀取 XML 文件 SAX 是一個解析速度快并且占用內存少的 XML 解析器,非常適合用于 Android等移動設備。 SAX 解析 XML 文件采用的是事件驅動,也就是說,它并不需要解析完整個文檔,在按內容順序解析文檔的過程中, SAX 會判斷當前讀到的字符是否合法XML 語法中的某部分,如果符合就會觸發(fā)事件。所謂事件,其實就是一些回調( callback)方法,這些方法 (事件 )定義在 ContentHandler 接口 [5]。 下面是一些 ContentHandler 接口常用的方法: startDocument()當遇到文檔的開頭的時候,調用這個方法,可以在其中做一些預處理的工作。 endDocument()和上面的方法相對應,當文檔結束的時候,調用這個方法,可以在其中做一些善后的工作。 startElement(String namespaceURI, String localName, String qName, Attributes atts)當讀到一個開始標簽的時候,會觸發(fā)這個方法。 namespaceURI 就是命名空間,localName 是不帶命名空間前綴的標簽名, qName 是帶命名空間前 綴的標簽名。通過atts 可以得到所有的屬性名和相應的值。要注意的是 SAX 中一個重要的特點就是它的流式處理,當遇到一個標簽的時候,它并不會紀錄下以前所碰到的標簽,也就是說,在 startElement()方法中,所有你所知道的信息,就是標簽的名字和屬性,至于標簽的嵌套結構,上層標簽的名字,是否有子元屬等等其它與結構相關的信息,都是不得而知的,都需要你的程序來完成。這使得 SAX 在編程處理上沒有 DOM 來得那么方便。 endElement(String uri, String localName, String name)這個方法和上面的方法相對應,在遇到結束標簽的時候,調用這個方法。 characters(char[] ch, int start, int length)這個方法用來處理在 XML 文件中讀到的內 容, 10 第一個參數用于存放文件的內容,后面兩個參數是讀到的字符串在這個數組中的起始位置和長度,使用 new String(ch,start,length)就可以獲取內容。 (2)使用 DOM 讀取 XML 文件 除了可以使用 SAX 解析 XML 文件,大家也可以使用熟悉的 DOM來解析 XML文件。 DOM 解析 XML 文件 時,會將 XML 文件的所有內容讀取到內存中,然后允許您使用 DOM API 遍歷 XML 樹、檢索所需的數據。使用 DOM操作 XML 的代碼看起來比較直觀,并且,在某些方面比基于 SAX 的實現更加簡單。但是,因為 DOM需要將 XML 文件的所有內容讀取到內存中,所以內存的消耗比較大,特別對于運行Android 的移動設備來說,因為設備的資源比較寶貴,所以建議還是采用 SAX 來解析XML 文件,當然,如果 XML 文件的內容比較小采用 DOM 是可行的。 (3)使用 Pull 解析器讀取 XML 文件 除了可以使用 SAX 和 DOM 解析 XML 文件,大 家也可以使用 Android 內置的Pull 解析器解析 XML 文件。 Pull 解析器的運行方式與 SAX 解析器相似。它提供了類似的事件,如:開始元素和結束元素事件,使用 ()可以進入下一個元素并觸發(fā)相應事件。事件將作為數值代碼被發(fā)送,因此可以使用一個 switch 對感興趣的事件進行處理。當元素開始解析時,調用 ()方法可以獲取下一個 Text類型元素的值 [3]。 本章小結 本章對 Android 平臺的特征、架構以及 Android 應用的構成和工作機制進行了詳細的分 析。對于 Android 應用程序來說,主要由 Activity、 Intent Receiver、 Service 和Content Provider 四部分組成,但并不是對于每一個應用程序,這四部分都是必須的。Activity 是應用程序中最重要的一種構造塊,我們對其進行了詳細的分析, 包括Activity 的生命周期以及 Activity 之間的切換。 第三 章 開發(fā)環(huán)境介紹及構 建 Android 平臺為開發(fā)者提供了源碼開放的軟件開發(fā)包 ( SDK) ,它包含了使用 Java語言開發(fā) Android 平臺應用的必要工具和組件 (API) 。進行開發(fā)前先要建立合適的開發(fā)環(huán)境 ,其中基于 Java 的整合型可擴展平臺 Eclipse 是我們的首選。 搭建環(huán)境所需要的軟件: ? 操作系統(tǒng): Windows XP 或 Linux; 11 ? 軟件包: Android SDK, ADT; ? IDE 環(huán)境: Eclipse IDE + ADT 以上; ? JDK: Java Runtime Environmt, JDK; 安裝步驟: ? 安裝 JDK 然后配置環(huán)境變量 ; ? 安裝 Eclipse; ? Android SDK 配置 /安裝 : 首先在 下載,選擇相應的系統(tǒng)進行安裝; ? 安裝 Android ADT 插件: Eclipse,在導航菜單中選擇 HelpInstall New Software。在 work with 中輸入 ADD 然后輸入 name, 隨便取個有意義的,都選中安裝,完畢后重啟 Eclipse; Eclipse里配置 SDK路徑,選擇 WindowsPreferencesAndroid,選擇 Android SDK 的位置 [6]。 第四 章 需求分析 功能需求 RSS 閱讀器扮演著與用戶直接交互并且提供服務的重要角色,它需要提供良好的用戶體驗,方便用戶操作,接收用戶的操作并把這些操作轉換成相應的命令,采用用戶活動的方式完成各個服務的 邏輯流程。 本軟件主要解析騰訊和新浪提供的 RSS Reed, 其功能需求主要包括以下幾方面內容 ,業(yè)務流程如圖 41 所示 : (1)不同 View 之間的切換功能 用戶通過手指的左右滑動來切換不同的視圖,方便用戶在不同視圖中查看信息和行操作。如圖 42 所示: (2)新浪 Rss 功能 根據頻道名稱解析出這個頻道所包含的內容并記錄,在根據這些內容鏈接網絡,通過 HtmlParse 的解析獲取相應的內容并保存;切換不同的頻道。如圖 43 所示: 12 圖 41 業(yè)務流程圖 圖 42 主界面用例圖 13 圖 43 新浪 Rss 用例圖 (3)騰訊 Rss 功能 該功能與新浪 Rss相似,如圖 44所示 : 圖 44 騰訊 Rss 用用例圖 (4)歷史記錄瀏覽功能 記錄用戶瀏覽過的內容,以方便用戶再次查看,這樣節(jié)省 GPRS 流量,減少用戶的損失; 當用戶不需要這些記錄的時候可以清除掉這些記錄。 如圖 45 所示 : (5)收藏功能 當用戶對一些文章感興趣時,可以將其添加至收藏列表;當用戶不需要某條記錄是可將其從收藏列表中刪除。如圖 46 所示: (6)本地緩存 在瀏覽新聞和文章的過程中會下載圖片和文字內容,將這些內容保存值本地,在下次瀏覽同樣的內容的時 候就不用再次鏈接網絡,直接在本地讀取就可,節(jié)省用戶的GPRS 流量;當手機存儲空間不足時用戶可以選擇刪除這些本地緩存。 14 圖 45 瀏覽記錄用例圖 圖 46 我的收藏用例圖 (7)異步更新 訪問網絡比較耗時間,顯示一些提示信息向用戶表示本軟件正在運行,并異步加載數據,更新 UI界面。 性能需求 手機 軟件要有良好的用戶體驗 ,良好的用戶體驗體現在以下幾個方面: (1)界面友好 用戶界面要簡潔直觀,設計合理,方便用戶操作,讓用戶操作起來比較舒服,并且 UI 視覺效應好。 (2)快速響應 15 快速處理用戶的輸入 或請求,對于需要長時間處理的部分,在其處理時可以給用戶一個提示,告知用戶該軟件正在運行。 (3)無縫性 一個常見的無縫問題就是一個應用的后臺進程(如 service 或 broadcast receiver)對某事件作出響應而彈出對話框,這看起來仿佛并無大礙,特別是當你在模擬器上單獨地構建和測試你的應用時。然而,當你的應用在真正的設備上運行,后臺線程顯示對話框時,你的應用當時可能沒有獲得用戶焦點。這就會出現你的應用會在活動的應用后面顯示對話框,或者從當前應用中獲得焦點并顯示對話框的情況,而管論當時用戶正在做什么( 如正在打電話等)。那樣的行為可能對你的應用或用戶不起作用。為了避免這些問題,你的應用應該利用適當的系統(tǒng)資源 ——Notification 類,來通知用戶。利用通知,你的應用可以通過在狀態(tài) 條上顯示一個圖標來通知用戶事件已經發(fā)生,而非獲得焦點和打斷用戶 [1]。 數據需求 (1)Rss Feed 的存儲,主要是騰訊和新浪數據源的存儲, (2)收藏夾內容的管理,主要是對收藏內容的添加和刪除操作。 (3)圖片資源的緩存,將下載的圖片資源存儲在手機自帶的內存或者存儲在SDCARD 中;用戶也可以清楚這些緩存資源;使用緩存 資源來節(jié)省 GPRS 流量。 (4)記錄用戶瀏覽過的內容,方便用戶再次查看 安全需求 Android 安全中的一個重要的設計點是在默認的情況下應用沒有權限執(zhí)行對其他應用程序,操作系統(tǒng)或用戶的有害操作。這些操作包括讀取用戶的隱私數據,訪問網絡,保持設備活動等等,應用程序的進程是一個安全的黑盒子,在沒有給它權限的時候它不能干擾其他應用程序 。 第五 章 Android 數據庫的設計 數據 結構組織和數據庫文件的設計要根據不同的用途,使用要求等來決定數據整體組織形式等一些問題。數據庫中的數據按一定數據模型組織、描述和 存儲,具有較小的重復度。較高的數據獨立性和易擴展性,并且可以再被一定范圍內的各種用戶共享。在涉及數據庫的軟件開發(fā)中,需要根據有待解決的問題的性質、規(guī)模,以及所采 16 用的前端程序創(chuàng)建工具等,做出合適的數據庫類型選擇。 數據庫及字段屬性設計 本項目中的數據庫設計比較簡單,主要涉及兩個表: mylove 和 history; Mylove主要是存儲收藏的內容, history 主要存儲歷史瀏覽記錄 ,這兩個表的字段一樣,下面介紹 history 的字段 ,如表 51 所示 : 字段說明: id 記錄的 id 號, title 內容的標題, link 內容的 URL, body 內容主體。 表 51 history字段 表 屬性 數據類型 允許空 主鍵 Id INTEGER NOT null Primary key Title TEXT Link TEXT Body TEXT Mylove 與 history 相同,就不重復介紹了。 數據庫的連接 這里將介紹如何進行 Android 數據庫的連接, Android 中自帶的 SQLite 數據庫是十分小型的數據庫,這樣正適合 Android 這種移動平臺使用。 Android 數據庫的存儲位置在 data/data/項目文件夾 /databases/目錄下, Android 是利用 ContentProvider 作為內容提供商, SQLiteOpenHelper 數據庫幫助類來進行對數據庫的創(chuàng)建和操作。通過()方法直接對數據庫進行操作。程序中數據庫的類為 RssDB extend SQLiteOpenHelper(繼承關系)。 數據庫創(chuàng)建 Android 提供了標準的數據庫創(chuàng)建方式,繼承 SQLiteOpenHelper,實現 onCreate和 onUpgrade 兩個方法 ,有個好處就是便于數據庫版本的升級,連接數據庫的算法如下 : public RssDB(Context context) { //創(chuàng)建數據庫 super(context, DB_NAME, null, DB_VERTION)。 } public void onCreate(SQLiteDatabase db) 17 { //類創(chuàng)建是調用,在這里主要創(chuàng)建 table } public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { //版本升級時調用 } 數據庫創(chuàng)建不成功會拋出 FileNodFindException 異常。 數據庫操作 打開數據庫操作: db = (); this 表示 RSSDB 執(zhí)行 sql 語句 : (sql)。
點擊復制文檔內容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1