Android移動開發(fā)基礎(chǔ)案例教程(第3版)-課件 第1章 Android基礎(chǔ)入門_第1頁
Android移動開發(fā)基礎(chǔ)案例教程(第3版)-課件 第1章 Android基礎(chǔ)入門_第2頁
Android移動開發(fā)基礎(chǔ)案例教程(第3版)-課件 第1章 Android基礎(chǔ)入門_第3頁
Android移動開發(fā)基礎(chǔ)案例教程(第3版)-課件 第1章 Android基礎(chǔ)入門_第4頁
Android移動開發(fā)基礎(chǔ)案例教程(第3版)-課件 第1章 Android基礎(chǔ)入門_第5頁
已閱讀5頁,還剩126頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第1章Android基礎(chǔ)入門《Android移動開發(fā)基礎(chǔ)案例教程(第3版)》學(xué)習(xí)目標(biāo)/Target

了解移動通信技術(shù),對從1G到5G的發(fā)展有初步的認(rèn)識

掌握編寫簡單Android程序的步驟,能夠編寫一個HelloWorld程序

掌握Android開發(fā)環(huán)境的搭建方法,能夠獨(dú)立完成

AndroidStudioJellyfish|2023.3.1的安裝

掌握資源的管理與使用方式,能夠靈活管理與使用程序中的資源

掌握單元測試及Logcat的使用方法,能夠?qū)ndroid程序進(jìn)行調(diào)試章節(jié)概述/SummaryAndroid是Google公司基于Linux平臺開發(fā)的主要應(yīng)用于智能手機(jī)及平板電腦的操作系統(tǒng),它自問世以來,受到了前所未有的關(guān)注,并迅速成為移動平臺最受歡迎的操作系統(tǒng)之一。通過開發(fā)Android應(yīng)用程序,開發(fā)人員不僅可以參與到規(guī)模不斷擴(kuò)大的移動應(yīng)用市場,還可以提升自己的技術(shù)能力,為職業(yè)發(fā)展創(chuàng)造更多的機(jī)會。目錄/Contents010203Android簡介搭建Android開發(fā)環(huán)境開發(fā)第一個Android程序目錄/Contents040506Android程序結(jié)構(gòu)資源的管理與使用程序調(diào)試Android簡介1.1

先定一個小目標(biāo)!了解移動通信技術(shù),對從1G到5G的發(fā)展有初步的認(rèn)識1.1.1移動通信技術(shù)1.1.1移動通信技術(shù)從語音到萬物互聯(lián):移動通信的演進(jìn)時代核心特點(diǎn)標(biāo)志性應(yīng)用1G(第一代移動通信技術(shù))模擬語音僅限通話語音通話2G(第二代移動通信技術(shù))數(shù)字語音傳輸短信+低速數(shù)據(jù)GMS、彩信3G(第三代移動通信技術(shù))移動多媒體視頻通話、網(wǎng)頁瀏覽移動QQ、網(wǎng)頁瀏覽4G(第四代移動通信技術(shù))高速寬帶高清流媒體、手游微信、抖音、移動支付5G(第五代移動通信技術(shù))萬物智聯(lián)高速率、低時延、大連接自動駕駛、VR/AR、物聯(lián)網(wǎng)

先定一個小目標(biāo)!了解Android發(fā)展歷史,能夠說出Android各版本對應(yīng)的系統(tǒng)名稱1.1.2Android發(fā)展歷史1.1.2Android發(fā)展歷史安迪·魯賓:創(chuàng)立項(xiàng)目并奠定了Android的早期愿景和技術(shù)方向。Google收購:提供了充足的資金、資源和全球影響力,為項(xiàng)目保駕護(hù)航。開放手機(jī)聯(lián)盟(OHA):聯(lián)合84家產(chǎn)業(yè)鏈巨頭,從源頭解決了硬件、軟件和市場的推廣問題。Apache開源協(xié)議:免費(fèi)、開放的策略吸引了全球開發(fā)者,迅速形成龐大的生態(tài)系統(tǒng)。2003年2005年2007年2008年從初創(chuàng)到開源1.1.2Android發(fā)展歷史Android各版本發(fā)布時間及其代號發(fā)布時間代號2009年4月,Android1.5Cupcake(紙杯蛋糕)正式發(fā)布。9月,Android1.6Donut(甜甜圈)正式發(fā)布。10月,Android2.0/2.1éclair(閃電泡芙)正式發(fā)布。2010年5月,Android2.2/2.2.1Froyo(凍酸奶)正式發(fā)布。12月,Android2.3Gingerbread(姜餅)正式發(fā)布。2011年2月,Android3.0Honeycomb(蜂巢)正式發(fā)布。5月,Android3.1Honeycomb(蜂巢)正式發(fā)布。7月,Android3.2Honeycomb(蜂巢)正式發(fā)布。10月,Android4.0IceCreamSandwich(冰激凌三明治)正式發(fā)布。1.1.2Android發(fā)展歷史發(fā)布時間代號2012年6月,Android4.1JellyBean(果凍豆)正式發(fā)布。10月,Android4.2JellyBean(果凍豆)正式發(fā)布。2013年7月,Android4.3JellyBean(果凍豆)正式發(fā)布。11月,Android4.4KitKat(奇巧巧克力)正式發(fā)布。2014年10月,Android5.0Lollipop(棒棒糖)正式發(fā)布。2015年9月,Android6.0Marshmallow(棉花糖)正式發(fā)布。2016年8月,Android7.0Nougat(牛軋?zhí)牵┱桨l(fā)布。2017年8月,Android8.0/8.1Oreo(奧利奧)正式發(fā)布。2018年8月,Android9.0Pie(派)正式發(fā)布。Android各版本發(fā)布時間及其代號1.1.2Android發(fā)展歷史發(fā)布時間代號2019年9月,Android10.0QuinceTart(榅桲果塔)正式發(fā)布。2020年9月,Android11.0RedVelvetCake(紅絲絨蛋糕)正式發(fā)布。2021年10月,Android12.0SnowCone(刨冰)正式發(fā)布。2022年5月,Android13.0Tiramisu(提拉米蘇)正式發(fā)布。2023年10月,Android14.0UpsideDownCake(翻轉(zhuǎn)蛋糕)正式發(fā)布。2024年4月,Android15.0VanillaIceCream(香草冰淇淋)Beta版本正式發(fā)布,正式版在9月份發(fā)布。Android各版本發(fā)布時間及其代號Android一詞最早出現(xiàn)于法國作家利爾·亞當(dāng)在1886年發(fā)表的科幻小說《未來的夏娃》中,作者將外表像人的機(jī)器起名為Android。Android本意指“機(jī)器人”,Google公司將Android圖標(biāo)設(shè)計(jì)為一個綠色機(jī)器人,表示Android符合環(huán)保概念。Android圖標(biāo)的由來1.1.2Android發(fā)展歷史

