編輯:關於Android編程
Android框架層級 : Android 自下 而 上 分為 4層;
-- Linux內核層;
-- 各種庫 和 Android運行環境層;
-- 應用框架層;
-- 應用層;
Android 的 Linux 內核層 組成 : Linux 內核 和 驅動程序;
Linux內核 : Android 2.x 是基於 Linux 2.6 內核;
驅動程序 :
-- Display Driver (顯卡驅動) : Linux 的幀緩沖 驅動;
-- Flash Memory Driver (Flash 內存驅動) : 基於 MTD 的 Flash 驅動程序;
-- Camera Driver (相機驅動) : 基於 Linux v4l 驅動;
-- Audio Driver (音頻驅動) : 基於 ALSA 驅動;
-- Wifi Driver (Wifi驅動) : 基於 IEEE 801.31 標准的驅動程序;
-- KeyBoard Driver (鍵盤驅動) : 作為輸入設備的鍵盤驅動;
-- Bluetooth Driver (藍牙驅動) : 基於 IEEE 801.35.1 標准的無線傳輸技術;
-- Binder IPC Driver : Android 特有的驅動程序, 有單獨的設備節點, 提供進程通信的功能;
-- Power Management (電源管理) : 管理電池電量等信息;
解析驅動 :
-- Frame Buffer (幀緩沖) : 視頻輸出設備 中包含 有 完整幀數據的 視頻緩沖區, 使用該緩沖區 驅動視頻顯示設備;
-- v4l (Video for linux) : Linux 中的 攝像頭驅動;
-- ALSA (Advanced Linux Sound Architecture) : 高級 Linux 聲音體系驅動, 該組件 提供了 聲卡驅動;
該層分兩部分 : Android 運行環境 和 各種 庫;
各種庫介紹 : 這些庫以系統中間件形式提供, 與移動設備平台的應用有密切的關系;
-- C標准庫 : Android 系統最底層的庫, 該標准庫調用 內核的系統調用實現所需的功能;
-- Media Framework (多媒體框架) : Android 多媒體核心部分, 是基於 PacketVideo 的 OpenCore框架, 功能一 音頻視頻回放, 功能二 音頻視頻記錄;
-- SGL : 2D的引擎;
-- SSL (Secure Socket Layer) : 主要 為 TCP/IP 協議 與 應用層協議 之間的數據通信 提供安全支持;
-- OpenGL ES : 3D引擎;
-- Surface Management (界面管理工具) : 管理顯示子系統的功能;
-- SQLite : 嵌入式數據庫;
-- WebKit : 網絡浏覽器內核;
-- FreeType : 提供位圖 和 矢量字體功能;
Dalvik虛擬機 與 JVM 區別 :
-- 執行文件 : JVM 執行 .class 標准字節碼文件, Dalvik 虛擬機執行 .dex 文件;
-- 最大區別 : JVM 是基於棧 (Stack-based) 的虛擬機, Dalvik 虛擬機 是基於寄存器 (Register-based) 的虛擬機, 後者可以根據硬件實現更好的優化;
應用框架層 : 該層 提供了 應用程序使用的 API, 包括 各種 UI 組件 和 其它組件, 包括下面的組件;
-- Activity : 主要活動界面;
-- BroadcastReceiver : 廣播接收者;
-- Service : 服務;
-- ContentProvider : 內容提供者;
該層主要是 apk 安裝程序;
基於 android-2.3.4_r1 版本的源碼進行分析;
Android 源碼結構分類 :
-- 核心部分 : 該部分是建立Android 系統的基礎, 被保存在根目錄的文件中;
-- 擴展工程 : 使用其它開源項目的部分;
-- 包部分 : 提供了 Android 應用程序, 四大組件 等, 在 package 目錄中;
bionic : 基礎庫的源碼, C 運行時支持庫 libc, libm, libdl, 動態 linker;
bootable/bootloader/legacy : 內核引導加載器, 加載內核之前運行的程序;
build : 編譯和配置所需要的腳本 和 工具;
dalvik : Android中的 Java 虛擬機, 提供Android應用程序運行基礎;
development : 程序開發所需的模板和工具, 層次較高;
external : 使用的其它的開源的擴展庫;
frameworks : 應用程序框架層, 四大組件等;
hardware : 硬件相關的庫;
kernel : Linux 內核源碼;
packages : Android 各種應用程序;
prebuilt : 各種平台下的編譯預置腳本;
recovery : 與 Android 系統恢復功能相關;
system : Android 底層庫;
Makefile : 整個 Android 源碼 編譯的 Makefile;
apps : Android 應用程序模板;
build : 編譯腳本模板;
host : windows 平台的一些工具;
samples : 示例程序, 簡單的Android程序, 可以作為模板;
opencore : Android 多媒體框架核心;
webkit : Android 網絡浏覽器核心;
sqlite : Android 數據庫系統核心;
openssl : Secure Socket Layer, 是一個網絡協議, 為數據通信提供安全支持;
base : Android 核心框架庫基本內容;
opt : 可選部分;
base 目錄內容 :
-- cmds : 重要的命令;
-- core : 核心庫;
-- data : 字體聲音數據文件;
-- docs : 文檔;
-- graphics : 圖形相關;
-- include : 頭文件;
-- keystore : 數據簽名證書;
-- libs : 庫;
-- location : 地區庫;
-- media : 媒體相關庫;
-- obex : 藍牙相關的庫;
-- opengl : 3D圖形庫;
-- packages : 設置 TTS VPN 等庫;
-- sax : XML 解析;
-- services : 各種服務;
-- telephony : 電話通信管理;
-- test-runner : 測試工具相關;
-- test : 各種測試;
-- tools : 各種工具;
-- vpn :
-- wifi :
Apps : Android 中的各種應用程序;
providers : 保存內容提供者信息;
inputmethod : 輸入法;
wallpapers : 牆紙;
Android開發過程中,經常遇到一個項目需要重復的定義相同樣式的標題欄,Android相繼推出了actionBar, toolBar, 相信有用到的朋友也會遇到一些不如
本文講述aidl的簡單使用首先我們來看綁定本地service的用法:第一步:創建接口和實體類public interface IController { publi
不知道大家有沒有用過,淘寶電影客戶端(淘票票)買過電影票,縱觀各類在線選座app的在線選座功能 淘寶在線選座功能用戶體驗最好,用起來最順手,誇張點說已經到了爐火純青的地步
在Android開發中,有時候可能會要用到碎紙機的效果,今天小編為大家整理好代碼,一起來看看吧。首先來看下效果圖實例代碼xml<com.ldoublem.Paper