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

正文內(nèi)容

基于android平臺(tái)的rss閱讀器的設(shè)計(jì)與開(kāi)發(fā)-文庫(kù)吧資料

2025-01-22 12:59本頁(yè)面
  

【正文】 屬性的值在res/values/,但是在Android中name被自動(dòng)生成一個(gè)整數(shù)。XML文件的解析方式在前面已經(jīng)介紹過(guò),在這里使用pull解析器,在解析之前,先構(gòu)建XmlPullParserFactory,(InputStream input,String encoding)來(lái)裝載XML文件,變量encoding表示字符編碼,默認(rèn)是utf8。 。TabHost是用來(lái)管理FrameLayout下包含的組件,這些組件必須先添加到TabHost中。ListView前面已經(jīng)介紹過(guò),在這里主要用于顯示每種類(lèi)型下的Rss 地址連接。在本程序中用于顯示新浪Rss的類(lèi)型。新浪Rss的布局文件在res/layout下,其中最最主要得是TabHost的設(shè)置,它的結(jié)構(gòu)如下:TabHost FrameLayout GridView/ ListView//FrameLayoutFrameLayout TabWidget//FrameLayout/TabHost接下來(lái)詳細(xì)介紹這些組件的功能:FrameLayout是單幀布局,當(dāng)一個(gè)組件放在上面是,下一個(gè)組件就覆蓋到第一個(gè)組件上,可以通過(guò)調(diào)整位置來(lái)避免組件的覆蓋GridView是Android中的數(shù)據(jù)顯示控件,在二維可滾動(dòng)的網(wǎng)格中呈現(xiàn)子項(xiàng)(item),Itme來(lái)自與之相關(guān)的LiatAdapter。getPackedPositionGroup(long packedPosition) :返回所選擇的組getPackedPositionForChild(int groupPosition, int childPosition) :返回所選擇的子項(xiàng)getPackedPositionType(long packedPosition) :返回所選擇項(xiàng)的類(lèi)型(Child,Group)isGroupExpanded(int groupPosition) :判斷此組是否展開(kāi)(ExpandableListAdapter adapter),ExpandableListAdapter是一個(gè)接口,BaseExpandableListAdapter實(shí)現(xiàn)了這個(gè)接口,我們通過(guò)繼承這個(gè)類(lèi),重寫(xiě)父類(lèi)的一些方法,如:getGroupView ::獲取組的視圖getChildView:獲取某一組下的子視圖getGroupCount:獲取組的個(gè)數(shù)getChildrenCount:獲取某一組下的子視圖的個(gè)數(shù)isChildSelectable:子視圖是否可以被選中BaseExpandableListAdapter需要設(shè)置數(shù)據(jù)源,這個(gè)數(shù)據(jù)源是從xml文件中讀取,關(guān)于xml讀取的實(shí)現(xiàn)在下面介紹。ExpandableListView的主要方法:expandGroup(int groupPos) :在分組列表視圖中展開(kāi)一組,setSelectedGroup(int groupPosition) :設(shè)置選擇指定的組。本程序的思路是點(diǎn)擊某一行,跳轉(zhuǎn)到另一個(gè)Activity,顯示新聞的內(nèi)容,如圖61和62所示。由于BaseAdapter是一個(gè)抽象類(lèi),我們需要實(shí)現(xiàn)里面的getView方法返回一個(gè)view,即視圖,視圖可以顯示在Activity上,這樣就可以看到我們想要的界面。1. 我的收藏和瀏覽記錄界面的實(shí)現(xiàn)我的收藏和瀏覽記錄的界面類(lèi)似,布局文件中主要是ListView組件,在Android開(kāi)發(fā)中,ListView是比較常用的組件,它一列表的形式展示具體內(nèi)容,并能根據(jù)數(shù)據(jù)的長(zhǎng)度自適應(yīng)顯示。 stopFlipping: 停止View切換 ViewFlipper中include不同的布局文件,這樣就可以在同一個(gè)Activity中切換不同的布局,這個(gè)Activity實(shí)現(xiàn)OnGestureListener這個(gè)接口,實(shí)現(xiàn)接口里面的方法,就可以實(shí)現(xiàn)手勢(shì)處理,實(shí)現(xiàn)更好的用戶(hù)體驗(yàn)。 setFilpInterval:設(shè)置View之間切換的時(shí)間間隔 該類(lèi)額外提供了如下幾個(gè)函數(shù): setContentView()。 系統(tǒng)界面的設(shè)計(jì) 主界面的實(shí)現(xiàn)Android的每一個(gè)可視化界面,都有其唯一的布局配置文件,該文件中有各種布局的方式,和各種資源文件如圖像,文字,顏色引用等,程序在運(yùn)行時(shí)可以通過(guò)代碼對(duì)各個(gè)配置文件進(jìn)行讀取,這樣可以形成不同的可視化界面和絢麗的效果。除了人人網(wǎng)留守國(guó)內(nèi)的高管,主要參會(huì)人員是媒體記者。騰訊的Rss站點(diǎn)和新浪的類(lèi)似,詳細(xì)信息可參考這個(gè)鏈接:。 第六章 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) Rss資源的收集和分析目前有很多門(mén)戶(hù)網(wǎng)站支持Rss訂閱,例如新浪,騰訊,搜狐,百度等,本軟件主要收集了新浪和騰訊的Rss 站點(diǎn),例如新浪所提供的站點(diǎn)分為:新聞中心,體育新聞,科技新聞,財(cái)經(jīng)新聞,軍事新聞等;新聞中心中包括各個(gè)站點(diǎn)的鏈接,例如新聞中心中的新聞要聞的Rss地址是,體育新聞中的國(guó)際足壇的Rss地址是。當(dāng)執(zhí)行完這些操作后,一定要關(guān)閉數(shù)據(jù)庫(kù)連接:()。插入數(shù)據(jù):()刪除數(shù)據(jù):()。 } public void onCreate(SQLiteDatabase db) { //類(lèi)創(chuàng)建是調(diào)用,在這里主要?jiǎng)?chuàng)建table} public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { //版本升級(jí)時(shí)調(diào)用}數(shù)據(jù)庫(kù)創(chuàng)建不成功會(huì)拋出FileNodFindException異常。程序中數(shù)據(jù)庫(kù)的類(lèi)為RssDB extend SQLiteOpenHelper(繼承關(guān)系)。Android數(shù)據(jù)庫(kù)的存儲(chǔ)位置在data/data/項(xiàng)目文件夾/databases/目錄下,Android是利用ContentProvider作為內(nèi)容提供商,SQLiteOpenHelper數(shù)據(jù)庫(kù)幫助類(lèi)來(lái)進(jìn)行對(duì)數(shù)據(jù)庫(kù)的創(chuàng)建和操作。表51 history字段表屬性數(shù)據(jù)類(lèi)型允許空主鍵IdINTEGERNOT nullPrimary keyTitleTEXTLinkTEXTBodyTEXTMylove與history相同,就不重復(fù)介紹了。在涉及數(shù)據(jù)庫(kù)的軟件開(kāi)發(fā)中,需要根據(jù)有待解決的問(wèn)題的性質(zhì)、規(guī)模,以及所采用的前端程序創(chuàng)建工具等,做出合適的數(shù)據(jù)庫(kù)類(lèi)型選擇。數(shù)據(jù)庫(kù)中的數(shù)據(jù)按一定數(shù)據(jù)模型組織、描述和存儲(chǔ),具有較小的重復(fù)度。這些操作包括讀取用戶(hù)的隱私數(shù)據(jù),訪(fǎng)問(wèn)網(wǎng)絡(luò),保持設(shè)備活動(dòng)等等,應(yīng)用程序的進(jìn)程是一個(gè)安全的黑盒子,在沒(méi)有給它權(quán)限的時(shí)候它不能干擾其他應(yīng)用程序。(3)圖片資源的緩存,將下載的圖片資源存儲(chǔ)在手機(jī)自帶的內(nèi)存或者存儲(chǔ)在SDCARD中;用戶(hù)也可以清楚這些緩存資源;使用緩存資源來(lái)節(jié)省GPRS流量。利用通知,你的應(yīng)用可以通過(guò)在狀態(tài)條上顯示一個(gè)圖標(biāo)來(lái)通知用戶(hù)事件已經(jīng)發(fā)生,而非獲得焦點(diǎn)和打斷用戶(hù)[1]。那樣的行為可能對(duì)你的應(yīng)用或用戶(hù)不起作用。然而,當(dāng)你的應(yīng)用在真正的設(shè)備上運(yùn)行,后臺(tái)線(xiàn)程顯示對(duì)話(huà)框時(shí),你的應(yīng)用當(dāng)時(shí)可能沒(méi)有獲得用戶(hù)焦點(diǎn)。(2)快速響應(yīng)快速處理用戶(hù)的輸入或請(qǐng)求,對(duì)于需要長(zhǎng)時(shí)間處理的部分,在其處理時(shí)可以給用戶(hù)一個(gè)提示,告知用戶(hù)該軟件正在運(yùn)行。圖 45 瀏覽記錄用例圖圖46 我的收藏用例圖(7)異步更新訪(fǎng)問(wèn)網(wǎng)絡(luò)比較耗時(shí)間,顯示一些提示信息向用戶(hù)表示本軟件正在運(yùn)行,并異步加載數(shù)據(jù),更新UI界面。如圖45所示:(5)收藏功能當(dāng)用戶(hù)對(duì)一些文章感興趣時(shí),可以將其添加至收藏列表;當(dāng)用戶(hù)不需要某條記錄是可將其從收藏列表中刪除。如圖42所示:(2)新浪Rss功能根據(jù)頻道名稱(chēng)解析出這個(gè)頻道所包含的內(nèi)容并記錄,在根據(jù)這些內(nèi)容鏈接網(wǎng)絡(luò),通過(guò)HtmlParse的解析獲取相應(yīng)的內(nèi)容并保存;切換不同的頻道。第四章 需求分析RSS閱讀器扮演著與用戶(hù)直接交互并且提供服務(wù)的重要角色,它需要提供良好的用戶(hù)體驗(yàn),方便用戶(hù)操作,接收用戶(hù)的操作并把這些操作轉(zhuǎn)換成相應(yīng)的命令,采用用戶(hù)活動(dòng)的方式完成各個(gè)服務(wù)的邏輯流程。在work with中輸入 進(jìn)行開(kāi)發(fā)前先要建立合適的開(kāi)發(fā)環(huán)境,其中基于Java的整合型可擴(kuò)展平臺(tái)Eclipse是我們的首選。Activity是應(yīng)用程序中最重要的一種構(gòu)造塊,我們對(duì)其進(jìn)行了詳細(xì)的分析,包括Activity的生命周期以及Activity之間的切換。 本章小結(jié)本章對(duì)Android平臺(tái)的特征、架構(gòu)以及Android應(yīng)用的構(gòu)成和工作機(jī)制進(jìn)行了詳細(xì)的分析。事件將作為數(shù)值代碼被發(fā)送,因此可以使用一個(gè)switch對(duì)感興趣的事件進(jìn)行處理。 Pull解析器的運(yùn)行方式與 SAX 解析器相似。但是,因?yàn)镈OM需要將XML文件的所有內(nèi)容讀取到內(nèi)存中,所以?xún)?nèi)存的消耗比較大,特別對(duì)于運(yùn)行Android的移動(dòng)設(shè)備來(lái)說(shuō),因?yàn)樵O(shè)備的資源比較寶貴,所以建議還是采用SAX來(lái)解析XML文件,當(dāng)然,如果XML文件的內(nèi)容比較小采用DOM是可行的。 DOM解析XML文件時(shí),會(huì)將XML文件的所有內(nèi)容讀取到內(nèi)存中,然后允許您使用DOM API遍歷XML樹(shù)、檢索所需的數(shù)據(jù)。 characters(char[] ch, int start, int length)這個(gè)方法用來(lái)處理在XML文件中讀到的內(nèi)容,第一個(gè)參數(shù)用于存放文件的內(nèi)容,后面兩個(gè)參數(shù)是讀到的字符串在這個(gè)數(shù)組中的起始位置和長(zhǎng)度,使用new String(ch,start,length)就可以獲取內(nèi)容。這使得SAX在編程處理上沒(méi)有DOM來(lái)得那么方便。通過(guò)atts可以得到所有的屬性名和相應(yīng)的值。 startElement(String namespaceURI, String localName, String qName, Attributes atts)當(dāng)讀到一個(gè)開(kāi)始標(biāo)簽的時(shí)候,會(huì)觸發(fā)這個(gè)方法。 endDocument()和上面的方法相對(duì)應(yīng),當(dāng)文檔結(jié)束的時(shí)候,調(diào)用這個(gè)方法,可以在其中做一些善后的工作。所謂事件,其實(shí)就是一些回調(diào)(callback)方法,這些方法(事件)定義在ContentHandler接口[5]。 (1)使用SAX讀取XML文件 SAX是一個(gè)解析速度快并且占用內(nèi)存少的XML解析器,非常適合用于Android等移動(dòng)設(shè)備。當(dāng)應(yīng)用程序需要使用存儲(chǔ)設(shè)備中的數(shù)據(jù)時(shí),可以使用Content Provider來(lái)完成。本系統(tǒng)客戶(hù)端擴(kuò)展功能的音樂(lè)播放就是采用Service來(lái)進(jìn)行設(shè)計(jì)和開(kāi)發(fā)的,使用戶(hù)可以邊聊天邊聽(tīng)音樂(lè)。 ServiceService是提供連續(xù)信息的應(yīng)用程序。如在本系統(tǒng)中,當(dāng)用戶(hù)正在其它界面進(jìn)行操作時(shí),有好友發(fā)送消息過(guò)來(lái),就會(huì)以通知的形式發(fā)送到當(dāng)前界面的正上方來(lái)通知用戶(hù)。 Intent ReceiverIntent Receivert是用于對(duì)外部事件的響應(yīng),當(dāng)外部事件發(fā)生時(shí),會(huì)使用NotificationManager通知用戶(hù)。在應(yīng)用中,我們可以以?xún)煞N形式來(lái)使用Intent:直接Intent,指定了ponent屬性的Intent,通過(guò)指定具體的組件類(lèi),通知應(yīng)用啟動(dòng)對(duì)應(yīng)的組件。根據(jù)Intent的描述,負(fù)責(zé)找到對(duì)應(yīng)的組件,將Intent傳遞給調(diào)用的組件并完成組件的調(diào)用。2. 活動(dòng)之間的切換Android使用了Intent類(lèi)來(lái)實(shí)現(xiàn)活動(dòng)之間的切換工作。在這段時(shí)間內(nèi)活動(dòng)處于其它所有活動(dòng)之前,并與用戶(hù)進(jìn)行交互。onStart()和onStop()方法可以多次調(diào)用,因?yàn)榛顒?dòng)隨時(shí)可以在可見(jiàn)和隱藏之間進(jìn)行轉(zhuǎn)換。在這段時(shí)間內(nèi),即使活動(dòng)不與用戶(hù)進(jìn)行交互,用戶(hù)也可以在屏幕上看到它。在onCreate()中進(jìn)行所有初始化,在onDestroyO時(shí)進(jìn)行清理工作,釋放資源。當(dāng)一個(gè)新的活動(dòng)啟動(dòng)后,被放到了棧項(xiàng),成為了運(yùn)行活動(dòng),而新活動(dòng)之前的活動(dòng)在活動(dòng)棧里總位于新活動(dòng)之下,直到新的活動(dòng)退出才重新回到前臺(tái)。 ActivityActivity是構(gòu)成應(yīng)用程序中最重要的構(gòu)造塊, 在Android應(yīng)用程序中,幾乎都是通過(guò)Activity來(lái)與用戶(hù)進(jìn)行交互,所以Activity主要負(fù)責(zé)的就是創(chuàng)建與用戶(hù)進(jìn)行交互的顯示窗口,你可以在這些窗口里通過(guò)調(diào)用setContentView(View)方法來(lái)顯示你自己的用戶(hù)界面。在應(yīng)用程序中使用時(shí),需要在配置文件AndroidMainfest.xml中進(jìn)行配置。它提供諸如內(nèi)存管理、進(jìn)程管理、設(shè)備驅(qū)動(dòng)等服務(wù),同時(shí)也是手機(jī)軟硬件的連接層,提供了一個(gè)屏蔽層用于屏蔽硬件和上層軟件。Dalvik虛擬機(jī)依賴(lài)于底層Linux內(nèi)核提供的功能,如線(xiàn)程機(jī)制,和內(nèi)存管理機(jī)制等。這是被優(yōu)化過(guò)的最小內(nèi)存依賴(lài)的格式。所有的Android應(yīng)用都運(yùn)行在它自己的進(jìn)程里,該進(jìn)程是一個(gè)Dalvik虛擬機(jī)的實(shí)例,Dalvik被設(shè)計(jì)成能在一臺(tái)設(shè)備上高效的運(yùn)行多個(gè)虛擬機(jī)實(shí)例。這些函數(shù)庫(kù)包括:標(biāo)準(zhǔn)C函數(shù)庫(kù)、媒體功能庫(kù)、瀏覽器引擎、2D和3D圖形庫(kù)、基于WEB應(yīng)用的的安全協(xié)議SSL、用于點(diǎn)陣和矢量字體渲染的FreeType以及SQLite引擎等。Android本身已在其框架中提高了許多的組件供應(yīng)用程序調(diào)用,當(dāng)然開(kāi)發(fā)者也開(kāi)放新的組件,并將組件放入應(yīng)用程序框架中,以供自己和其它應(yīng)用程序調(diào)用。開(kāi)發(fā)語(yǔ)言是Java。應(yīng)用軟件原則上是在Dalvik VM上運(yùn)行的。 Android架構(gòu)Android的架構(gòu)是Linux內(nèi)核、C/C++函數(shù)庫(kù)、Dalvik虛擬機(jī)、應(yīng)用框架以及關(guān)鍵應(yīng)用程序構(gòu)成的,如圖21。強(qiáng)大的開(kāi)發(fā)環(huán)境:包括一個(gè)設(shè)備模擬器,調(diào)試工具,內(nèi)存和性能檢測(cè),以及EclipseIDE的開(kāi)發(fā)插件。它是一個(gè)由覆蓋全球的24顆1J星組成的衛(wèi)星系統(tǒng)。EDGE(EnhaIlced Data Rate for GSM Evolution),是增強(qiáng)型數(shù)據(jù)速率GSM演進(jìn)技術(shù)。GSM技術(shù):(依賴(lài)硬件)Global System for Mobile Communications,全球移動(dòng)通訊系統(tǒng),俗稱(chēng)“全球通”,是第二代移動(dòng)通信技術(shù),其開(kāi)發(fā)El的是讓傘球各地可以共同使用一個(gè)移動(dòng)電話(huà)網(wǎng)絡(luò)標(biāo)準(zhǔn),讓用戶(hù)使_一部手機(jī)就能行遍全球。Open Core是Android多媒體框架的核心,所有Andro
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1