先定一個小目標(biāo)!熟悉Android體系結(jié)構(gòu),能夠解釋Android系統(tǒng)的4種分層結(jié)構(gòu)1.1.3Android體系結(jié)構(gòu)1.1.3Android體系結(jié)構(gòu)Android體系結(jié)構(gòu)應(yīng)用程序?qū)討?yīng)用程序框架層核心類庫Linux內(nèi)核層用戶可見應(yīng)用(短信、聯(lián)系人、游戲等)開發(fā)API(活動管理器、通知管理器等)系統(tǒng)庫+Android運(yùn)行時庫硬件驅(qū)動(顯示、音頻、藍(lán)牙等)1.1.3Android體系結(jié)構(gòu)所有安裝在設(shè)備上的應(yīng)用集合。典型示例系統(tǒng)應(yīng)用:聯(lián)系人、短信、電話。第三方應(yīng)用:GooglePlay下載的游戲、社交軟件。特點(diǎn)用戶直接交互層。依賴下層框架API實(shí)現(xiàn)功能。1.應(yīng)用程序?qū)?.1.3Android體系結(jié)構(gòu)提供開發(fā)API,構(gòu)建應(yīng)用的基石。關(guān)鍵組件ActivityManager:管理應(yīng)用生命周期與導(dǎo)航。NotificationManager:控制狀態(tài)欄通知。ContentProvider:實(shí)現(xiàn)應(yīng)用間數(shù)據(jù)共享。使用方法開發(fā)者直接調(diào)用API開發(fā)應(yīng)用(無需重復(fù)造輪子)。2.應(yīng)用程序框架層1.1.3Android體系結(jié)構(gòu)核心類庫(Library)中包含系統(tǒng)庫及Android運(yùn)行時(AndroidRuntime)庫。系統(tǒng)庫OpenGLES:3D圖形渲染。WebKit:瀏覽器引擎支持。作用:提供高性能底層能力。Android運(yùn)行時(AndroidRuntime)庫Java核心庫:支持Java語言開發(fā)。Dalvik虛擬機(jī):專為移動設(shè)備優(yōu)化。3.核心類庫1.1.3Android體系結(jié)構(gòu)硬件抽象層,驅(qū)動硬件運(yùn)行。關(guān)鍵驅(qū)動支持:顯示驅(qū)動音頻驅(qū)動4.Linux內(nèi)核層照相機(jī)驅(qū)動藍(lán)牙驅(qū)動電源管理驅(qū)動網(wǎng)絡(luò)驅(qū)動

