Android開發筆記

1、Android的體系結構java

1.1 體系結構android

從下往上進行層概述:sql

Linux內核層:數據庫

該層主要的做用是:對系統進行管理例如:驅動管理,電源管理,進程管理,安全管理,內存管理等等。瀏覽器

硬件抽象層:安全

該層主要的做用是:對Linux底層實現進行屏蔽,向上提供接口,該層不開源,主要是爲了維護商家的利益,可是會影響系統的性能架構

Android對硬件的支持分爲兩層:一層是用戶空間,另外一層是內核空間,框架

用戶空間存放的是:硬件抽象層,該層提供具體的訪問細節ide

內核空間存放的是:Linux驅動程序,該層只是提供簡單的硬件訪問邏輯(內核驅動程序具備硬件的基本信息)工具

原生庫與Android運行時:

該層是主要的做用是:原生庫:主要是基於CC++一些原生的組件,例如:Webkit瀏覽器引擎,SSL互聯網安全協議等。Android運行時包含兩個方面:Java核心庫與DVM二者共同組成Android的運行環境。

應用框架層:該層主要的做用是:提供了Android開發的API,開發人員能夠根據這些API進行相應的開發,它自己也是用Java語言實現的。

該層有:activityManager(活動管理),windowManagerContentProviderViewSystemNotificationManager(消息管理)包管理..

應用層:

該層是主要做用是:根據應用框提供的API進行第三方開發,其中也包含一些自帶的應用例如:圖片管理,通信錄等等

2、android-sdk目錄結構

2.1 結構分層:

1 add-ons:第三方的庫,如攝像頭驅動

2 build-tools:構建工具,包含的主要工具爲:

 aapt.exe(把包轉換成.apk文件)

 dx.bat(把class字節碼文件轉換成classes.dex文件)

3 platforems:該目錄中包含了Android系統的版本,版本中包含了數據和系統鏡像

4 platforems-tools:該目錄中包含有adb.exe(android debug birge)該工具的主要的做用是:Linuxwindow進行交流的橋樑。

5 System-image:該目錄中包含了Android模擬器建立的鏡像

6.tools:該目錄中包含的工具備:ddms.exe(DVM調試監控服務)

sqlite3.exesqlite3數據庫啓動器)及模擬器啓動器等等

3、JVMDVM的共同點和不一樣點

共同點:執行的都是字節碼文件

不一樣點:

程序的結構不一樣:JVM執行的是:.class文件

DVM執行的是:.dex文件

體系架構不一樣:JVM執行基於堆棧(內存)

  DVM執行基於寄存器(CPU

4、Android應用程序結構介紹

Android應用 應用由四大組件構成分別爲:ActivityserviceBroadcastReceiverContentProvider;每個組件都是一個獨立的模塊,每個組件有着不一樣的入口,Android框架經過這些入口進入到應用中,組件在AndroidManifest.xml文件中進行註冊,從而達到不一樣組件間的鬆耦合,從而定義應用中的總體功能。

5、Android應用運行過程

1.編譯

java(.class)多個-------dx.ba工具------>classes.dex(一個)----aapt.exe工具------>.apk文件--->>進行簽名(single簽名)默認是debug簽名

2.安裝

1..apk 文件安裝到模擬器或者是真機中,位置在data/data 

2.Androidmanifest.xml文件中獲取響應的組件,權限,包名等等

3.data/data文件中建立一個文件夾,包名便是文件夾的名字

4.把應用程序的信息寫入到data/system/package.xml文件中,以實現對應用組件的註冊

3.啓動

1.Android應用:Android自己是一個多用戶的Linux系統,一旦應用安裝成功,android框架會給應用分配一個UserId來標識,根據該UserId來設置該文件的訪問權限;當用戶經過應用程序列表或者程序導航進入到應用中,此刻會開啓一個虛擬器,建立一個進程,建立一個線程(UI),在啓動導航器進入到組件中,進入到該組件的生命週期中,從而啓動該應用程序.

6、簡述activitywindowView間的關係 

Activity

activity:四大組件之一,用來展現一個與用戶交互的界面

activity是如何進行與用戶交互的?

activity是經過內置的window對象進行窗口的展現,該activity活動展現經過View來捕獲相應的事件,經過windowManagerService來傳遞傳遞消息(用戶所用的組件,及組件的類型),在根據該消息Android框架回調相應的監聽方法,從而實現了與用戶的交互.

Window:

它表示的是一個窗口,是activity的主窗口,每個window都有一個View,做爲該窗口的頂級視圖,通常稱爲裝飾視圖,window經過setContentView將佈局中的文件添加到裝飾視圖中,從而將佈局展現出來.

 

View:

視圖:View是全部的組件的基類,它在屏幕上顯示的是一個基類,View的主要的做用是:1,負責空間圖形的渲染(顯示)2,事件的捕獲

系統提供了大量的標準的接口組件

也能夠直接調用View,不過須要繼承View實現組件的自定義.

三者的關係是:當activity啓動時,activity進行與交互,此時就會經過內置的window對象進行窗口的展現,window對象調用View,做爲該窗口的頂級視圖,經過setContentView將佈局中的組件添加到頂級視圖中去,便實現了與用戶的交互。

相關文章
相關標籤/搜索