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

正文內(nèi)容

計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)畢業(yè)論文--android平臺(tái)天氣預(yù)報(bào)widget的設(shè)計(jì)與實(shí)現(xiàn)(編輯修改稿)

2024-12-14 01:41 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 個(gè)開(kāi)發(fā)者都可以加入移動(dòng)互聯(lián)的世界,共同推動(dòng)移動(dòng)互聯(lián)的發(fā)展。 應(yīng)用程序框架 普通的開(kāi)發(fā)者可以使用 Android 核心應(yīng)用程序的系統(tǒng) API。 Android 的應(yīng)用開(kāi)發(fā)框架涉及的非常巧妙,通過(guò)這套應(yīng)用框架,各種組件可以被用戶的應(yīng)用重復(fù)利用,各種服務(wù)也可以被各種應(yīng)用重復(fù)應(yīng)用。開(kāi)發(fā)人員應(yīng)該很好地理解這套框架的工作機(jī)制,這樣才能開(kāi)發(fā)出 更好的應(yīng)用程序。 下面列舉應(yīng)用框架的主要部分: 一. 一組 Views。這些 UI 組件包括列表、文本框、按鈕等。通過(guò)這些UI 組件,可以構(gòu)建應(yīng)用程序的試圖部分,這部分也就是用戶能看到的部分。 二. ContentProviders。主要是提供一種機(jī)制,通過(guò)這種機(jī)制,各個(gè)應(yīng)用程序之間可以實(shí)現(xiàn)數(shù)據(jù)的互訪和共享。 三. Resource Manager。它負(fù)責(zé)管理非代碼的訪問(wèn)。如本地圖片資源,設(shè)計(jì)布局的 XML 文件等的訪問(wèn)。 四. Notification Manager。它能讓程序的將自己的警示信息顯示在狀態(tài)欄上。例如,當(dāng)有短信的時(shí)候,可以在 狀態(tài)欄上顯示新短信的信息。 五. Activity Manager。它管理應(yīng)用的生命周期,并且提供應(yīng)用頁(yè)面退出 12 的機(jī)制。在 Android 應(yīng)用中,一個(gè)應(yīng)用一般都是多個(gè)頁(yè)面組成,而每個(gè)頁(yè)面的單位就是 Activity。 庫(kù)和運(yùn)行環(huán)境 Android 包括一些 C/C++庫(kù),這些庫(kù)能被 Android 系統(tǒng)的不同組件使用。他們通過(guò) Android 應(yīng)用程序框架為開(kāi)發(fā)者提供服務(wù)。 Android 應(yīng)用程序組成 要進(jìn)行應(yīng)用開(kāi)發(fā),還需要對(duì) Android 應(yīng)用構(gòu)造進(jìn)行深入的分析。 Android應(yīng)用程序由以下 4 個(gè)模塊構(gòu)造而成: Activity Broadcast Intent Receiver Service Content Provider 當(dāng)然,也不是每個(gè) Android 應(yīng)用程序都必須由這 4 部分組成,它可以根據(jù)開(kāi)發(fā)者需求來(lái)進(jìn)行組合 。 在這里還需要介紹 Intent 的概念和使用方法,他在應(yīng)用程序的運(yùn)行中連接兩個(gè)不同的組件,通過(guò) Intent 你的程序可以向 Android 表達(dá)某種請(qǐng)求或者意愿, Android 會(huì)根據(jù)意愿的內(nèi)容選擇適當(dāng)?shù)慕M件來(lái)請(qǐng)求。 Avtivity介紹 Activity 是最基本的模塊。我們稱之為 活動(dòng) ,在應(yīng)用程序 中,一個(gè)活動(dòng)( Activity)通常就是一個(gè)單獨(dú)的屏幕。每一個(gè)活動(dòng)都被實(shí)現(xiàn)為一個(gè)獨(dú)立的類,并且從活動(dòng)基類中繼承而來(lái),活動(dòng)類將會(huì)顯示由視圖控件組成的用戶接口,并對(duì)事件作出響應(yīng)。大多數(shù)的應(yīng)用都是由多個(gè) Activity 顯示組成,例如,對(duì)一個(gè)文本信息應(yīng)用而言,第一個(gè)屏幕用來(lái)顯示發(fā)送消息的聯(lián)系人 13 列表,第二個(gè)屏幕用來(lái)寫文本消息和選擇收件人,第三個(gè)屏幕查看消息歷史或者消息設(shè)置操作等。 這里的每一個(gè)屏幕就是一個(gè)活動(dòng),很容易實(shí)現(xiàn)從一個(gè)屏幕到一個(gè)新的屏幕,并且完成新的活動(dòng)。當(dāng)一個(gè)新的屏幕打開(kāi)后,前一個(gè)屏幕將會(huì)暫停,并保存在歷 史棧中。用戶可以返回到歷史棧中的前一個(gè)屏幕,當(dāng)屏幕不再使用時(shí),還可以從歷史棧中刪除。 簡(jiǎn)單理解, Activity 代表一個(gè)用戶所能看到的屏幕,主要用于處理應(yīng)用程序的整體性工作,例如,監(jiān)聽(tīng)系統(tǒng)事件(按鍵事件、觸摸屏事件等),為用戶顯示指定的 View,啟動(dòng)其他 Activity 等。所有應(yīng)用的 Activity 都繼承于 類,該類是 Android 提供的基層類,其他的 Activity繼承該父類后,通過(guò)父類的方法來(lái)實(shí)現(xiàn)各種功能,這種設(shè)計(jì)在其他領(lǐng)域也較為常見(jiàn)。 Broadcast Intent Receiver 介紹 可以使用 BroadcastReceiver 來(lái)讓應(yīng)用對(duì)一個(gè)外部的時(shí)間作出相應(yīng)。例如,當(dāng)電話呼入這個(gè)外部時(shí)間到來(lái)的時(shí)候,可以利用 BroadcastReceiver 進(jìn)行處理。 BroadcastReceiver 不能生成 UI,也就是說(shuō)對(duì)用戶是不透明的,用戶是看不到的。 BroadcastReceiver 通過(guò) NotificationManager 來(lái)通知用戶這些事情發(fā)生了。 BroadcastReceiver 既可以在 中注冊(cè),也可以在運(yùn)行時(shí)的代碼使用 ()進(jìn)行注冊(cè)。只要是注冊(cè)了,當(dāng)時(shí)間來(lái)臨的時(shí)候,即使程序沒(méi)有啟動(dòng),系統(tǒng)也在需要的時(shí)候啟動(dòng)程序。各種應(yīng)用程序還可以通過(guò) ()將他們自己的 intent 14 broadcasts 廣播給其他應(yīng)用程序。 Service介紹 Service 即 服務(wù) 的意思,既然是服務(wù),那么 Service 將是一個(gè)生命周期長(zhǎng)而且沒(méi)有用戶界面的程序。比如一個(gè)正在從播放列表中播放歌曲的媒體播放器,在這個(gè)媒體播放器應(yīng)用中,應(yīng)該會(huì)有多個(gè) activity,讓使用者可以選擇歌曲 并播放歌曲。然而,音樂(lè)重放這個(gè)功能并沒(méi)有對(duì)應(yīng)的 activity,因?yàn)槭褂谜邥?huì)認(rèn)為在導(dǎo)航到其他屏幕時(shí)音樂(lè)應(yīng)該還在播放。在這個(gè)例子中,媒體播放器這個(gè) activity 會(huì)使用 ()來(lái)啟動(dòng)一個(gè) service,從而可以在后臺(tái)保持音樂(lè)的播放。同時(shí),系統(tǒng)也將保持這個(gè) service 一直執(zhí)行,直到這個(gè) service 運(yùn)行結(jié)束。另外,我們還可以通過(guò)使用 ()方法連接到一個(gè) service 上(如果這個(gè) service 當(dāng)前還沒(méi)有處于啟動(dòng)狀態(tài),則將啟動(dòng)它)。當(dāng)連接到一 個(gè) service 之后,還可用 service 提供的接口與它進(jìn)行通訊。以媒體播放器為例,我們還可以執(zhí)行暫停、重播等操作。 Content Provider 介紹 Android 這個(gè)系統(tǒng)和其他的操作系統(tǒng)還不太一樣,我們需要記住的是,數(shù)據(jù)在 Android 當(dāng)中是私有的,當(dāng)然這些數(shù)據(jù)包括文件數(shù)據(jù)和數(shù)據(jù)庫(kù)數(shù)據(jù),以及一些其他類型的數(shù)據(jù)。一個(gè) ContentProvider 類實(shí)現(xiàn)了一組標(biāo)準(zhǔn)的方法接口,從而能夠讓其他的應(yīng)用保存或讀取此 ContentProvider 的各種數(shù)據(jù)類型,也就是說(shuō),一個(gè)程序可以通過(guò)實(shí)現(xiàn)一個(gè) ContentProvider 的抽象接口將自己的數(shù)據(jù)暴露出去。外界根本看不到,也不用看到這個(gè)應(yīng)用暴露的數(shù)據(jù)在應(yīng)用當(dāng)中是如何存儲(chǔ)的,即用數(shù)據(jù)庫(kù)存儲(chǔ)還是文件存儲(chǔ),還是通過(guò)網(wǎng)上 15 獲得,這一切都不重要,重要的是外界可以通過(guò)這一套標(biāo)準(zhǔn)而統(tǒng)一的接口和程序里面的數(shù)據(jù)打交道。可以讀取程序數(shù)據(jù),也可以刪除程序的數(shù)據(jù),當(dāng)然中間會(huì)涉及一些權(quán)限問(wèn)題。 Intent介紹 Intent 是一種運(yùn)行時(shí)綁定( runtime binding)機(jī)制,它能在程序運(yùn)行的過(guò)程中連接兩個(gè)不同的組件。通過(guò) Intent,你的程序可以向 Android 表達(dá)某種請(qǐng)求或者意 愿, Android 會(huì)根據(jù)意愿的內(nèi)容選擇適當(dāng)?shù)慕M件來(lái)請(qǐng)求。比如,有一個(gè) Activity 希望打開(kāi)網(wǎng)頁(yè)瀏覽器查看某一網(wǎng)頁(yè)的內(nèi)容,那么這個(gè)Activity 只需要發(fā)出 WEB_SEARCH_ACTION 請(qǐng)求給 Android, Android 會(huì)根據(jù) Intent 的請(qǐng)求內(nèi)容,查詢各組件注冊(cè)時(shí)聲明的 IntentFilter,找到網(wǎng)頁(yè)瀏覽器 Activity 來(lái)瀏覽網(wǎng)頁(yè)。 Android 的三個(gè)基本組件 —— Activity, Service 和 BroadcastReceiver,它們都是通過(guò) Intent 機(jī)制激活的,而不同類型的組件有傳遞 Intent 的不同方式。 (1) 要激活一個(gè)新的 Activity,或者讓一個(gè)現(xiàn)有的 Activity 執(zhí)行新的操作,可以通過(guò)調(diào)用 ()或者 ()方法。這兩個(gè)方法需要傳入的 Intent 參數(shù)也稱為 Activity Action Intent(活動(dòng)行為意圖),根據(jù) Intent 對(duì)象對(duì)目標(biāo) Activity 描述的不同,來(lái)啟動(dòng)與之相匹配的 Activity 或傳遞信息。 (2) 要啟動(dòng)一個(gè)新的服務(wù),或者向一個(gè)已有的服務(wù)傳遞新的指令,調(diào)用 16 ()方法或調(diào)用 ()方法將調(diào)用此方法的上下文對(duì)象與 Service 綁定。 (3) 通過(guò) () 、 () 和() 這 三 個(gè) 方 法 可 以 發(fā) 送 BroadcastIntent 。BroadcastIntent 發(fā)送后,所有已注冊(cè)的擁有與之相匹配 IntentFilter 的BroadcastReceiver 就會(huì)被激活。這種機(jī) 制被廣泛運(yùn)用于設(shè)備或系統(tǒng)狀態(tài)變化的通知,一個(gè)常見(jiàn)的例子是,當(dāng) Android 的電池電量過(guò)低時(shí),系統(tǒng)會(huì)發(fā)送Action 為 BATTERY_LOW 的廣播,接著任何可匹配該 Action 的 IntentFilter注冊(cè)的 BroadcastReceiver 都會(huì)各自運(yùn)行自定義的處理代碼,比如關(guān)閉設(shè)備的 WIFI 和 GPS 以節(jié)省電池消耗。 Intent 一旦發(fā)出, Android 都會(huì)準(zhǔn)確找到相匹配的一個(gè)或多個(gè) Activity、Service 或 BroadcastReceiver 作為響應(yīng)。所以,不同類型的 Intent 消息不會(huì)出現(xiàn)重疊: BroadcastIntent 消息只會(huì)發(fā)送給 BroadcastReceiver,而絕不可能發(fā)送給 Activity 或 Service。由 startActivity()傳遞的消息也只可能發(fā)送給Activity,由 startService()傳遞的 Intent 只可能發(fā)送給 Service。 Intent 對(duì)象抽象地描述了要執(zhí)行的操作,其描述的基本內(nèi)容可以分為組件名稱、 Action(動(dòng)作)、 Data(數(shù)據(jù))、 Category(類別)、 Extra(附加信息)和 Flag(標(biāo)志位) 6部分 Intent 分為顯式 Intent 和 隱式 Intent : 對(duì)于明確指出了目標(biāo)組件名稱的 Intent,我們稱之為“顯式 Intent”。對(duì) 17 于沒(méi)有明確指出目標(biāo)組件名稱的 Intent,則稱之為“隱式 Intent”。 Android系統(tǒng)使用 IntentFilter 來(lái)尋找與隱式 Intent 相關(guān)的對(duì)象。 顯式 Intent 直接用組件的名稱定義目標(biāo)組件,這種方式很直接。但是由于開(kāi)發(fā)人員往往并不清楚別的應(yīng)用程序的組件名稱,因此,顯式 Intent 更多用于在應(yīng)用程序內(nèi)部傳遞消息。比如在某應(yīng)用程序內(nèi),一個(gè) Activity 啟動(dòng)一個(gè) Service。隱式 Intent 恰恰 相反,它不會(huì)用組件名稱定義需要激活的目標(biāo)組件,它更廣泛地用于在不同應(yīng)用程序之間傳遞消息。 Android 應(yīng)用程序工程文件 典型的工程文件如下圖所示: 與一般的 Java 項(xiàng)目一樣, src 文件夾是項(xiàng)目的所有包及源文件( .java),res 文件夾中則包含了項(xiàng)目中的所有資源,比如:程序圖標(biāo)( drawable)、布局文件( layout)、常量( values)等。下面來(lái)介紹其他 Java 項(xiàng)目中沒(méi)有的gen 文 件 夾 中 的 文 件 和 每 個(gè) Android 項(xiàng) 目 都 必 須 有 的 18 文件。 是在建立項(xiàng)目時(shí)自動(dòng)生成的,這個(gè)文件是只讀模式,不能更改, 文件是定義該項(xiàng)目所有資源的索引文件。 文件則包含了該項(xiàng)目中所使用的 Activity、 Service、Receiver。相當(dāng)于應(yīng)用的配置文件,在應(yīng)用中是一個(gè)相當(dāng)重要的文件。 19 第 4章 天氣預(yù)報(bào) widget的設(shè)計(jì) 網(wǎng)絡(luò)功能實(shí)現(xiàn) Android 可以使用以下兩種網(wǎng)絡(luò)接口 標(biāo)準(zhǔn) Java接口 .*下面提供了訪問(wèn) HTTP 服務(wù)的基本功能。使用這部分接口的基本操作主要包括: 創(chuàng)建 URL 以 及 URLConnection / HttpURLConnection 對(duì)象 設(shè)置連接參數(shù) 連接到服務(wù)器 向服務(wù)器寫數(shù)據(jù) 從服務(wù)器讀取數(shù)據(jù) import 。 import 。 import 。 import 。 import 。 try { // 創(chuàng)建一個(gè) URL 對(duì)象 URL url = new URL(your_url)。 // 創(chuàng)建一個(gè) URL 連接,如果有代理的話可以指定一個(gè)代理。 URLConnection connection = (Proxy_yours)。 // 對(duì)于 HTTP 連接可以直接轉(zhuǎn)換成 HttpURLConnection, // 這樣就可以使用一些 HTTP 連接特定的方法,如 setRequestMethod() 等 //HttpURLConnection connection = (HttpURLConnection)(Proxy_yours)。 20 // 在開(kāi)始和服務(wù)器連接之前,可能需要設(shè)置一些網(wǎng)絡(luò)參數(shù) (10000)。 (UserAgent, J2me/)。 // 連接到服務(wù)器 ()
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1