先定一個小目標(biāo)!熟悉Dalvik虛擬機(jī)與ART虛擬機(jī),能夠說明Dalvik虛擬機(jī)與ART虛擬機(jī)編譯文件的過程1.1.4Dalvik虛擬機(jī)與ART虛擬機(jī)1.1.4Dalvik虛擬機(jī)與ART虛擬機(jī)為什么需要定制虛擬機(jī)?1.1.4Dalvik虛擬機(jī)與ART虛擬機(jī)Android應(yīng)用主要采用Java開發(fā),Java字節(jié)碼無法直接在Android系統(tǒng)上運(yùn)行,需要一個“翻譯官”(虛擬機(jī))來將字節(jié)碼轉(zhuǎn)換為機(jī)器碼并管理應(yīng)用運(yùn)行。1.1.4Dalvik虛擬機(jī)與ART虛擬機(jī)Dalvik虛擬機(jī)指令集基于寄存器架構(gòu),通過執(zhí)行其特有的dex文件來實(shí)現(xiàn)一系列管理,包括對象生命周期管理、堆棧管理、線程管理、安全異常管理、垃圾回收等。每一個Android應(yīng)用程序在底層都會對應(yīng)一個獨(dú)立的Dalvik虛擬機(jī),其代碼在虛擬機(jī)的解釋下得以執(zhí)行。Dalvik虛擬機(jī)1.1.4Dalvik虛擬機(jī)與ART虛擬機(jī)Dalvik編譯時機(jī):在編譯文件時采用的是JIT技術(shù),即在運(yùn)行時將字節(jié)碼轉(zhuǎn)換為機(jī)器碼,這種技術(shù)并不高效。劣勢:重復(fù)編譯降低效率、占用CPU資源,增加功耗、應(yīng)用啟動與運(yùn)行延遲較高。Dalvik虛擬機(jī)編譯文件的過程如下圖所示。Dalvik虛擬機(jī)1.1.4Dalvik虛擬機(jī)與ART虛擬機(jī)Android4.4引入了ART虛擬機(jī)替代Dalvik虛擬機(jī)ART虛擬機(jī),提高Android程序的執(zhí)行效率。從Android5.0開始,ART虛擬機(jī)成了Android平臺的默認(rèn)虛擬機(jī)。ART虛擬機(jī)工作流程與Dalvik虛擬機(jī)工作流程大致相同。ART編譯時機(jī):在安裝Android應(yīng)用程序時,將字節(jié)碼預(yù)先編譯成機(jī)器碼并存儲在本地,這樣每次運(yùn)行應(yīng)用程序時就不需要執(zhí)行編譯了,這項(xiàng)技術(shù)被稱為AOT技術(shù)。優(yōu)勢:提升運(yùn)行效率,降低設(shè)備的耗電量,優(yōu)化垃圾回收(縮短應(yīng)用停頓時間)。ART虛擬機(jī)1.1.4Dalvik虛擬機(jī)與ART虛擬機(jī)特性Dalvik虛擬機(jī)ART虛擬機(jī)編譯時機(jī)運(yùn)行時(JIT)安裝時(AOT)執(zhí)行效率低(每次需編譯)高

(直接運(yùn)行機(jī)器碼)安裝速度快慢(需預(yù)編譯)存儲占用低較高(存儲機(jī)器碼)功耗較高較低DalvikVSART搭建Android開發(fā)環(huán)境1.2

