Android 架構概要

更新於 發佈於 閱讀時間約 2 分鐘

Android 主要從上層(接近使用者)到最底層(接近硬體)順序為:

Application -> Framework -> Hal -> Linux Kernel。

Application層:應用程序是在這進行發展,也是使用者直接接觸到的部分。

Framework層:這裡會透過AIDL與Service的API進行調用,至於AIDL是屬於一種Binder的機制去進行運作,詳細內容另外會發一篇說明。

HAL層:這是在Android 8.0之後發明出來的概念,主要目的是能讓上層與下層能夠分開處理,利用提供標準的API讓硬體廠商能夠以此標準使用,這樣的話即使HAL層以下做更新,也不會影響到上層的運作。

Linux Kernel:這部分直接和driver與硬體直接相關,也是最底層的內容。

raw-image

而最重要的是四大組件

  1. Activity: 有可看到介面的組件,若要切換介面則使用intent方法進行切換。
  2. Service: 在系統背後的組件,但相對於Activity來說沒有介面會讓使用者看到,即使是尤其他Activity或Service利用startService,其他元件生命週期結束也不影響本身的Service運作。
  3. Broadcast: 屬於Android組件溝通的一種方式,通過intent去發送訊號,接著通過action去過濾廣播,最後讓BroadcastReceiver去接收。
  4. ContentProvider: Android提供的一種儲存資料的方法,例如SQLite

其他較細的組件:

Context: 所有的Activity 與 Service都是繼承Context而來,通過Context,可以讓目前的元件了解現在的Application的狀況。

intent: 在元件之間傳輸資料的工具,當我們需要將資訊從一個Activity傳至另一個Activity時,就需要建立一個intent帶著資料傳輸。

Handler: 是屬於Android的消息機制,透過Handler可以將所有的消息依照順序去處理,處理好每個事件的順序。除此之外,也能利用此去切換程式碼的執行序,或者是延遲訊息的處理。

