Activiti概述
文章目錄
零、學習目標
一、安卓平臺架構
(一)安卓平臺架構簡述
1、Linux 內(nèi)核
2、硬件抽象層 (HAL)
3、安卓運行時(Android Runtime)
4、原生 C/C++ 庫
5、Java API 框架
6、系統(tǒng)應用
(二)安卓分層架構優(yōu)點
二、安卓設備監(jiān)視器(ADM)
1、啟動安卓設備監(jiān)視器
2、查看DDMS的File Explorer
三、安卓調(diào)試橋(ADB)
1、ADB作用
2、ADB操作演示
3、利用adb殺死和啟動服務進程
四、課后作業(yè)
1、利用百度腦圖繪制安卓體系架構的思維導圖
2、按照講課筆記,完成DDMS與adb基本操作
3、設計用戶登錄窗口
零、學習目標
能說出安卓平臺架構有哪幾層
會使用安卓設備監(jiān)視器,尤其是DDMS
會基本使用安卓調(diào)試橋ADB進入安卓的Linxu內(nèi)核
一、安卓平臺架構
Android 是一種基于 Linux 的開放源代碼軟件棧,為各類設備和機型而創(chuàng)建
Android平臺構成的主要組件
(一)安卓平臺架構簡述
1、Linux 內(nèi)核
Android 平臺的基礎是 Linux 內(nèi)核。例如,Android Runtime (ART) 依靠 Linux 內(nèi)核來執(zhí)行底層功能,例如線程和低層內(nèi)存管理。
使用 Linux 內(nèi)核可讓 Android 利用主要安全功能,并且允許設備制造商為著名的內(nèi)核開發(fā)硬件驅動程序。
2、硬件抽象層 (HAL)
硬件抽象層 (HAL) 提供標準界面,向更高級別的 Java API 框架顯示設備硬件功能。HAL 包含多個庫模塊,其中每個模塊都為特定類型的硬件組件實現(xiàn)一個界面,例如相機或藍牙模塊。當框架 API 要求訪問設備硬件時,Android 系統(tǒng)將為該硬件組件加載庫模塊。
3、安卓運行時(Android Runtime)
對于運行 Android 5.0(API 級別 21)或更高版本的設備,每個應用都在其自己的進程中運行,并且有其自己的 Android Runtime (ART) 實例。ART 編寫為通過執(zhí)行 DEX 文件在低內(nèi)存設備上運行多個虛擬機,DEX 文件是一種專為 Android 設計的字節(jié)碼格式,經(jīng)過優(yōu)化,使用的內(nèi)存很少。編譯工具鏈(例如 Jack)將 Java 源代碼編譯為 DEX 字節(jié)碼,使其可在 Android 平臺上運行。
在 Android 版本 5.0(API 級別 21)之前,Dalvik 是 Android Runtime。如果您的應用在 ART 上運行效果很好,那么它應該也可在 Dalvik 上運行,但反過來不一定。
Android 還包含一套核心運行時庫,可提供 Java API 框架所使用的 Java 編程語言中的大部分功能,包括一些 Java 8 語言功能。
4、原生 C/C++ 庫
許多核心 Android 系統(tǒng)組件和服務(例如 ART 和 HAL)構建自原生代碼,需要以 C 和 C++ 編寫的原生庫。Android 平臺提供 Java 框架 API 以向應用顯示其中部分原生庫的功能。例如,您可以通過 Android 框架的 Java OpenGL API 訪問 OpenGL ES,以支持在應用中繪制和操作 2D 和 3D 圖形。
如果開發(fā)的是需要 C 或 C++ 代碼的應用,可以使用 Android NDK 直接從原生代碼訪問某些原生平臺庫。
5、Java API 框架
您可通過以 Java 語言編寫的 API 使用 Android OS 的整個功能集。這些 API 形成創(chuàng)建 Android 應用所需的構建塊,它們可簡化核心模塊化系統(tǒng)組件和服務的重復使用,包括以下組件和服務:豐富、可擴展的視圖系統(tǒng),可用以構建應用的 UI,包括列表、網(wǎng)格、文本框、按鈕甚至可嵌入的網(wǎng)絡瀏覽器;資源管理器,用于訪問非代碼資源,例如本地化的字符串、圖形和布局文件;通知管理器,可讓所有應用在狀態(tài)欄中顯示自定義提醒;Activity 管理器,用于管理應用的生命周期,提供常見的導航返回棧;內(nèi)容提供程序,可讓應用訪問其他應用(例如“聯(lián)系人”應用)中的數(shù)據(jù)或者共享其自己的數(shù)據(jù);開發(fā)者可以完全訪問 Android 系統(tǒng)應用使用的框架 API。
6、系統(tǒng)應用
Android 隨附一套用于電子郵件、短信、日歷、互聯(lián)網(wǎng)瀏覽和聯(lián)系人等的核心應用。平臺隨附的應用與用戶可以選擇安裝的應用一樣,沒有特殊狀態(tài)。因此第三方應用可成為用戶的默認網(wǎng)絡瀏覽器、短信 Messenger 甚至默認鍵盤(有一些例外,例如系統(tǒng)的“設置”應用)。
系統(tǒng)應用可用作用戶的應用,以及提供開發(fā)者可從其自己的應用訪問的主要功能。例如,如果您的應用要發(fā)短信,您無需自己構建該功能,可以改為調(diào)用已安裝的短信應用向您指定的接收者發(fā)送消息。
(二)安卓分層架構優(yōu)點
Android系統(tǒng)采用分層架構的思想,架構清晰,層次分明,協(xié)同工作。
Android的系統(tǒng)架構不僅從宏觀上認識了Android系統(tǒng),同時,也給我們的學習與實踐指明了方向。若是從事Android應用開發(fā),那應該研究Android的應用框架層和應用程序層;若是從事Android系統(tǒng)開發(fā),那應該研究Android的系統(tǒng)庫和Android運行時;若是從事Android驅動開發(fā),那應該研究Android的Linux內(nèi)核。總之,找準切入點,實踐出真知。
二、安卓設備監(jiān)視器(ADM)
Android Device Monitor是 Android 開發(fā)環(huán)境中虛擬機調(diào)試監(jiān)控服務。 它為我們提供例如:為測試設備截屏,針對特定的進程查看正在運行的線程以及堆信息、Logcat、廣播狀態(tài)信息、模擬電話呼叫、接收SMS、虛擬地理坐標等等。
1、啟動安卓設備監(jiān)視器
進入安卓SDK目錄里的tools子目錄,找到monitor.bat
雙擊monitor.bat,啟動安卓設備監(jiān)視器
啟動安卓應用【HelloWorld】
查看安卓設備監(jiān)視器,查看文件瀏覽器(File Explorer)與日志捕獲(LogCat)
2、查看DDMS的File Explorer
DDMS(Dalvik Debug Monitor Service)
data——內(nèi)存目錄
mnt——外存目錄
單擊data,目前無法查看其內(nèi)容
模擬器目前采用Android 7.0(API 24),改成Android 6.0(API 23)
點開data/data,找到我們運行的安卓程序:net.hw.helloworld
屏幕截圖的最后一行就是我們自己的安卓應用:net.hw.helloworld
單擊mnt,查看其內(nèi)容
關于權限的簡單說明
sdcard: secure digital card
permission: 10位權限字符
1位:文件類型(d:directory 目錄;l:link 鏈接;-:普通文件)
234位:表示文件所有者具有的權限(r——讀;w——寫;x——執(zhí)行)
567位:表示用戶組成員具有的權限(r——讀;w——寫;x——執(zhí)行)
8910位:表示非用戶組成員具有的權限(r——讀;w——寫;x——執(zhí)行)
從第2位到第10位,“-”表示不具有該權限。
三、安卓調(diào)試橋(ADB)
1、ADB作用
利用adb shell進入Linux內(nèi)核進行相關操作。
2、ADB操作演示
啟動DOS,進入adb程序所在目錄D:\Android\sdk\platform-tools
輸入adb shell命令,出現(xiàn)命令提示符#(如果是Android 7.0,那么提示符就是$)
進入/data/data目錄
查看該目錄下的內(nèi)容
進入data/data/com.android.providers.contacts/shared_prefs目錄查看ContactsUpgradeReceiver.xml文件內(nèi)容
鍵入exit命令,退出adb shell
3、利用adb殺死和啟動服務進程
遇到問題:The connection to adb is down, and a severe error has occured.
首先關閉Android Studio集成開發(fā)環(huán)境
啟動DOS,進入安卓SDK的platform-tools目錄
鍵入adb kill-server (殺死服務進程)
再輸入 adb start-server(啟動服務進程)
四、課后作業(yè)
1、利用百度腦圖繪制安卓體系架構的思維導圖
2、按照講課筆記,完成DDMS與adb基本操作
3、設計用戶登錄窗口
涉及的知識點
用到布局的嵌套實現(xiàn)復雜界面
居中對齊,利用線性布局的gravity屬性
標簽、編輯框、按鈕三種控件
編輯框的提示信息,利用hint屬性
總結
以上是生活随笔為你收集整理的Activiti概述的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 钢材的弹性模量E等于多少?
- 下一篇: 常用布局