先定一個小目標(biāo)!掌握Android開發(fā)環(huán)境的搭建方法,能夠獨(dú)立完成AndroidStudioJellyfish|2023.3.1的安裝1.2搭建Android開發(fā)環(huán)境1.2搭建Android開發(fā)環(huán)境AndroidStudio是Google公司為Android提供的一個官方IDE工具,它集成了Android所需的開發(fā)工具。AndroidStudio對安裝環(huán)境的要求如下。JDK的版本不得低于1.8。系統(tǒng)空閑內(nèi)存至少為4GB。從AndroidStudio官網(wǎng)下載AndroidStudioJellyfish|2023.3.1版本的安裝包。AndroidStudio官網(wǎng)下載頁面1.2搭建Android開發(fā)環(huán)境STEP011.下載AndroidStudioSTEP01單擊上圖的“下載AndroidStudioJellyfish”按鈕,彈出關(guān)于AndroidStudioJellyfish|2023.3.1的條款說明與協(xié)議。條款說明與協(xié)議1.2搭建Android開發(fā)環(huán)境STEP02STEP011.下載AndroidStudio選中上圖的“Ihavereadandagreewiththeabovetermsandconditions”復(fù)選框之后,單擊復(fù)選框下方的“DownloadAndroidStudioJellyfish|2023.3.1forWindows”按鈕,開始下載AndroidStudioJellyfish|2023.3.1。1.2搭建Android開發(fā)環(huán)境STEP031.下載AndroidStudio成功下載AndroidStudio安裝包后,雙擊擴(kuò)展名為.exe的文件,打開WelcometoAndroidStudioSetup界面。WelcometoAndroidStudioSetup界面1.2搭建Android開發(fā)環(huán)境STEP01STEP012.安裝AndroidStudio單擊上圖的“Next”按鈕,進(jìn)入ChooseComponents界面。1.2搭建Android開發(fā)環(huán)境STEP02ChooseComponents界面STEP012.安裝AndroidStudio單擊上圖的“Next”按鈕,進(jìn)入ConfigurationSettings界面。1.2搭建Android開發(fā)環(huán)境STEP01STEP03ConfigurationSettings界面STEP012.安裝AndroidStudio單擊上圖的“Next”按鈕,進(jìn)入ChooseStartMenuFolder界面,該界面用于設(shè)置在開始菜單中顯示的文件夾名稱。1.2搭建Android開發(fā)環(huán)境STEP04ChooseStartMenuFolder界面STEP012.安裝AndroidStudio單擊上圖的“Install”按鈕,進(jìn)入Installing界面開始安裝。1.2搭建Android開發(fā)環(huán)境STEP05Installing界面STEP012.安裝AndroidStudio單擊上圖的“Next”按鈕,進(jìn)入CompletingAndroidStudioSetup界面。1.2搭建Android開發(fā)環(huán)境STEP01STEP06CompletingAndroidStudioSetup界面STEP012.安裝AndroidStudio選中上圖中的“StartAndroidStudio”復(fù)選框,單擊“Finish”按鈕,會彈出ImportAndroidStudioSettings對話框。ImportAndroidStudioSettings對話框1.2搭建Android開發(fā)環(huán)境STEP01STEP01STEP013.配置AndroidStudio選中上圖的第2個單選按鈕,然后單擊“OK”按鈕,進(jìn)入HelpimproveAndroidStudio界面。1.2搭建Android開發(fā)環(huán)境STEP02HelpimproveAndroidStudio界面STEP013.配置AndroidStudio單擊上圖的“Don'tsend”按鈕,可以啟動AndroidStudio。首次啟動時,會彈出一個提示框,提示無法訪問AndroidSDK插件列表。1.2搭建Android開發(fā)環(huán)境無法訪問AndroidSDK插件列表注意:由于首次啟動AndroidStudio時,還未下載AndroidSDK,我們可以忽略該提示。STEP033.配置AndroidStudio單擊上圖的“Cancel”按鈕,進(jìn)入WelcomeAndroidStudio界面。1.2搭建Android開發(fā)環(huán)境WelcomeAndroidStudio界面STEP043.配置AndroidStudio單擊上圖的“Next”按鈕,進(jìn)入InstallType界面。1.2搭建Android開發(fā)環(huán)境InstallType界面STEP053.配置AndroidStudio選中上圖的第2個單選按鈕“Custom”,表示自定義安裝。選中該按鈕后,單擊“Next”按鈕,進(jìn)入SDKComponentsSetup界面。1.2搭建Android開發(fā)環(huán)境SDKComponentsSetup界面STEP063.配置AndroidStudio上圖提供了AndroidSDK的下載選項(xiàng)與安裝路徑。AndroidSDK下載選項(xiàng)保持默認(rèn),安裝路徑可以修改。修改完安裝路徑之后,單擊“Next”按鈕,進(jìn)入EmulatorSettings界面。1.2搭建Android開發(fā)環(huán)境EmulatorSettings界面STEP073.配置AndroidStudio上圖用于設(shè)置Android模擬器內(nèi)存空間大小。本書選擇設(shè)置Android模擬器內(nèi)存空間為4GB。設(shè)置完成之后,單擊“Next”按鈕,進(jìn)入InstallingAndroidEmulatorhypervisordriver界面。1.2搭建Android開發(fā)環(huán)境InstallingAndroidEmulatorhypervisordriver界面STEP083.配置AndroidStudio單擊上圖的“Next”按鈕,進(jìn)入VerifySettings界面。1.2搭建Android開發(fā)環(huán)境VerifySettings界面STEP093.配置AndroidStudio檢查之前的配置是否有誤,如果配置有誤則單擊“Previous”按鈕返回上一步重新配置;如果配置無誤,則單擊“Next”按鈕,進(jìn)入LicenseAgreement界面。1.2搭建Android開發(fā)環(huán)境LicenseAgreement界面STEP103.配置AndroidStudio選中上圖的“Accept”單選按鈕接受許可協(xié)議,然后選擇第2個許可協(xié)議(*intel-android-extra-license),同樣選中“Accept”單選按鈕接受許可協(xié)議。1.2搭建Android開發(fā)環(huán)境接受許可協(xié)議STEP113.配置AndroidStudio單擊上圖中的“Finish”按鈕,進(jìn)入DownloadingComponents界面。1.2搭建Android開發(fā)環(huán)境DownloadingComponents界面STEP123.配置AndroidStudio下載完成后的界面。1.2搭建Android開發(fā)環(huán)境下載完成后的界面STEP133.配置AndroidStudio單擊上圖的“Finish”按鈕,進(jìn)入WelcometoAndroidStudio界面。1.2搭建Android開發(fā)環(huán)境WelcometoAndroidStudio界面STEP143.配置AndroidStudio開發(fā)第一個Android程序1.3

先定一個小目標(biāo)!掌握HelloWorld程序的創(chuàng)建,能夠完成基礎(chǔ)HelloWorld項(xiàng)目的搭建1.3.1創(chuàng)建HelloWorld程序Templates界面STEP11.3.1創(chuàng)建HelloWorld程序單擊該按鈕WelcometoAndroidStudio界面使用AndroidStudio開發(fā)第一個Android程序。1.3.1創(chuàng)建HelloWorld程序在Templates界面,選擇“EmptyViewsActivity”模板,單擊“Next”按鈕,進(jìn)入EmptyViewsActivity界面。EmptyViewsActivity界面STEP021.3.1創(chuàng)建HelloWorld程序配置完成的EmptyViewsActivity界面。配置完成的EmptyViewsActivity界面STEP031.3.1創(chuàng)建HelloWorld程序單擊上圖的“Finish”按鈕,進(jìn)入AndroidStudio的代碼編輯窗口。AndroidStudio的代碼編輯窗口STEP041.3.1創(chuàng)建HelloWorld程序項(xiàng)目創(chuàng)建完成時,代碼編輯窗口的右下角會彈出一個提示框。當(dāng)彈出該提示框時,讀者單擊提示框左下方的“Automatically”鏈接即可,系統(tǒng)會自動將程序的相關(guān)路徑添加至MicrosoftDefender的排除列表。提示框

