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
    這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
    Thumbnail
    11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
    Thumbnail
    Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
    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
    這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
    Thumbnail
    11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
    Thumbnail
    Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
    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() 等,使程式碼更簡潔易懂,提升開發效率。