Android 開發(fā)入門

Android 開發(fā)入門

Android 系統(tǒng)占有手機(jī)絕大部分市場,在智能硬件、車聯(lián)網(wǎng)等也廣泛應(yīng)用

Android 簡介

Android 方向

  • Android 應(yīng)用開發(fā)
  • Android FrameWork開發(fā)
  • Android 音視頻開發(fā)
  • Android 跨平臺開發(fā)(Flutter,React-Native)
  • Android 安全方向(逆向)

Android 平臺架構(gòu)

Android系統(tǒng)結(jié)構(gòu)
Linux 內(nèi)核
  • Android內(nèi)核具有和標(biāo)準(zhǔn)的Linux內(nèi)核一樣的功能,主要實(shí)現(xiàn)內(nèi)存管理、進(jìn)程調(diào)度、進(jìn)程間通信(Android增加了一種進(jìn)程間的通信機(jī)制IPC Binder)、設(shè)備驅(qū)動(Display Driver: 顯示驅(qū)動;Camera Driver: 照相機(jī)驅(qū)動;Flash Memory Driver: 閃存驅(qū)動;Binder Driver: IPC通訊驅(qū)動;KeyPad Driver: 鍵映射驅(qū)動;Wifi Driver:Wifi驅(qū)動;Audio Driver:音頻驅(qū)動;Power Management:電量管理驅(qū)動)等
硬件抽象層 (HAL)
  • 硬件抽象層 (HAL) 提供標(biāo)準(zhǔn)界面,向更高級別的 Java API 框架顯示設(shè)備硬件功能。HAL 包含多個庫模塊,其中每個模塊都為特定類型的硬件組件實(shí)現(xiàn)一個界面,例如相機(jī)或藍(lán)牙模塊。當(dāng)框架 API 要求訪問設(shè)備硬件時,Android 系統(tǒng)將為該硬件組件加載庫模塊。
Android Runtime 和原生C、C++庫
  • Android Runtime由是由Java核心類庫(Core Libraries)和Android虛擬機(jī)共同構(gòu)成

Java核心類庫包括框架層和應(yīng)用層所用到的基本Java庫;Android虛擬機(jī)是一個Android運(yùn)行時的一部分,作用在于連接底層核心、周邊庫與上層應(yīng)用,提供更多的自動管理功能,特別是內(nèi)存方面的。

Android 應(yīng)用架構(gòu)層
  • FrameWork層是Android應(yīng)用開發(fā)的核心,為開發(fā)者開發(fā)應(yīng)用時提供基礎(chǔ)的API框架??蚣軐佑啥鄠€系統(tǒng)服務(wù)組成。如AMS,PMS,WMS

AMS即ActivityManagerService主要負(fù)責(zé)系統(tǒng)中四大組件的啟動、切換、調(diào)度及應(yīng)用進(jìn)程的管理和調(diào)度等工作;PMS即PackageManagerService主要負(fù)責(zé)各種APK的安裝,卸載,優(yōu)化和查詢;WMS即WindowManageService 管理著所有的窗口,包括創(chuàng)建、刪除和修改,以及將某個窗口設(shè)置為焦點(diǎn)窗口

Android 應(yīng)用層
  • 應(yīng)用層由運(yùn)行在Android設(shè)備上的所有應(yīng)用構(gòu)成,包括預(yù)裝的系統(tǒng)應(yīng)用和自己安裝的第三方應(yīng)用

Android hello world demo演示

  • Android Studio 下載安裝

下載地址:https://developer.android.google.cn/studio

  • 新建工程
  • 創(chuàng)建模擬器
  • 運(yùn)行
  • 日志使用
  • 斷點(diǎn)調(diào)試

Android Studio 功能介紹

  • 主題顏色
  • 插件安裝
  • 功能區(qū)介紹
  • 打包

Android 工程結(jié)構(gòu)介紹

Android 工程結(jié)構(gòu)目錄

Android 工程結(jié)構(gòu)
Android工程目錄 解釋
.gradle文件夾 存儲每個使用的gradle版本臨時文件
.idea文件夾 用來存儲所有與IDE相關(guān)的項(xiàng)目設(shè)置
build目錄 項(xiàng)目編譯生成目錄
gradle目錄 管理項(xiàng)目構(gòu)建工具gradle,該目錄有g(shù)radle-wrapper.jar和gradle-wrapper.properties2個文件夾,gradle-wrapper.properties中可以修改gradle版本
.gitignore git忽略文件
build.gradle 是整個工程目錄的gradle區(qū)別于app目錄下的build.gradle(模塊的gradele)主要設(shè)置的是聲明倉庫源,gradle的版本號說明
gradle.properties 是gradle的運(yùn)行環(huán)境配置,比如使用多少內(nèi)存之類的
gradlew和gradlew.bat 自動配置 gradle環(huán)境的腳本
local.properties 配置SDK或者NDK的環(huán)境路徑
settings.gradle 配置項(xiàng)目的依賴關(guān)系
app 工作的主目錄
APP目錄
App目錄 解釋
build 編譯生成目錄,代碼生成的臨時文件,apk等都在這個目錄
libs 一般存放第三方庫文件
src 代碼和資源目錄
androidTest 測試目錄
main 代碼目錄
res 是資源文件目錄
drawable 存放xml文件,圖片文件夾一般還要drawable-xhdpi,drawable-xxhdpi,drawable-xxxhdpi 需要我們自己新建
drawable-v24 是兼容sdk24的,sdk24以上自定義drawble類可以在xml中使用
layout 布局資源
mipmap-anydpi-v26 自適應(yīng)圖標(biāo)
mipmap- 存放APP的icon圖標(biāo)文件
values 顏色、字體大小、字符串主題之類的資源
values-night 黑色主題資源
AndroidManifest.xml 配置必要的組件以及應(yīng)用權(quán)限等
test 單元測試目錄
.gitignore 配置模塊git忽略
build.gradle 模塊的gradle 構(gòu)建腳本
proguard-rules.pro 混淆配置

AndroidManifest

AndroidManifest
AndroidManifest 解釋
package 應(yīng)用包名
uses-permission 權(quán)限配置
android:allowBackup 是否允許備份
android:icon 應(yīng)用的啟動圖標(biāo)
android:label 應(yīng)用的名稱
android:roundIcon 圓形圖標(biāo)
android:supportsRtl 是否支持從右到左的布局
android:theme 應(yīng)用的主題
android:name=".MainActivity" 表示MainActivity的全路徑cn.pwj.mydemo1.MainActivity
intent-filter 意圖過濾器

Android學(xué)習(xí)資料

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容