先定一個小目標(biāo)!掌握HelloWorld程序的運(yùn)行,能夠使用模擬器或真機(jī)運(yùn)行調(diào)試程序1.3.2運(yùn)行程序HelloWorld程序創(chuàng)建完成后,單擊代碼編輯窗口的頂部導(dǎo)航欄中的運(yùn)行按鈕,程序就會運(yùn)行到模擬器上。程序運(yùn)行結(jié)果1.3.2運(yùn)行程序

先定一個小目標(biāo)!掌握HelloWorld程序的分析,能夠獨(dú)立解析和修改界面與邏輯1.3.3程序分析HelloWorld程序主要包含兩個文件:activity_main.xml文件和MainActivity.java文件。activity_main.xml文件:activity_main.xml是布局文件,用于構(gòu)建界面。MainActivity.java文件:MainActivity.java用于編寫Java代碼,將activity_main.xml構(gòu)建的界面呈現(xiàn)至模擬器上。1.3.3程序分析activity_main.xml文件代碼1.3.3程序分析<?xmlversion="1.0"encoding="utf-8"?>//.xml文件的版本為1.0,編碼方式為utf-8<androidx.constraintlayout.widget.ConstraintLayoutxmlns:android="/apk/res/android" xmlns:app="/apk/res-auto" xmlns:tools="/tools" android:id="@+id/main" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity">//指定布局文件的上下文,即指定當(dāng)前布局對應(yīng)的Activity類指定activity_main.xml文件的根元素及其設(shè)置1.3.3程序分析 <TextViewandroid:layout_width="wrap_content" android:layout_height="wrap_content"

android:text="HelloWorld!" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent"/></androidx.constraintlayout.widget.ConstraintLayout>添加TextView控件,并設(shè)置其屬性MainActivity.java文件代碼1.3.3程序分析packagecn.itcast.helloworld;//定義包名importandroid.os.Bundle;importandroidx.activity.EdgeToEdge;importandroidx.appcompat.app.AppCompatActivity;importandroidx.core.graphics.Insets;importandroidx.core.view.ViewCompat;importandroidx.core.view.WindowInsetsCompat;publicclassMainActivityextendsAppCompatActivity{//定義MainActivity類@Override//注解,表明下面的方法是重寫的父類方法protectedvoidonCreate(BundlesavedInstanceState){//定義重寫的父類的onCreate()方法導(dǎo)入包super.onCreate(savedInstanceState);//調(diào)用父類的onCreate()方法

EdgeToEdge.enable(this);//設(shè)置邊緣到邊緣布局模式setContentView(R.layout.activity_main);//將布局文件顯示出來ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main),(v,insets)->{InsetssystemBars=insets.getInsets(WindowInsetsCompat.Type.systemBars());v.setPadding(systemBars.left,systemBars.top,systemBars.right,systemBars.bottom);returninsets;});}}1.3.3程序分析設(shè)置一個監(jiān)聽器,以便在窗口尺寸發(fā)生變化時作出響應(yīng)1.3.3程序分析AndroidStudio默認(rèn)主題是深色背景的,可以進(jìn)行更換。在AndroidStudio的代碼編輯窗口,單擊工具欄中的設(shè)置按鈕,彈出一個菜單列表。更換AndroidStudio主題設(shè)置菜單列表1.3.3程序分析在彈出的菜單列表中,選擇“Theme…”選項(xiàng),進(jìn)入Theme…設(shè)置界面,選擇Light主題。更換AndroidStudio主題Theme…設(shè)置界面

