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

正文內(nèi)容

基于android平臺的rss閱讀器的開發(fā)-閱讀頁

2024-11-27 22:12本頁面
  

【正文】 備建立在不同的硬件上時,這個功能顯得很實用。 RSS 閱讀器允許用戶進(jìn)行頻道添加,新聞瀏覽,新聞更新,新聞收藏,收藏刪除等功能。 基于 Android 平臺的 RSS 閱讀器的開發(fā) 11 圖 24 RSS 閱讀器業(yè)務(wù)流程圖 用戶打開軟件后,可以選擇各大門戶網(wǎng)站 RSS 訂閱中心中自己感興趣 RSS站點(diǎn)進(jìn)行頻道添加,添加完自己喜歡的頻道在添加的頻道中進(jìn)行頻道選擇,并可以刪除自己不感興趣的站點(diǎn),在所選頻道中進(jìn)行新聞信息在線瀏覽,并能夠?qū)υ诰€新聞進(jìn)行實時更新,實現(xiàn)對自己感興趣的新聞信息的瀏覽、收藏、離線查看自己已收藏的新聞和對已收藏信息進(jìn)行刪除等功能。數(shù)據(jù)庫設(shè)計應(yīng) 與 應(yīng)用系統(tǒng)設(shè)計相 關(guān)聯(lián) ,整個設(shè)計過程要把結(jié)構(gòu)設(shè)計和 模型 設(shè)計 緊密 結(jié)合 。 RSS 閱讀器頻道列表實體圖如圖 31 頻道實體屬性圖所示。 收藏列表實體的屬性包括編號(收藏列表 ID),新聞標(biāo)題,新聞日期時間,新聞內(nèi)容連接,新聞顯示內(nèi)容,新聞詳情鏈接這六個屬性。 基于 Android 平臺的 RSS 閱讀器的開發(fā) 13 圖 32 收藏實體屬性圖 數(shù)據(jù)模型分析 PowerDesigner 簡介 Power Designer 是 Sybase 公司開發(fā)的 CASE( Computer Aided Software Engineering)工具。 Power Designer 不僅加速了開發(fā)的過程,也向最終用戶提供了管理和訪問項目的信息的一個有效的結(jié)構(gòu)。 概念數(shù)據(jù)模型 CDM 設(shè)計 物理數(shù)據(jù)模型設(shè) 計及是設(shè)數(shù)據(jù)庫計階段的主要建模工作。 對 RSS 閱讀器數(shù)據(jù)庫概念數(shù)據(jù)模型 CDM 的分析,是建立在 UML 系統(tǒng)模型基礎(chǔ)上的,該 CDM 包含頻道列表、收藏列表兩個實體。 RSS 閱讀器概念數(shù)據(jù)模型 CDM 如圖 33 RSS 閱讀器 CDM 模型圖所示。收藏列表中包含五個屬性其中主鍵為 integer 類型的 ID,長度為 50 的 varchar 類型的 Title, Text 類型的 Description長度分別為 200 和 20 的 varchar 類型的 link和 Pubdate 還有 text 類型的 RSS_url。 在表與字段分析之后就可以利用Power Designer 建立物理數(shù)據(jù)模型 PDM 了,也可以根據(jù) CDM,利用 Power Designer 自動 生成物理數(shù)據(jù)模型 PDM。 圖 34 RSS 閱讀器 PDM 模型圖 基于 Android 平臺的 RSS 閱讀器的開發(fā) 15 在該 PDM 圖的頻道列表中, ID 為主鍵,類型為 integer 類型, RSS_name 為varchar 類型大小為 50 字節(jié), RSS_uri 為 text 類型。 基于 Android 平臺的 RSS 閱讀器的開發(fā) 16 第 4 章 系 統(tǒng)設(shè)計 設(shè)計目標(biāo) 經(jīng)系統(tǒng) 需求 分析和數(shù)據(jù) 庫需求分析 總結(jié)得出 RSS 閱讀器設(shè)計目標(biāo)如下: (1)界面設(shè)計友好美觀。 (3)數(shù)據(jù)存儲持久可靠。 (5)軟件運(yùn)行穩(wěn)定、安全可靠,具有較好的可移植性。 開發(fā)機(jī)運(yùn)行環(huán)境 系統(tǒng)開發(fā)軟件平臺: , Android SDK mcr18。 數(shù)據(jù)庫: Android SQLite。 Java 語言是 SUN 公司推出的一種 簡單、面向?qū)ο?[12]、分布式、解釋性、健壯、安全與系統(tǒng)無關(guān) [13]、可移植、高性能、多線程和動態(tài) 編程 語言 [14]。 統(tǒng)一建模語言 UML UML 是一 種可視化的圖形符號建模語言,通過它可以進(jìn)行需求分析、概要設(shè)計、詳細(xì)設(shè)計、編程實現(xiàn)、項目計劃、測試、圓形迭代、產(chǎn)品發(fā)布和產(chǎn)品維護(hù)等工作 [16]。我國自 1998 年初就開始了對 UML 和 Rose 的學(xué)習(xí)、研究及應(yīng)用。 一個便于維護(hù),方便擴(kuò)展, 可移植的軟件系統(tǒng) 離不開一個 好 的 UML 模型 。簡單的說就要 有 一套軟件設(shè)計的思想,按照怎樣的方式去創(chuàng)建各個實例之間的關(guān)系,方法的重用,父類 、 接口的書寫都 是 在建模階段必須解決 和完善的問題 [17]。它不僅可以幫助系統(tǒng)實現(xiàn)先建立模型,后編寫代碼的目的,而且可以保證軟件開發(fā)過程中代碼和模型的一致性,從一開始就保證系統(tǒng)結(jié)構(gòu)的合理性。 Rose 與 UML 的關(guān)系是: UML 是 Rational Rose 的理論基礎(chǔ), Rational Rose基于 Android 平臺的 RSS 閱讀器的開發(fā) 18 是 UML 的建模實現(xiàn)途徑,即 Rose 是 UML 的實現(xiàn)工具。 Rational Rose 包括 統(tǒng)一建模語言(UML), OOSE,以及 OMT。 創(chuàng)建系統(tǒng)用況圖 用況圖用于定義系統(tǒng)的行為、展示角色( 系統(tǒng)外部實體,即參與者)與用例(系統(tǒng)執(zhí)行的服務(wù))之間的相互作用,是系統(tǒng)設(shè)計的高層模型。 圖 41 系統(tǒng)用況圖 用戶使用 RSS 閱讀器主要進(jìn)行:添加自己感興趣的 RSS 頻道,頻道選擇進(jìn)入新聞列表,閱讀自己感興趣的新聞信息并能夠?qū)φ谥辈サ男侣勛龀黾皶r更新,對自己感興趣的新聞或者想在特殊情況下(如飛行模式下)瀏覽的新聞進(jìn)行收藏,并且對自己失去興趣或者過期的新聞進(jìn)行刪除操作等一系列活動,來完成基于 Android 平臺的 RSS 閱讀器的開發(fā) 19 自己對新聞信息的精確檢索篩選和瀏覽,達(dá)到節(jié) 約時間的目的。 RSS 閱讀器主界面設(shè)計如圖 51 RSS 閱讀器主界面圖所示: 圖 51 RSS 閱讀器主界面圖 此界面包含一個 TextView 控件用于界面名稱顯示(“ RSS 閱讀器”),一個 ListView 控件用于呈現(xiàn)頻道列表和兩個 Button 控件:“添加 RSS”用于添加一個新聞頻道。 新聞列表界面的設(shè)計 用戶選擇一個新聞頻道后會進(jìn)入一個新聞列表界面,該界面要求以列表的形式顯示該頻道下的所有信息信息,每一行顯示一條新聞信息的標(biāo)題和時間。 列表中的每一項分別由三部分組成,最左側(cè)為一個 ICON 圖標(biāo),表示這里為一條新聞信息,旁邊為上下兩個 TextView,上面的 TextView 中顯示新聞標(biāo)題信息,下面一個 TextView 中顯示新聞的發(fā)布時間信息等。 新聞閱讀界面的設(shè)計 新聞概要閱讀界面是用于用戶在新聞列表選擇某一新聞后所呈現(xiàn)的概要閱讀界面,本界面使用了一個 TextView 和兩個 Button 實現(xiàn),其中 TextView 中顯示了新聞的標(biāo)題,時間以及相關(guān)的新聞事件描述信息,底部還列出了該新聞詳細(xì)信息的鏈接地址,筆者在鏈接地址上實現(xiàn)了超鏈接,用戶可以直接點(diǎn)擊地址打開Android 系統(tǒng)的瀏覽器,前往網(wǎng)頁閱讀更為詳細(xì)的新聞信息。底部的兩個按鈕,一個為“收藏”,該按鈕將啟動新聞信息的收藏功能,點(diǎn)擊則添加到“我的收藏”。 RSS 源的讀取 XML 數(shù)據(jù)的解析方法 RSS 源的數(shù)據(jù)結(jié)構(gòu)為 XML 文件, 目前 Android 處理讀取 XML 數(shù)據(jù) 主要 有兩 種主流方式: DOM 解析; SAX 解析 ; Pull 解析 [18]。缺點(diǎn)是操作相對復(fù)雜,對文檔添加和刪除比較困難。缺點(diǎn)是解析過基于 Android 平臺的 RSS 閱讀器的開發(fā) 23 程中要把 XML 文檔全部讀入內(nèi)存,占用系統(tǒng)資源多。 Pull 解析器開始解析之后,通過調(diào)用它的 next()方法,來獲取下一個解析事件(就是開始文檔,結(jié)束文檔,開始標(biāo)簽,結(jié)束標(biāo)簽),當(dāng)處于某個元素時可以調(diào)用 XmlPullParser 的getAttributte()方法來獲取屬性的值,也 可調(diào)用它的 nextText()獲取本節(jié)點(diǎn)的值。 由于手機(jī)系統(tǒng)資源有限 和 Pull 解析的上述有哦點(diǎn) ,所以在此選擇性能消耗較小 使用靈活 的 Pull 方法 作為 RSS 閱讀器 解析 XML 文件的方法。 ,則判斷是否是 Title 標(biāo)簽,如果是,則實例化 title 對象,并調(diào)用 getAttributeValue 方法獲取標(biāo)簽中屬性值。 ,直接掃描到文件結(jié)束 。 當(dāng) Pull 解析引擎在 RSS 源中完成了 XML 數(shù)據(jù)解析后,將創(chuàng)建一個 RSSFeed 類的實例,包含了在應(yīng)用程序中處理 RSS 數(shù)據(jù)所需的所有內(nèi)容。//生成 PullParser 解析器的對象 parser (new StringReader(()))。//調(diào)用 Pull 方法的 next()方法 ()。//將解析出的 name標(biāo)簽的值付給 name變量 (, null, name)。//將解析到的 name 付給 name1 if((item)){//如 果標(biāo)簽名師 item 是 item = new RSSItem()。 (, null, name2)。 if((title)){//判斷解析出的標(biāo)簽是不是 title (())。 }else if((description)){ (())。 }else{//出現(xiàn)未知標(biāo)簽調(diào)用 skipUnknownTag 函數(shù)處理 skipUnknownTag(parser)。 } 新聞列表的呈現(xiàn) RSSReader 新聞列表呈現(xiàn)啟動 Activity 是 ActivityRssList 類。ListView 中 顯示 RSSFeed 中的 RSSItems 列表 。//繼承父類 oncreate setContentView()。 //執(zhí)行加載新聞列表頁面 registerForContextMenu(getListView())。 因為設(shè)計到網(wǎng)絡(luò)數(shù)據(jù)的交互,從網(wǎng)絡(luò)上獲取數(shù)據(jù)具有極大的不穩(wěn)定性,很多情況下視網(wǎng)絡(luò)狀況而定,解析 XML 數(shù)據(jù)流本身就是一項很費(fèi)時的工作,解析未完成之前,程序可能處于死等的狀態(tài),所以在獲取 RSS 數(shù)據(jù)是采用了異步取數(shù)據(jù)的操作,使用了 Android 中提供的 AsyncTask 實現(xiàn)異步從網(wǎng)絡(luò)上獲取數(shù)據(jù),不阻塞前程 UI 線程的顯示 [19]。//從數(shù)據(jù)庫加載RSS 頻道信息 list = ( ) 。 } protected void onPostExecute(Void result) {//調(diào)用用戶界面線程 adapter = new MyAdapter()。 removeDialog(0)。 } protected void onPreExecute() {//顯示加載進(jìn)度條 showDialog(0)。 } } 新聞頁面 的 顯示及收藏 新聞信息的顯示 ActivityShowDescription 新 聞 列 表 呈 現(xiàn) 啟 動 Activity 是 ActivityShowDescription 類。 TextView 中顯示新聞概要信息,包括標(biāo)題,描述,時間和詳細(xì)信息的鏈接地址。 ()。 WebView detailView = (WebView)()。//設(shè)置顯示的內(nèi)容和編碼方 式 WebSettings settings = ()。 (false)。//設(shè)置頁面不能縮放 (false)。核心代碼如下: case ADD_TO_FAV_ID: DbControl dbControl = new DbControl()。//用 Toast 顯示收藏成功 return true。 考慮到基于 Google Android 平臺的新聞閱讀器的存儲量不是很大,且數(shù)據(jù)格式非常的規(guī)則,再上更新起來非常的頻繁,所以筆者采用了數(shù)據(jù)庫 (Google Android 平臺自帶的 SQLite)來進(jìn)行數(shù)據(jù)的持久化。//創(chuàng)建或打開數(shù)據(jù)庫 ( CREATE_TABLE_SQL_RSS )。 //創(chuàng)建 MY_FAV 表 ()。 List RssList = new ArrayList()。//查詢數(shù)據(jù)庫中頻道列表記錄 int numRows = ()。 for (int i = 0。 i++) {//取出所有記錄 … } ()。return RssList 。軟件測試是軟件工程過程的一個重要階段,是在軟件投入運(yùn)行前,對軟件需求分析、設(shè)計和編碼各階段產(chǎn)品的最終檢查,是為了保證軟件開發(fā)產(chǎn)品的正確性、完整性和一致性,從而檢測軟件錯誤、修正軟件錯誤的過程 [20]。 測試方法 選擇 根據(jù)總體設(shè)計和詳細(xì)設(shè)計的測試方案,進(jìn)行完模塊間的測試并編碼完成后,就要進(jìn)行單元測試,單元測試主要采用白盒測試法。測試人員進(jìn)行白盒測試之前,必須清楚軟件的內(nèi)部邏輯結(jié)構(gòu)和執(zhí)行路徑,然后根據(jù)活動圖進(jìn)行語句覆蓋和條件覆蓋測試 [22]。由于本系統(tǒng)比較簡單,因此對每個模塊進(jìn)行了測試。 單元測試完之后的系統(tǒng)測試主要采用黑盒法。 簡單地說,黑盒測試工作就是提供輸入和接收輸出,然后檢查實際輸出結(jié)果和期望輸出結(jié)果之間是否存在差異,最終判定軟件產(chǎn)品是否存在缺陷。 基于 Android 平臺的 RSS 閱讀器的開發(fā) 30 軟件測試方案 單元測試舉例 ⑴ 添加感興趣的 RSS 站點(diǎn) —— 鳳凰網(wǎng) RSS 訂閱中心 —— 軍事頻道 —— 頻道添加成功
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1