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

正文內(nèi)容

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

2024-12-14 01:41 本頁面
 

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