先定一個小目標(biāo)!掌握模擬器的管理與使用,能夠完成模擬器的查看、開關(guān)機(jī)控制及新設(shè)備添加等操作1.3.4模擬器管理AndroidStudio右側(cè)工具欄中的“DeviceManager”按鈕和“RunningDevices”按鈕用于管理模擬器?!癉eviceManager”按鈕和“RunningDevices”按鈕的位置1.3.4模擬器管理STEP011.查看模擬器單擊“RunningDevices”按鈕,可以查看正在運(yùn)行的模擬器;單擊“DeviceManager”按鈕,可以查看AndroidStudio擁有的模擬器。AndroidStudio擁有的模擬器1.3.4模擬器管理STEP01AndroidStudio當(dāng)前擁有一個模擬器,模擬器名稱為Pixel3aAPI35。AndroidAPI35對應(yīng)的操作系統(tǒng)版本為Android15.01.查看模擬器通過選擇模擬器后面的→“ViewDetails”選項(xiàng)查看模擬器的詳細(xì)信息。查看模擬器的詳細(xì)信息1.3.4模擬器管理STEP01通過“Edit”編輯模擬器,通過“Delete”刪除模擬器等。1.查看模擬器模擬器處于關(guān)機(jī)狀態(tài),單擊模擬器后面的按鈕即可開機(jī)。1.3.4模擬器管理STEP01模擬器關(guān)機(jī)狀態(tài)模擬器開機(jī)狀態(tài)2.模擬器開關(guān)機(jī)單擊模擬器上方的添加按鈕,彈出一個菜單列表,在該列表中選擇“CreateVirtualDevice”,進(jìn)入SelectHardware界面。1.3.4模擬器管理STEP01單擊添加按鈕SelectHardware界面3.添加模擬器在上圖中選擇屏幕尺寸為5.0英寸、分辨率為1080×1920的Pixel2,選擇完成之后,單擊“Next”按鈕,進(jìn)入SystemImage界面。1.3.4模擬器管理STEP01SystemImage界面3.添加模擬器在上圖中選擇的操作系統(tǒng)的版本為R,即Android11.0,選擇之后,單擊下載按鈕,進(jìn)入SDKComponentInstaller界面,顯示模擬器所需資源的下載過程。1.3.4模擬器管理STEP01SDKComponentInstaller界面3.添加模擬器下載完成之后,單擊“Finish”按鈕,返回SystemImage界面,在SystemImage界面單擊“Next”按鈕,進(jìn)入AndroidVirtualDevice(AVD)界面。在AndroidVirtualDevice(AVD)界面,修改模擬器名稱為custom01,選擇模擬器啟動方向?yàn)榇怪保≒ortrait),其他選項(xiàng)保持默認(rèn)。1.3.4模擬器管理STEP01AndroidVirtualDevice(AVD)界面3.添加模擬器單擊上圖的“Finish”按鈕即可完成模擬器的創(chuàng)建。創(chuàng)建完成之后,AndroidStudio就擁有了兩個模擬器。1.3.4模擬器管理STEP01AndroidStudio的兩個模擬器3.添加模擬器Android程序結(jié)構(gòu)

1.4

先定一個小目標(biāo)!掌握Android程序結(jié)構(gòu),能夠具備基礎(chǔ)開發(fā)環(huán)境配置能力1.4Android程序結(jié)構(gòu)1.4Android程序結(jié)構(gòu)整個Android項(xiàng)目的構(gòu)建腳本存放程序的代碼和資源等內(nèi)容指定AndroidSDK路徑配置在Android程序中使用的子項(xiàng)目1.4Android程序結(jié)構(gòu)文件或文件夾說明備注app/src/androidTest用于存放調(diào)試的代碼文件調(diào)試相關(guān)app/src/main/java用于存放程序的代碼文件(核心)核心目錄app/src/main/res用于存放程序的資源文件(核心)核心目錄app/src/main/AndroidManifest.xml整個程序的配置文件(核心)核心文件app/build.gradle.ktsapp模塊的gradle構(gòu)建腳本構(gòu)建配置核心文件build.gradle.kts整個Android項(xiàng)目的構(gòu)建腳本項(xiàng)目級配置perties用于指定AndroidSDK路徑環(huán)境配置settings.gradle.kts用于配置在Android程序中使用的子項(xiàng)目項(xiàng)目模塊配置Android項(xiàng)目中的主要文件和文件夾及其功能資源的管理與使用1.5

先定一個小目標(biāo)!掌握圖片資源的使用,能夠靈活管理與使用程序中的圖片資源1.5.1圖片資源1.5.1圖片資源Android中的圖片資源包括擴(kuò)展名為.jpg、.gif、.png等的文件。圖片資源分類資源類型存儲位置主要用途應(yīng)用圖標(biāo)資源mipmap開頭的文件夾應(yīng)用圖標(biāo)、啟動器圖標(biāo)界面圖片資源drawable開頭的文件夾界面中的各種圖片元素1.5.1圖片資源密度范圍/dpi名稱以mipmap開頭的文件夾名稱以drawable開頭的文件夾(120,160]mipmap_mdpidrawable_mdpi(160,240]mipmap_hdpidrawable_hdpi(240,320]mipmap_xdpidrawable_xdpi(320,480]mipmap_xxdpidrawable_xxdpi(480,640]mipmap_xxxdpidrawable_xxxdpi屏幕密度匹配規(guī)則Android根據(jù)設(shè)備屏幕密度自動匹配不同文件夾中的圖片資源。1.5.1圖片資源//調(diào)用名稱以mipmap開頭的文件夾中的圖片資源文件getResources().getDrawable(R.mipmap.ic_launcher);//調(diào)用名稱以drawable開頭的文件夾中的圖片資源文件getResources().getDrawable(R.drawable.icon);1.通過Java代碼調(diào)用圖片資源文件在Activity中可以使用以下方法調(diào)用圖片資源:1.5.1圖片資源//調(diào)用名稱以mipmap開頭的文件夾中的圖片資源文件@mipmap/ic_launcher//調(diào)用名稱以drawable開頭的文件夾中的圖片資源文件@drawable/icon2.在XML布局文件中調(diào)用圖片資源文件在XML布局文件中可以使用以下語法調(diào)用圖片資源:

先定一個小目標(biāo)!掌握主題和樣式資源的使用,能夠靈活管理與使用程序中的主題和樣式資源1.5.2主題和樣式資源1.5.2主題和樣式資源STEP011.主題主題資源:包含一種或多種格式化屬性的集合,在程序中調(diào)用主題資源可改變窗體的樣式,對整個應(yīng)用程序或某個Activity存在全局性影響。定義主題資源的標(biāo)簽:<style></style>:定義主題的標(biāo)簽<item></item>:設(shè)置主題樣式的標(biāo)簽1.5.2主題和樣式資源STEP011.主題

<stylename="AppTheme"parent="Theme.AppCompat.Light.DarkActionBar"><itemname="colorPrimary">@color/colorPrimary</item><itemname="colorPrimaryDark">@color/colorPrimaryDark</item><itemname="colorAccent">@color/colorAccent</item>

</style>在res/values目錄下的styles.xml文件中定義主題。用于指定主題名稱指定Android提供的父主題1.定義主題1.主題<application......

android:theme="@style/AppTheme"></application>(2)在Java代碼中應(yīng)用(1)在AndroidManifest.xml文件中應(yīng)用setTheme(R.style.AppTheme);1.5.2主題和樣式資源2.應(yīng)用主題調(diào)用styles.xml文件中定義的主題。1.5.2主題和樣式資源STEP01樣式資源:用于美化控件。手動創(chuàng)建styles.xml文件的步驟:(1)打開AndroidStudioJellyfish|2023.3.1,選中values文件夾并右擊,在打開的菜單中選擇“New”→“XML”→“ValuesXMLFile”選項(xiàng)。(2)在彈出的NewAndroidComponent對話框中將樣式文件命名為styles,單擊“Finish”按鈕,完成styles.xml文件的創(chuàng)建。2.樣式1.5.2主題和樣式資源STEP01在res/values目錄下的styles.xml文件中添加名為textViewStyle的樣式。1.定義樣式<resources><stylename="textViewStyle"><itemname="android:layout_width">20dp</item><itemname="android:layout_height">20dp</item><itemname="android:background">#f54e39</item></style></resources>用于指定樣式名稱2.樣式1.5.2主題和樣式資源STEP01<TextViewstyle="@style/textViewStyle"android:text="示例文本"/>在XML布局文件中應(yīng)用。2.應(yīng)用樣式2.樣式

先定一個小目標(biāo)!掌握布局資源的使用,能夠靈活管理與使用程序中的布局資源1.5.3布局資源1.5.3布局資源布局資源:通常用于搭建程序中的各個界面。布局資源存放位置:

在res/layout文件夾中。setContentView(R.layout.activity_main);<includelayout="@layout/activity_main"/>在Activity的onCreate()方法中使用setContentView()方法調(diào)用布局資源。1.通過Java代碼調(diào)用布局資源文件2.在XML布局文件中調(diào)用布局資源文件使用<include>標(biāo)簽在XML布局文件中嵌入其他布局文件。

先定一個小目標(biāo)!掌握字符串資源的使用,能夠靈活管理與使用程序中的字符串資源1.5.4字符串資源<resources><stringname="app_name">字符串</string></resources>字符串是使用頻率非常高的一種資源,每一款應(yīng)用基本上都會用到一些字符串作為文本提示信息或者標(biāo)題文字等。1.5.4字符串資源字符串資源定義在res/values/strings.xml文件中。用于指定字符串資源名稱1.定義字符串資源1.5.4字符串資源2.調(diào)用字符串資源(2)在XML布局文件中調(diào)用字符串資源文件(1)通過Java代碼調(diào)用字符串資源文件@string/app_namegetResources().getString(R.string.app_name);在Activity的onCreate()方法中調(diào)用名為app_name的字符串資源文件。在XML布局文件中調(diào)用名為app_name的字符串資源文件。

先定一個小目標(biāo)!掌握顏色資源的使用,能夠靈活管理與使用程序中的顏色資源1.5.5顏色資源<?xmlversion="1.0"encoding="utf-8"?><resources><colorname="colorPrimary">#3F51B5</color><colorname="colorPrimaryDark">#303F9F</color><colorname="colorAccent">#FF4081</color></resources>在Android程序中,View控件默認(rèn)的顏色不足以滿足設(shè)計(jì)需求,因此開發(fā)者通常會使用顏色資源來改變View控件的顏色。顏色資源定義在res/values/colors.xml文件中。用于指定顏色資源名稱1.定義顏色資源1.5.5顏色資源2.調(diào)用顏色資源(2)在XML布局文件中調(diào)用顏色資源文件(1)通過Java代碼調(diào)用顏色資源文件@color/colorPrimarygetResources().getColor(R.color.colorPrimary);在Activity的onCreate()方法中調(diào)用名為colorPrimary的顏色資源文件。在XML布局文件中調(diào)用名為colorPrimary的顏色資源文件。1.5.5顏色資源1.5.5顏色資源Android中的顏色值采用RGB(紅、綠、藍(lán))和一個透明度(Alpha)表示,顏色值必須以“#”開頭,“#”后面是Alpha-Red-Green-Blue形式的內(nèi)容。其中,Alpha值可以省略,如果省略,表示顏色默認(rèn)是完全不透明的。一般情況下,使用以下4種形式定義顏色:#RGB:使用紅、綠、藍(lán)三原色的值定義顏色,其中,紅、綠、藍(lán)分別使用十六進(jìn)制數(shù)0~f表示。例如,可以使用#f00定義紅色。#ARGB:使用透明度及紅、綠、藍(lán)三原色來定義顏色,其中,透明度、紅、綠和藍(lán)分別使用十六進(jìn)制數(shù)0~f表示。例如,可以使用#8f00定義半透明的紅色。定義顏色1.5.5顏色資源#RRGGBB:使用紅、綠、藍(lán)三原色定義顏色,與#RGB不同的是,這里的紅、綠和藍(lán)分別使用兩位十六進(jìn)制數(shù)00~ff表示。例如,可以使用#0000ff定義藍(lán)色。#AARRGGBB:使用透明度及紅、綠、藍(lán)三原色來定義顏色,其中,透明度、紅、綠和藍(lán)分別使用兩位十六進(jìn)制數(shù)00~ff表示。其中#00表示完全透明,#ff表示完全不透明。例如,可以使用#8800ff00定義半透明的綠色。定義顏色