avatar-img
1會員
37內容數
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
dab戴伯的沙龍 的其他內容
DHCP 獲取IP位址。 在建立完兩者的連接後,STA會優先發起DISCOVER的廣播,要求網域提供IP地址的分配,網內的DHCP服務器收到後,會選擇一個IP地址發送給客戶端(OFFER),收到OFFER的STA會再發送一個Request確認是否為該IP位址,若沒錯,DHCP會回傳ACK表示確認
WIFI連接過程主要分成三步驟: 掃描 (Probe Request, Probe Response) 認證 (Authentication) 連接 (Association Request, Association Response) Eapol(WEP, WPA, WPA2) DHCP
Android Wifi掃瞄的部分區分成被動掃描與主動掃描: 主動掃瞄:每隔一段時間廣播發送probe request的請求,在各個頻段上詢問AP的訊息,若有收到回應,做紀錄,超時的話則換到下個頻段進行廣播。 被動掃瞄:不發送請求,因為是以省電為目的,因此是單純接收AP傳送的beacon,通過接
主要在工作上剛好接觸到SQLite的資料庫,因此想藉由這個機會將這個技術了解一下~ Android 內可使用SQLite資料庫,有著輕量級的特性,因此適合用於行動設備上。Android SQLite 主要提供SQLiteOpenHelper與SQLiteDatabase兩個類別使用。 而這次主要
目的: 利用第三方API抓取網路資料下載並呈現在APP上。 學習運用搜尋欄,並搜尋自己想找的電影。 自製表格,並讓資訊呈現在APP上。 這次運用了search bar 和 自製表格以及分析JSON檔的部分: 首先,要使用search bar要增加protocol : UISearchRes
目的: 熟悉collection view的使用 這次運用了collection view製作了行事曆的概念,主要是想結合電影,讓他可以顯示出你每天看過的電影,但執行上真的難好多啊!!所以先上來把目前為止做出來的內容說明一下: collection view 使用上與table view很像,
DHCP 獲取IP位址。 在建立完兩者的連接後,STA會優先發起DISCOVER的廣播,要求網域提供IP地址的分配,網內的DHCP服務器收到後,會選擇一個IP地址發送給客戶端(OFFER),收到OFFER的STA會再發送一個Request確認是否為該IP位址,若沒錯,DHCP會回傳ACK表示確認
WIFI連接過程主要分成三步驟: 掃描 (Probe Request, Probe Response) 認證 (Authentication) 連接 (Association Request, Association Response) Eapol(WEP, WPA, WPA2) DHCP
Android Wifi掃瞄的部分區分成被動掃描與主動掃描: 主動掃瞄:每隔一段時間廣播發送probe request的請求,在各個頻段上詢問AP的訊息,若有收到回應,做紀錄,超時的話則換到下個頻段進行廣播。 被動掃瞄:不發送請求,因為是以省電為目的,因此是單純接收AP傳送的beacon,通過接
主要在工作上剛好接觸到SQLite的資料庫,因此想藉由這個機會將這個技術了解一下~ Android 內可使用SQLite資料庫,有著輕量級的特性,因此適合用於行動設備上。Android SQLite 主要提供SQLiteOpenHelper與SQLiteDatabase兩個類別使用。 而這次主要
目的: 利用第三方API抓取網路資料下載並呈現在APP上。 學習運用搜尋欄,並搜尋自己想找的電影。 自製表格,並讓資訊呈現在APP上。 這次運用了search bar 和 自製表格以及分析JSON檔的部分: 首先,要使用search bar要增加protocol : UISearchRes
目的: 熟悉collection view的使用 這次運用了collection view製作了行事曆的概念,主要是想結合電影,讓他可以顯示出你每天看過的電影,但執行上真的難好多啊!!所以先上來把目前為止做出來的內容說明一下: collection view 使用上與table view很像,
你可能也想看
Google News 追蹤
Thumbnail
現代社會跟以前不同了,人人都有一支手機,只要打開就可以獲得各種資訊。過去想要辦卡或是開戶就要跑一趟銀行,然而如今科技快速發展之下,金融App無聲無息地進到你生活中。但同樣的,每一家銀行都有自己的App時,我們又該如何選擇呢?(本文係由國泰世華銀行邀約) 今天我會用不同角度帶大家看這款國泰世華CUB
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
Android TV 開發教學,會有人想學 Android TV APP 嗎?有人對電視上的應用程式有興趣嗎?
Thumbnail
在Android平台上探索角色扮演遊戲的世界,是許多遊戲愛好者的最愛。隨著手機遊戲的不斷演進,現在的RPG遊戲已經讓人目不暇給。今天我們將帶您深入了解最受歡迎的Android RPG遊戲,讓您能夠輕鬆找到您下一個遊戲冒險的目的地。
Thumbnail
現在的智慧型手機都已經具有定位功能,可在Google地圖知道自己的所在位置,也能夠傳送座標給朋友輕鬆找到會面地點。 其實連手機拍出的照片,也能夠自動儲存拍照地點的定位資訊!
Thumbnail
惡意軟體Malware是指專門設計用來破壞、干擾或竊取電腦系統、網路或設備的軟體,常見攻擊目標包括高階用戶和廣泛使用的應用程式。 而Rafel RAT是一種針對Android手機的新型惡意軟體,能夠控制用戶的設備,甚至攔截2FA雙重驗證訊息,主要透過偽裝成合法應用程式並取得敏感權限來進行攻擊。
Thumbnail
Android 版 Chrome 瀏覽器中新增了朗讀功能,可以將網頁文字轉換為語音並播放,方便用戶聆聽網頁內容,支援多國語言,包括繁/簡體中文、英文、日語、法文、德文等,還可調整播放速度和選擇語音。
Thumbnail
瀏覽器安裝擴充功能可以發揮本身以外的功能。微軟於 2023 年開始在 Android 版 Edge 上測試擴充功能,現階段可以取得官方推薦項目,無法前往 Chrome 或 Edge 商店安裝擴充功能。
Thumbnail
本課程學習如何建立 Android Wear (Wear OS by Google) 智慧穿戴式手錶專案的步驟。詳細說明了如何在 Android Studio 中建立 Wear OS 專案,包括選擇專案範本、設定專案屬性、建立手錶模擬器等步驟。最後,示範了運行專案並在模擬器上修改顯示文字的過程。
Thumbnail
本課程學習如何透過函數重構程式碼,提高可讀性、可維護性和重用性。以按鈕操作為例,將不同邏輯提取成函數,例如 allClear()、equalSign() 等,使程式碼更簡潔易懂,提升開發效率。
Thumbnail
現代社會跟以前不同了,人人都有一支手機,只要打開就可以獲得各種資訊。過去想要辦卡或是開戶就要跑一趟銀行,然而如今科技快速發展之下,金融App無聲無息地進到你生活中。但同樣的,每一家銀行都有自己的App時,我們又該如何選擇呢?(本文係由國泰世華銀行邀約) 今天我會用不同角度帶大家看這款國泰世華CUB
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
Android TV 開發教學,會有人想學 Android TV APP 嗎?有人對電視上的應用程式有興趣嗎?
Thumbnail
在Android平台上探索角色扮演遊戲的世界,是許多遊戲愛好者的最愛。隨著手機遊戲的不斷演進,現在的RPG遊戲已經讓人目不暇給。今天我們將帶您深入了解最受歡迎的Android RPG遊戲,讓您能夠輕鬆找到您下一個遊戲冒險的目的地。
Thumbnail
現在的智慧型手機都已經具有定位功能,可在Google地圖知道自己的所在位置,也能夠傳送座標給朋友輕鬆找到會面地點。 其實連手機拍出的照片,也能夠自動儲存拍照地點的定位資訊!
Thumbnail
惡意軟體Malware是指專門設計用來破壞、干擾或竊取電腦系統、網路或設備的軟體,常見攻擊目標包括高階用戶和廣泛使用的應用程式。 而Rafel RAT是一種針對Android手機的新型惡意軟體,能夠控制用戶的設備,甚至攔截2FA雙重驗證訊息,主要透過偽裝成合法應用程式並取得敏感權限來進行攻擊。
Thumbnail
Android 版 Chrome 瀏覽器中新增了朗讀功能,可以將網頁文字轉換為語音並播放,方便用戶聆聽網頁內容,支援多國語言,包括繁/簡體中文、英文、日語、法文、德文等,還可調整播放速度和選擇語音。
Thumbnail
瀏覽器安裝擴充功能可以發揮本身以外的功能。微軟於 2023 年開始在 Android 版 Edge 上測試擴充功能,現階段可以取得官方推薦項目,無法前往 Chrome 或 Edge 商店安裝擴充功能。
Thumbnail
本課程學習如何建立 Android Wear (Wear OS by Google) 智慧穿戴式手錶專案的步驟。詳細說明了如何在 Android Studio 中建立 Wear OS 專案,包括選擇專案範本、設定專案屬性、建立手錶模擬器等步驟。最後,示範了運行專案並在模擬器上修改顯示文字的過程。
Thumbnail
本課程學習如何透過函數重構程式碼,提高可讀性、可維護性和重用性。以按鈕操作為例,將不同邏輯提取成函數,例如 allClear()、equalSign() 等,使程式碼更簡潔易懂,提升開發效率。