先定一個小目標(biāo)!掌握尺寸資源的使用,能夠靈活管理與使用程序中的尺寸資源1.5.6尺寸資源1.5.6尺寸資源在Android界面中,View控件的寬度、高度和View控件的間距值是通過尺寸資源設(shè)置的。尺寸資源定義在res/values/dimens.xml文件中(dimens.xml文件需要手動創(chuàng)建)。1.定義尺寸資源<resources><dimenname="activity_horizontal_margin">16dp</dimen><dimenname="activity_vertical_margin">16dp</dimen></resources>用于指定尺寸資源名稱2.調(diào)用尺寸資源(2)在XML布局文件中調(diào)用尺寸資源文件(1)通過Java代碼調(diào)用尺寸資源文件@dimen/activity_horizontal_margingetResources().getDimension(R.dimen.activity_horizontal_margin);在Activity的onCreate()方法中調(diào)用名為activity_horizontal_margin的尺寸資源文件。在XML布局文件中調(diào)用名為activity_horizontal_margin的尺寸資源文件。1.5.6尺寸資源1.5.6尺寸資源Android支持的常用尺寸單位。px(Pixel,像素):每個像素對應(yīng)屏幕上的一個像素點(diǎn)。dp(Density-independentPixel,設(shè)備獨(dú)立像素):是一種與屏幕密度無關(guān)的尺寸單位。sp(ScaledPixel,比例像素):主要用于處理字體大小,可以根據(jù)系統(tǒng)字體大小首選項(xiàng)進(jìn)行縮放。in(Inch,英寸):標(biāo)準(zhǔn)長度單位。1in=2.54cm。mm(Millimeter,毫米):屏幕物理長度單位。Android支持的尺寸單位程序調(diào)試1.6

先定一個小目標(biāo)!掌握單元測試的使用方法,能夠?qū)ndroid程序進(jìn)行調(diào)試1.6.1單元測試1.6.1單元測試為什么使用單元測試?1.6.1單元測試在Android開發(fā)中,如果每次修改一個簡單的功能代碼后,都需要將程序重新運(yùn)行到設(shè)備中,再進(jìn)入修改功能的響應(yīng)界面進(jìn)行調(diào)試,將會浪費(fèi)大量時間,降低開發(fā)工作效率。如果使用單元測試對某些功能進(jìn)行調(diào)試,將會大大提高工作效率。單元測試是指在Android程序的開發(fā)過程中對最小的功能模塊進(jìn)行調(diào)試,它包括JUnit單元測試和Android單元測試。1.6.1單元測試1.本地運(yùn)行,不需要依賴Android設(shè)備。2.運(yùn)行速度速度快。3.適合只對Java代碼功能進(jìn)行的單元測試。4.測試目錄為app/src/test/。JUnit單元測試Android單元測試1.需要連接Android設(shè)備或模擬器2.運(yùn)行速度比較慢。3.適合需要調(diào)用AndroidAPI的單元測試。4.測試目錄為app/src/androidTest/。1.6.1單元測試1.JUnit單元測試類ExampleUnitTest文件1-1使用@Test注解該類中的方法。publicclassExampleUnitTest{@Testpublicvoidaddition_isCorrect(){assertEquals(4,2+2);}}ExampleUnitTest.java核心代碼在方法addition_isCorrect()上右右擊,然后選擇彈框中的“Runaddition_isCorrect()”選項(xiàng)運(yùn)行程序。1.6.1單元測試運(yùn)行成功的結(jié)果程序運(yùn)行結(jié)束后,在AndroidStudio左側(cè)導(dǎo)航欄中單擊按鈕查看運(yùn)行成功的結(jié)果。1.6.1單元測試修改文件1-1中assertEquals()方法的參數(shù),使得系統(tǒng)在調(diào)試addition_isCorrect()方法時,顯示錯誤信息。publicclassExampleUnitTest{@Testpublicvoidaddition_isCorrect(){assertEquals(4,1+2);

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論