Android移動終端應(yīng)用開發(fā)(微課版)-課件全套 王瑩 模塊1-9 校園易App工程創(chuàng)建 -智能農(nóng)業(yè)移動終端管理系統(tǒng)開發(fā)實(shí)現(xiàn)_第1頁
Android移動終端應(yīng)用開發(fā)(微課版)-課件全套 王瑩 模塊1-9 校園易App工程創(chuàng)建 -智能農(nóng)業(yè)移動終端管理系統(tǒng)開發(fā)實(shí)現(xiàn)_第2頁
Android移動終端應(yīng)用開發(fā)(微課版)-課件全套 王瑩 模塊1-9 校園易App工程創(chuàng)建 -智能農(nóng)業(yè)移動終端管理系統(tǒng)開發(fā)實(shí)現(xiàn)_第3頁
Android移動終端應(yīng)用開發(fā)(微課版)-課件全套 王瑩 模塊1-9 校園易App工程創(chuàng)建 -智能農(nóng)業(yè)移動終端管理系統(tǒng)開發(fā)實(shí)現(xiàn)_第4頁
Android移動終端應(yīng)用開發(fā)(微課版)-課件全套 王瑩 模塊1-9 校園易App工程創(chuàng)建 -智能農(nóng)業(yè)移動終端管理系統(tǒng)開發(fā)實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩256頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

移動終端應(yīng)用開發(fā)校園易App工程創(chuàng)建ANDROID目錄Contents認(rèn)識Android搭建Android開發(fā)環(huán)境創(chuàng)建第一個Android項(xiàng)目認(rèn)識Android生命周期創(chuàng)建Android模擬器教學(xué)目標(biāo)知識目標(biāo)了解Android發(fā)展史及體系結(jié)構(gòu)。掌握Android開發(fā)環(huán)境的搭建方法。掌握Android工程創(chuàng)建方法。掌握Android項(xiàng)目結(jié)構(gòu)。理解Activity生命周期。掌握Android程序運(yùn)行、調(diào)試方法。技能目標(biāo)具備Android開發(fā)環(huán)境的搭建能力。具備Android程序創(chuàng)建和調(diào)試能力。素質(zhì)目標(biāo)培養(yǎng)自我學(xué)習(xí)的能力。培養(yǎng)良好的行為習(xí)慣。認(rèn)識Android01PART了解Android發(fā)展史Android最初由安迪·魯賓(AndyRubin)開發(fā),主要支持手機(jī)。2005年8月,Android由Google公司收購并注資。2007年11月,Google公司與眾多硬件制造商、軟件開發(fā)商及電信運(yùn)營商組建了開放手機(jī)聯(lián)盟,一同開發(fā)Android。2008年9月,Google公司正式發(fā)布了Android1.0,這是Android最早的版本。Android體系結(jié)構(gòu)Android實(shí)際上是一個針對多種不同設(shè)備類型打造的開放源代碼的軟件開發(fā)堆棧,該軟件開發(fā)堆棧的搭建采用了分層的框架結(jié)構(gòu)。搭建AndroidStudio開發(fā)環(huán)境02PART安裝AndroidStudioAndroidStudio是Google公司用于開發(fā)Android應(yīng)用的官方集成開發(fā)環(huán)境(IntegratedDevelopmentEnvironment,IDE),其包含構(gòu)建Android應(yīng)用所需的所有功能。同時,AndroidStudio與以往的IDE相比,不僅提供了強(qiáng)大的代碼編輯器和開發(fā)者工具,還提供了許多可提高Android應(yīng)用構(gòu)建效率的功能。AndroidStudio支持采用Java、Kotlin、Flutter等多種語言進(jìn)行開發(fā),支持在Linux、Windows、macOS等操作系統(tǒng)上運(yùn)行。安裝AndroidStudio1.安裝JDKJDK是Java語言的軟件開發(fā)工具包,在AndroidStudio中,如果想用Java語言開發(fā)程序,則必須安裝JDK,否則無法創(chuàng)建Java語言開發(fā)的Android工程。目標(biāo)文件夾對話框安裝程序?qū)υ捒虬惭bAndroidStudio2.下載AndroidStudioAndroidStudio支持安裝在多種操作系統(tǒng)上,在下載時應(yīng)選擇適合系統(tǒng)類別的超鏈接,這里選擇在Windows操作系統(tǒng)上安裝AndroidStudio。AndroidStudio的官方下載頁面安裝AndroidStudio3.安裝AndroidStudio初次安裝AndroidStudio時應(yīng)保持設(shè)備處于聯(lián)網(wǎng)狀態(tài),因?yàn)樵诔醮伟惭b的過程中,AndroidStudio需要下載與版本匹配的SDK。AndroidStudio安裝歡迎窗口選擇部件窗口安裝AndroidStudio3.安裝AndroidStudio初次安裝AndroidStudio時應(yīng)保持設(shè)備處于聯(lián)網(wǎng)狀態(tài),因?yàn)樵诔醮伟惭b的過程中,AndroidStudio需要下載與版本匹配的SDK。設(shè)置安裝路徑創(chuàng)建啟動快捷方式安裝AndroidStudio3.安裝AndroidStudio初次安裝AndroidStudio時應(yīng)保持設(shè)備處于聯(lián)網(wǎng)狀態(tài),因?yàn)樵诔醮伟惭b的過程中,AndroidStudio需要下載與版本匹配的SDK。設(shè)置完成安裝完成安裝AndroidStudio4.啟動AndroidStudio

(1)雙擊AndroidStudio的快捷方式,如果之前曾經(jīng)安裝過AndroidStudio,則此時會彈出“ImportAndroidStudioSettings”對話框,一般這里不做修改,單擊“OK”按鈕即可。如果沒有安裝過AndroidStudio,則不會彈出該對話框?!癐mportAndroidStudioSettings”對話框安裝AndroidStudio4.啟動AndroidStudio(2)進(jìn)入“HelpimproveAndroidStudio”對話框,單擊“Don’tsend”按鈕。(3)AndroidStudio啟動后會進(jìn)入歡迎界面,說明AndroidStudio已經(jīng)啟動。歡迎界面“HelpimproveAndroidStudio”對話框創(chuàng)建Android模擬器03PARTAndroid模擬器Android模擬器(AndroidVirtualDevice,AVD)是一種運(yùn)行在計(jì)算機(jī)上的虛擬設(shè)備,使用Android模擬器可以模擬各種Android設(shè)備,在各個AndroidAPI級別上測試Android應(yīng)用程序,而無須擁有各實(shí)體設(shè)備。Android模擬器具有以下優(yōu)勢。(1)靈活性:Android模擬器不僅可以模擬各種設(shè)備和AndroidAPI級別,還可以針對各種Android手機(jī)、WearOS和AndroidTV設(shè)備等提供不同的配置。(2)高還原度:Android模擬器幾乎可以提供真正的Android設(shè)備所具備的所有功能,可以模擬來電和短信、指定設(shè)備的位置、模擬不同的網(wǎng)速、模擬旋轉(zhuǎn)及其他硬件傳感器等。(3)速度快:從某些方面來看,在Android模擬器上測試應(yīng)用程序比在實(shí)體設(shè)備上測試更快、更容易。例如,將數(shù)據(jù)傳輸?shù)紸ndroid模擬器上的速度比傳輸?shù)酵ㄟ^USB連接的設(shè)備上更快。創(chuàng)建Android模擬器(1)進(jìn)入AndroidStudio的歡迎界面,在“MoreActions”下拉列表中選擇“VirtualDeviceManager”選項(xiàng)。選擇“VirtualDeviceManager”選項(xiàng)創(chuàng)建Android模擬器(2)此時打開的是設(shè)備管理器。單擊“CreateDevice”按鈕或單擊“Createvirtualdevice”,即可進(jìn)入Android模擬器的創(chuàng)建過程。設(shè)備管理器創(chuàng)建Android模擬器(3)單擊“CreateDevice”按鈕后會進(jìn)行虛擬設(shè)備配置。虛擬設(shè)備的配置包含硬件配置、系統(tǒng)鏡像配置、設(shè)備名稱等屬性配置。當(dāng)前進(jìn)行的是硬件配置,這里選擇想設(shè)置的設(shè)備類型和設(shè)備型號后,單擊“Next”按鈕。硬件配置創(chuàng)建Android模擬器(4)選擇想安裝在虛擬設(shè)備上的Android系統(tǒng)鏡像。Android系統(tǒng)鏡像代表將要在虛擬設(shè)備上放置的Android的版本,選擇好后單擊“Next”按鈕,進(jìn)行下一步操作。系統(tǒng)鏡像配置創(chuàng)建Android模擬器(5)進(jìn)行設(shè)備名稱等屬性配置??梢愿鶕?jù)個人需要重新設(shè)置設(shè)備的名稱、設(shè)備開機(jī)時的屏幕方向等屬性。設(shè)備名稱等屬性配置創(chuàng)建Android模擬器(6)創(chuàng)建完成后,可看到新建的Android模擬器。新建的模擬器創(chuàng)建Android模擬器Android模擬器主界面(7)單擊按鈕,即可打開一個類似手機(jī)的Android模擬器。創(chuàng)建第一個Android項(xiàng)目04PART認(rèn)識Android項(xiàng)目結(jié)構(gòu)AndroidStudio項(xiàng)目結(jié)構(gòu)類型AndroidStudio提供了多種項(xiàng)目結(jié)構(gòu)類型。單擊圖框線處的下拉按鈕,在打開的下拉列表中可以選擇對應(yīng)的項(xiàng)目結(jié)構(gòu)。認(rèn)識Android項(xiàng)目結(jié)構(gòu)Android項(xiàng)目結(jié)構(gòu)下面介紹Android項(xiàng)目結(jié)構(gòu)??梢钥吹揭粋€Android工程由多個目錄及文件組成,這些目錄及文件分別有不同的作用。(1)manifests:用于存放AndroidManifest.xml項(xiàng)目清單文件,包含項(xiàng)目名稱、版本、SDK、權(quán)限等配置信息。當(dāng)程序運(yùn)行時,系統(tǒng)會根據(jù)清單中的配置信息打開相應(yīng)組件。(2)java:用于存放程序中的所有Java源代碼。在此目錄下可以創(chuàng)建多個不同的包,用來劃分不同功能的Java源文件或Activity。(3)res:Android的資源目錄。項(xiàng)目中使用到的所有布局、字符串、圖片等資源都存放在該目錄下。其中有很多子目錄,布局放在

layout

目錄下,字符串放在values目錄下,圖片放在drawable目錄下,應(yīng)用程序圖標(biāo)放在mipmap目錄下,系統(tǒng)會根據(jù)手機(jī)屏幕分辨率匹配相應(yīng)大小的圖標(biāo)。(4)GradleScripts:用于存放項(xiàng)目創(chuàng)建的相關(guān)文件。運(yùn)行Android應(yīng)用程序運(yùn)行Android應(yīng)用程序有兩種方法,一種是在真實(shí)的Android移動終端中運(yùn)行,移動終端需要打開開發(fā)者模式,同時允許USB調(diào)試,將USB數(shù)據(jù)線插入計(jì)算機(jī)就可以將Android應(yīng)用程序直接運(yùn)行到移動終端中;另一種是通過Android模擬器來運(yùn)行、調(diào)試應(yīng)用程序創(chuàng)建Android模擬器創(chuàng)建校園易APP項(xiàng)目(1)打開AndroidStudio開發(fā)環(huán)境,在菜單欄中選擇“File”→“New”→“NewProject”選項(xiàng),此時會進(jìn)入項(xiàng)目創(chuàng)建界面。創(chuàng)建Activity時有多個模板可供選擇,這些模板都在EmptyActivity模板的基礎(chǔ)上添加了一些簡單的組件。(2)選擇“EmptyViewsActivity”選項(xiàng),單擊“Next”按鈕,進(jìn)入項(xiàng)目配置界面。其中,Name是創(chuàng)建的工程的名稱;Packagename是工程的包名;Savelocation是工程保存的本地路徑;Language為所用的編程語言,這里選擇Java;MinimumSDK為最低支持的Android版本,版本越低,兼容性越好。單擊“Finish”按鈕,完成校園易App工程的創(chuàng)建。項(xiàng)目創(chuàng)建界面項(xiàng)目配置界面認(rèn)識工程中的文件(1)activity_main.xml是Android的布局文件,用于展示Android項(xiàng)目的界面,可以添加任意按鈕、文本框和其他組件,讓程序變得更美觀、更友好;<?xmlversion="1.0"encoding="utf-8"?><androidx.constraintlayout.widget.ConstraintLayoutxmlns:android="/apk/res/android"xmlns:app="/apk/res-auto"xmlns:tools="/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="HelloWorld!"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintLeft_toLeftOf="parent"app:layout_constraintRight_toRightOf="parent"app:layout_constraintTop_toTopOf="parent"/></androidx.constraintlayout.widget.ConstraintLayout>認(rèn)識工程中的文件(2)MainActivity.java是Android的Java源文件,用于實(shí)現(xiàn)用戶與界面的交互功能。packagecom.example.campusassistant;importandroidx.appcompat.app.AppCompatActivity;importandroid.os.Bundle;publicclassMainActivityextendsAppCompatActivity{@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}}認(rèn)識工程中的文件(3)AndroidManifest.xml文件是整個工程的信息描述文件,程序運(yùn)行所必需的組件、權(quán)限,以及一些相關(guān)信息都需要在其中進(jìn)行配置。工程中定義的四大組件都需要在此進(jìn)行注冊,否則會拋出異常信息。<?xmlversion="1.0"encoding="utf-8"?><manifestxmlns:android="/apk/res/android"package="com.example.campusassistant"><applicationandroid:allowBackup="true"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:roundIcon="@mipmap/ic_launcher_round"android:supportsRtl="true"android:theme="@style/AppTheme"><activityandroid:name=".MainActivity"><intent-filter><actionandroid:name="ent.action.MAIN"/><categoryandroid:name="ent.category.LAUNCHER"/></intent-filter></activity></application></manifest>認(rèn)識Activity生命周期05PARTActivity生命周期五種狀態(tài)Activity生命周期是指一個Activity從創(chuàng)建到銷毀的全過程。Android對Activity的管理通過棧實(shí)現(xiàn)。棧的特點(diǎn)是先進(jìn)后出、后進(jìn)先出。棧中保存的就是一個個啟動的Activity,先啟動的窗口先進(jìn)棧,打開的第二個窗口會將第一個窗口向下壓,第一個窗口雖然被遮擋,但仍在內(nèi)存中駐留。由此可以將Activity生命周期分為五種狀態(tài),分別是啟動狀態(tài)、運(yùn)行狀態(tài)、暫停狀態(tài)、停止?fàn)顟B(tài)和銷毀狀態(tài)。Activity生命周期的五種狀態(tài)Activity生命周期回調(diào)方法Activity生命周期涉及七個回調(diào)方法。Activity生命周期模型Activity生命周期回調(diào)方法【案例1-1】Activity生命周期。在Android中新建一個ActivityLife工程,在MainActivity類中重寫Activity生命周期的七個回調(diào)方法,并在每個方法中添加日志,觀察調(diào)用情況。初次啟動Activity掌握程序調(diào)試方法Android初學(xué)者常常會被一些問題困擾,以致在調(diào)試程序時無從下手。為了更快更好地編寫程序,開發(fā)者需要了解AndroidStudio在提升調(diào)試速度方面的一些技巧。(1)Logcat調(diào)試在使用Logcat調(diào)試的過程中,輸出日志信息可能包含許多人們并不關(guān)心的內(nèi)容,如日期、線程ID、包名等。此時,可以單擊Logcat工具欄中的LogcatHeader設(shè)置圖標(biāo),在彈出的“ConfigureLogcatHeader”對話框中可以取消顯示那些可忽略的信息。“ConfigureLogcatHeader”對話框掌握程序調(diào)試方法(2)Toast調(diào)試Toast是AndroidStudio中的一個視圖,用來快速顯示少量信息。在程序運(yùn)行時,該信息會彈出并顯示在屏幕上?!景咐?-2】實(shí)現(xiàn)校園易App歡迎界面。新建工程CampusAssistant并添加一個Toast,用來顯示“WelcometoCampusAssistantApp!”,只需要改動MainActivity的代碼,布局代碼不變。Toast運(yùn)行效果模塊小結(jié)本模塊主要講解了Android的基礎(chǔ)知識,首先介紹了Android的發(fā)展史和體系結(jié)構(gòu);其次講解了AndroidStudio開發(fā)環(huán)境的搭建方法,以及如何創(chuàng)建Android模擬器;再次講解了Android項(xiàng)目結(jié)構(gòu)、運(yùn)行Android應(yīng)用程序及創(chuàng)建Android項(xiàng)目;最后講解了Activity的生命周期,其是Activity在運(yùn)行過程中所處狀態(tài)的集合,在Activity不同的階段會有不同的生命周期回調(diào)方法,可以在Activity類中重寫這些方法,以做到在不同的生命周期中實(shí)現(xiàn)不同的行為。本模塊包含Android開發(fā)的入門知識,讀者需要熟練掌握這些知識,為后續(xù)的學(xué)習(xí)打下良好的基礎(chǔ)。演示結(jié)束.

感謝聆聽Android移動終端應(yīng)用開發(fā)ANDROID校園易App用戶登錄功能實(shí)現(xiàn)目錄Contents設(shè)計(jì)用戶登陸頁面學(xué)習(xí)Android常用組件實(shí)現(xiàn)校園易APP登陸功能教學(xué)目標(biāo)知識目標(biāo)熟悉AndroidStudio常用布局。掌握AndroidStudio約束布局。掌握Android的TextView、EditText、Button、ImageView等組件的屬性和操作方法。技能目標(biāo)能夠設(shè)計(jì)Android應(yīng)用程序界面。能夠?qū)崿F(xiàn)Android應(yīng)用程序用戶登錄功能。素質(zhì)目標(biāo)培養(yǎng)自主學(xué)習(xí)和終身學(xué)習(xí)的能力。培養(yǎng)批判性

思維。培養(yǎng)工程化思維與問題解決能力設(shè)計(jì)用戶登陸頁面01PARTAndroid常用布局Android提供了五種常用布局,分別為相對布局、線性布局、幀布局、表格布局和網(wǎng)格布局。1.相對布局相對布局是一種以父容器和兄弟組件為參照來確定組件位置的布局方式。例如,在圖所示的相對布局中,首先放置組件A;然后放置組件B,讓其位于組件A的下方;最后放置組件C,讓其位于組件A的下方,并位于組件B的右側(cè)。相對布局Android常用布局2.線性布局線性布局是將放入其中的組件按照垂直或水平方向來布局,即控制放入其中的組件橫向排列或縱向排列。其中,縱向排列的布局稱為垂直線性布局;橫向排列的布局稱為水平線性布局,垂直線性布局水平線性布局Android常用布局3.幀布局在幀布局中,每加入一個組件,都將創(chuàng)建一個空白的區(qū)域,該空白的區(qū)域通常稱為一幀,這些幀都會被放置在屏幕的左上角,即幀布局是從屏幕的左上角(0,0)坐標(biāo)點(diǎn)開始布局的。幀布局Android常用布局4.表格布局表格布局與常見的表格類似,其以行、列的形式來管理放入其中的組件。表格布局使用<TableLayout>標(biāo)簽(表格布局管理器)定義。在表格布局管理器中可以添加多個<TableRow

>標(biāo)簽,每個<TableRow>標(biāo)簽占用一行;由于<TableRow>標(biāo)簽也是容器,因此在該標(biāo)簽中還可添加其他組件。表格布局Android常用布局5.網(wǎng)格布局網(wǎng)格布局是在Android4.0中提出的,其使用<GridLayout>標(biāo)簽定義。在網(wǎng)格布局中,屏幕被虛擬的細(xì)線劃分為行、列和單元格,每個單元格中放置一個組件,且該組件可以跨行或跨列擺放。網(wǎng)格布局Android約束布局約束布局具有相對布局的能力,是一種以父容器和兄弟組件為參照來確定組件位置的布局方式,可以將一個組件相對于另一個組件的位置來放置。當(dāng)布局嵌套過多時會出現(xiàn)一些性能問題,之前可以通過相對布局或者網(wǎng)格布局來減少這種布局嵌套的問題,現(xiàn)在可以改用約束布局來減少布局的層級結(jié)構(gòu),還可以按照比例約束控制位置和尺寸,從而更好地適配屏幕大小不同的機(jī)型。約束布局相對父容器定位1.相對定位約束布局相對兄弟組件定位Android約束布局XML屬性描述app:layout_constraintTop_toTopOf將所需視圖的頂部與另一個視圖的頂部對齊app:layout_constraintTop_toBottomOf將所需視圖的頂部與另一個視圖的底部對齊app:layout_constraintBottom_toTopOf將所需視圖的底部與另一個視圖的頂部對齊app:layout_constraintBottom_toBottomOf將所需視圖的底部與另一個視圖的底部對齊app:layout_constraintLeft_toLeftOf將所需視圖的左邊與另一個視圖的左邊對齊app:layout_constraintLeft_toRightOf將所需視圖的左邊與另一個視圖的右邊對齊app:layout_constraintRight_toLeftOf將所需視圖的右邊與另一個視圖的左邊對齊app:layout_constraintRight_toRightOf將所需視圖的右邊與另一個視圖的右邊對齊app:layout_constraintBaseline_toBaselineOf當(dāng)兩個視圖的高度不一致,但是希望它們文本對齊時,可以使用該屬性相對定位的常用XML屬性Android約束布局約束布局的邊距的常用XML屬性XML屬性描述android:layout_marginStart設(shè)置開始位置的距離android:layout_marginEnd設(shè)置結(jié)束位置的距離android:layout_marginLeft設(shè)置左外邊距android:layout_marginTop設(shè)置頂外邊距android:layout_marginRight設(shè)置右外邊距android:layout_marginBottom設(shè)置底外邊距學(xué)習(xí)Android常用組件02PART學(xué)習(xí)TextView組件在Android中,TextView是文本顯示組件,用于在屏幕上顯示文本信息,起提示和說明的作用。TextView組件可以顯示單行文本,也可以顯示多行文本,還可以顯示帶圖像的文本。在XML布局文件中添加文本框的基本語法格式如下。<TextView

屬性列表

/>學(xué)習(xí)TextView組件XML屬性描述android:autoLink指定是否將指定格式的文本轉(zhuǎn)換為可單擊的超鏈接,其屬性值有none、web、email、phone、map和allandroid:drawableBottom在文本框內(nèi)文本的底端繪制指定圖像,該圖像可以是放在res/drawable目錄下的圖片,通過“@drawable/文件名(不包括文件的擴(kuò)展名)”設(shè)置android:drawableLeft在文本框內(nèi)文本的左側(cè)繪制指定圖像,該圖像可以是放在res/drawable目錄下的圖片,通過“@drawable/文件名(不包括文件的擴(kuò)展名)”設(shè)置android:drawableRight在文本框內(nèi)文本的右側(cè)繪制指定圖像,該圖像可以是放在res/drawable目錄下的圖片,通過“@drawable/文件名(不包括文件的擴(kuò)展名)”設(shè)置android:drawableTop在文本框內(nèi)文本的頂端繪制指定圖像,該圖像可以是放在res/drawable目錄下的圖片,通過“@drawable/文件名(不包括文件的擴(kuò)展名)”設(shè)置android:gravity設(shè)置文本框內(nèi)文本的對齊方式,其屬性值有top、bottom、left、right、center_vertical、fill_vertical、center_horizontal、fill_horizontal、center、fill、clip_vertical和clip_horizontal等。這些屬性值可以同時指定,各屬性值之間用“|”隔開。例如,要指定組件靠右下角對齊,可以使用屬性值right|bottomandroid:hint設(shè)置當(dāng)文本框中文本內(nèi)容為空時,默認(rèn)顯示的提示文本android:inputType指定當(dāng)前文本框顯示內(nèi)容的文本類型,其屬性值有textPassword、textEmailAddress、phone和date等。這些屬性值可以同時指定,使用“|”隔開android:singleLine指定該文本框是否為單行模式,其屬性值為true或false。該屬性值為true時表示該文本框不會換行,當(dāng)文本框中的文本超過一行時,其超出的部分將被省略,同時在結(jié)尾處添加“…”android:text指定該文本框中顯示的文本內(nèi)容,可以直接在該屬性值中指定,也可以通過在strings.xml文件中定義文本常量的方式指定android:textColor設(shè)置文本框內(nèi)文本的顏色,其屬性值可以是#rgb、#argb、#rrggbb或#aarrggbb格式指定的顏色值android:textSize設(shè)置文本框內(nèi)文本的字體大小,其屬性值由代表大小的數(shù)值加上單位組成,單位可以是dp、px、pt、sp和in等TextView支持的常用XML屬性學(xué)習(xí)TextView組件【案例2-1】更改TextView組件的顯示文本信息為“姓名+學(xué)號”。(1)方法一:在約束布局中添加TextView組件,布局代碼如下。(2)方法二:在布局頁面中添加TextView組件后,打開資源目錄res/values下的strings.xml文件(此文件為Android中XML文件的變量定義文件),在其中添加一個名稱為txStr的字符串變量,變量值為“22517101劉楊”。(3)方法三:在布局頁面中添加TextView組件后,通過更改Java代碼來更改TextView的顯示文本。

運(yùn)行結(jié)果學(xué)習(xí)EidtText組件Android中提供了TextView和EditText這兩個文本類組件,分別用于在屏幕上顯示和輸入文本信息。其中,EditText是TextView類的子類,TextView用來顯示文本信息。EditText可以用來輸入單行文本和多行文本,還可以用來輸入指定格式的文本(密碼、E-mail、電話號碼等)。在XML布局中添加編輯框的基本語法格式如下。<EditTextandroid:id="@+id/editText"android:layout_width="wrap_content"android:layout_height="wrap_content"android:inputType="text"android:text="EditText"/>學(xué)習(xí)Button組件Button和ImageButton是Android提供的兩種按鈕組件,其中Button是普通的按鈕組件,ImageButton是圖片按鈕組件。它們都可以在界面上產(chǎn)生一個按鈕以響應(yīng)用戶的點(diǎn)擊操作,觸發(fā)一個onClick事件。<Buttonandroid:id="@+id/button"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Button"/>要想知道用戶點(diǎn)擊按鈕的動作,需要在Java代碼中進(jìn)行操作。利用id屬性找到添加的按鈕組件。Buttonbtn=findViewById(R.id.button);為按鈕組件添加點(diǎn)擊事件監(jiān)聽器OnClickListener(),時刻監(jiān)控用戶的操作。一旦有點(diǎn)擊操作,Android就會自動捕捉并調(diào)用監(jiān)聽器的onClick()方法,實(shí)現(xiàn)對用戶點(diǎn)擊操作的處理。btn.setOnClickListener(newView.OnClickListener(){@OverridepublicvoidonClick(Viewview){//用戶點(diǎn)擊按鈕后的操作}});學(xué)習(xí)Button組件【案例2-2】川劇變臉小游戲。在AndroidStudio中創(chuàng)建一個ChangeFace工程,添加一個按鈕使其顯示川劇臉譜,每當(dāng)用戶點(diǎn)擊后切換到下一張臉譜。川劇變臉小游戲效果學(xué)習(xí)ImageView組件ImageView組件表示圖片視圖,用于在屏幕中顯示圖片對象。在使用時,需要將圖片放置在res/drawable目錄下,并應(yīng)用<ImageView>標(biāo)簽將其顯示在布局管理器中。其基本語法格式如下。<ImageView

屬性列表></ImageView>XML屬性描述android:adjustViewBounds設(shè)置ImageView是否調(diào)整自己的邊界來保持所顯示圖片的長寬比android:maxHeight設(shè)置ImageView的最大高度,需要設(shè)置android:adjustViewBounds屬性值為true,否則該屬性不起作用android:maxWidth設(shè)置ImageView的最大寬度,需要設(shè)置android:adjustViewBounds屬性值為true,否則該屬性不起作用ImageView支持的常用XML屬性android:scaleType設(shè)置所顯示的圖片如何縮放或移動以適應(yīng)ImageView的大小,其屬性值可以是matrix(使用matrix方式進(jìn)行縮放)、fitXY(對圖片橫向、縱向獨(dú)立縮放,使得該圖片完全適應(yīng)于該ImageView,圖片的縱橫比可能會改變)、fitStart(保持縱橫比縮放圖片,直至該圖片能完全顯示在ImageView中,縮放完成后該圖片放在ImageView的左上角)、fitCenter(保持縱橫比縮放圖片,直至該圖片能完全顯示在ImageView中,縮放完成后該圖片放在ImageView的中央)、fitEnd(保持縱橫比縮放圖片,直至該圖片能完全顯示在ImageView中,縮放完成后該圖片放在ImageView的右下角)、center(把圖像放在ImageView的中間,但不進(jìn)行任何縮放)、centerCrop(保持縱橫比縮放圖片,以使圖片能完全覆蓋ImageView)或centerInside(保持縱橫比縮放圖片,以使ImageView能完全顯示該圖片)android:src設(shè)置ImageView所顯示的Drawable對象的id屬性值。例如,要想顯示保存在res/drawable目錄下的名稱為flower.jpg的圖片,可以設(shè)置android:src="@drawable/flower"android:tint為圖片著色,其屬性值可以是#rgb、#argb、#rrggbb或#aarrggbb表示的顏色值實(shí)現(xiàn)校園易APP登陸功能03PARTAndroid模擬器本任務(wù)在AndroidStudio中創(chuàng)建Android項(xiàng)目,名稱為CampusAssistant,實(shí)現(xiàn)校園易App的登錄功能。校園易App登錄成功效果模塊小結(jié)本模塊首先介紹了AndroidStudio中的常用布局和約束布局;然后詳細(xì)介紹了Android中的常用組件,包括TextView組件、EditText組件、Button組件、ImageView組件等;最后實(shí)現(xiàn)了校園易App的用戶登錄功能。讀者需要重點(diǎn)掌握Android開發(fā)的步驟和方法、點(diǎn)擊事件監(jiān)聽器的使用方法等。演示結(jié)束.

感謝聆聽Android移動終端應(yīng)用開發(fā)校園易App高級功能實(shí)現(xiàn)ANDROID目錄Contents實(shí)現(xiàn)校園易系統(tǒng)主窗體實(shí)現(xiàn)校園易新增代辦事項(xiàng)實(shí)現(xiàn)班級通告信息瀏覽實(shí)現(xiàn)班級照片瀏覽功能實(shí)現(xiàn)觸摸事件教學(xué)目標(biāo)知識目標(biāo)理解Android適配器的概念。掌握Android高級組件GridView的用法。掌握Android高級組件Spinner的用法。掌握Android高級組件ListView的用法。了解Android高級組件RecyclerView的用法。了解Android觸摸事件處理機(jī)制。技能目標(biāo)具備Android高級組件開發(fā)能力。素質(zhì)目標(biāo)培養(yǎng)獨(dú)立思考能力。培養(yǎng)創(chuàng)造性思維。實(shí)現(xiàn)校園易系統(tǒng)主窗體01PART認(rèn)識適配器在Android界面開發(fā)過程中,經(jīng)常需要使用列表視圖(ListView)、縮略圖瀏覽器(Gallery)、網(wǎng)格(GridView)、下拉列表(Spinner)、自動提示文本框(AutoCompleteTextView)等組件進(jìn)行數(shù)據(jù)的展示。然而,Activity中的數(shù)據(jù)無法直接傳遞給這類組件,要將數(shù)據(jù)在組件上進(jìn)行顯示,必須借助適配器(Adapter)來完成。適配器是連接組件與數(shù)據(jù)源的“橋梁”,用來將數(shù)據(jù)綁定到組件上。適配器的工作流程認(rèn)識適配器默認(rèn)情況下,Android提供了以下幾種常見的適配器,開發(fā)時可以針對數(shù)據(jù)源的不同采用合適的適配器,也可以自定義適配器來完成復(fù)雜功能。(1)ArrayAdapter:支持綁定任意對象數(shù)組到列表中的數(shù)據(jù)適配器,主要用于純文本數(shù)據(jù)的顯示。(2)SimpleAdapter:數(shù)據(jù)源結(jié)構(gòu)比較復(fù)雜,一般為List<Map>類型對象,用于顯示文字和圖片等復(fù)雜信息列表。(3)SimpleCursorAdapter:游標(biāo)適配器,數(shù)據(jù)源一般為數(shù)據(jù)庫中的數(shù)據(jù)。(4)BaseAdapter:以上適配器的公共基類,可以實(shí)現(xiàn)以上適配器的所有功能,且可以自定義適配器來定制每個條目的外觀和功能,使用方法更加靈活。BaseAdapter的數(shù)據(jù)源不定(由用戶自行指定),需要繼承BaseAdapter抽象類。學(xué)習(xí)GridView組件1.GridView組件的概念GridView組件按照行列的網(wǎng)格方式來顯示多個組件,其每一個網(wǎng)格中可以顯示多個組件,與矩陣類似。當(dāng)屏幕上有很多元素(文字、圖片或其他元素)需要顯示時,GridView組件是首選。GridView組件是一個在二維可滾動的網(wǎng)格中展示內(nèi)容的組件,網(wǎng)格中的內(nèi)容通過適配器自動插入布局。GridView組件實(shí)現(xiàn)效果學(xué)習(xí)GridView組件2.GridView組件的XML屬性要使用網(wǎng)格視圖,需要在布局頁面中添加GridView組件,其基本語法格式如下。<GridViewandroid:id="@+id/gridView1"android:layout_width="match_parent"android:layout_height="wrap_content">

</GridView>學(xué)習(xí)GridView組件2.GridView組件的XML屬性XML屬性描述android:columnWidth設(shè)置列的寬度android:gravity設(shè)置對齊方式android:horizontalSpacing設(shè)置各元素的水平間距android:numColumns設(shè)置列數(shù),其屬性值通常為大于1的值。如果只有一列,那么最好使用ListView組件來實(shí)現(xiàn)android:stretchMode設(shè)置拉伸模式,其屬性值可以是none(不拉伸)、spacingWidth(僅拉伸元素的間距)、columnWidth(僅拉伸表格元素本身)或spacingWidthUniform(表格元素本身、元素的間距一起拉伸)android:verticalSpacing設(shè)置各元素的垂直間距學(xué)習(xí)GridView組件2.GridView實(shí)現(xiàn)原理分析GridView組件在布局設(shè)計(jì)時需要設(shè)計(jì)主、子兩個布局,即定義主、子兩個布局文件。其中,主布局為GridView組件所在的主界面布局,用來顯示整體效果;子布局為GridView組件的每個網(wǎng)格布局,用來將多個組件排列顯示。例如,可以在子布局中放入ImageView和TextView兩個組件,分別用來顯示圖片和文字。GridView組件的布局實(shí)現(xiàn)原理實(shí)現(xiàn)系統(tǒng)主窗體利用GridView組件實(shí)現(xiàn)校園易App的系統(tǒng)主窗體,共需要6個步驟。(1)在主布局中定義GridView組件,并設(shè)置其屬性。(2)定義GridView組件中網(wǎng)格子項(xiàng)所使用的子布局文件。(3)在Java文件中創(chuàng)建數(shù)據(jù)集合。(4)定義適配器,并裝載數(shù)據(jù)。(5)綁定GridView和適配器。(6)設(shè)置GridView組件點(diǎn)擊事件監(jiān)聽器。【案例3-1】在AndroidStudio中新建工程文件,按以上6個步驟實(shí)現(xiàn)校園易App的系統(tǒng)主窗體,即包含所有功能(學(xué)校網(wǎng)站、新增待辦事項(xiàng)、工作瀏覽等)的導(dǎo)航展示頁面。實(shí)現(xiàn)校園易新增待辦事項(xiàng)功能02PART學(xué)習(xí)Spinner組件Android中的Spinner組件是一個列表組件,相當(dāng)于網(wǎng)頁中的下拉列表。Spinner組件會提供一系列可選擇的列表項(xiàng),允許用戶從中選擇一個。下拉列表通常用于選擇輸入,如選擇性別、日期等。在AndroidStudio中,可以通過<Spinner>標(biāo)簽在XML布局文件中添加Spinner組件,其基本語法格式如下。<Spinnerandroid:id="@+id/spinner"android:layout_width="match_parent"android:layout_height="wrap_content"/>實(shí)現(xiàn)新增代辦事項(xiàng)功能【案例3-2】實(shí)現(xiàn)校園易App新增待辦事項(xiàng)功能。新增待辦事項(xiàng)效果Logcat窗口顯示效果班級通告信息瀏覽功能03PART學(xué)習(xí)ListView組件ListView組件是Android中常見的視圖組件,主要用途是顯示可在屏幕上查看的記錄,以及提供詳細(xì)信息的向下查看功能,并且能夠根據(jù)數(shù)據(jù)的長度自適應(yīng)屏幕顯示。例如,ListView組件可用于顯示系統(tǒng)設(shè)置或功能內(nèi)容列表等。在AndroidStudio中,可以通過<ListView>標(biāo)簽在XML布局文件中添加ListView組件,其基本語法格式如下。<ListViewandroid:id="@+id/listview"android:layout_width="match_parent"android:layout_height="match_parent"/>實(shí)現(xiàn)班級通告信息瀏覽功能【案例3-3】實(shí)現(xiàn)校園易App班級通告信息瀏覽功能。班級通告信息瀏覽效果校園易班級照片瀏覽功能04PART學(xué)習(xí)RecyclerView組件RecyclerView簡稱RV,其作為ListView和GridView組件的加強(qiáng)版出現(xiàn),是Android應(yīng)用開發(fā)中使用極為廣泛的幾個組件之一,目的是在有限的屏幕上展示大量的內(nèi)容。RecyclerView組件能夠靈活實(shí)現(xiàn)大數(shù)據(jù)集的顯示,可實(shí)現(xiàn)多種復(fù)雜的列表樣式,包括縱向列表視圖、橫向列表視圖、網(wǎng)格視圖、瀑布流視圖,并對它們實(shí)現(xiàn)一些拓展視覺效果??梢园裄ecyclerView組件理解成一塊空間,僅定義一個RecyclerView組件就可以得到這塊空間,具體如何顯示內(nèi)容則需要根據(jù)定義的子布局和適配器決定。RecyclerView組件的主要功能如下。(1)提供了多種LayoutManager,可輕松實(shí)現(xiàn)多種樣式的布局。(2)支持局部刷新。(3)已經(jīng)實(shí)現(xiàn)了View的復(fù)用,不需要類似if(convertView==null)的實(shí)現(xiàn),且回收機(jī)制更加完善。(4)容易實(shí)現(xiàn)添加item、刪除item的動畫效果。(5)容易實(shí)現(xiàn)拖拽、側(cè)滑刪除等功能。實(shí)現(xiàn)班級照片瀏覽功能【案例3-4】實(shí)現(xiàn)校園易App班級照片瀏覽功能。班級照片瀏覽效果實(shí)現(xiàn)觸摸事件05PART學(xué)習(xí)觸摸事件觸摸事件按觸摸點(diǎn)可以分為單點(diǎn)觸摸和多點(diǎn)觸摸,按觸摸動作可以分為按下、放開、移動等。1.按觸摸點(diǎn)分類(1)單點(diǎn)觸摸:只能識別和支持每次一個手指的觸控、點(diǎn)擊,若同時有兩個以上的點(diǎn)被觸碰,則系統(tǒng)不能做出正確反應(yīng)。很多醫(yī)院、圖書館等的大廳中有應(yīng)用這種觸摸技術(shù)的計(jì)算機(jī),支持觸摸屏的手機(jī)、MP3、數(shù)碼相機(jī)等也多采用單點(diǎn)觸摸技術(shù)。(2)多點(diǎn)觸摸:采用人機(jī)交互技術(shù)與硬件設(shè)備共同實(shí)現(xiàn)的技術(shù),能在沒有傳統(tǒng)輸入設(shè)備(如鼠標(biāo)、鍵盤等)的情況下進(jìn)行人機(jī)交互操作。多點(diǎn)觸摸技術(shù)能夠同時接收來自屏幕上多個點(diǎn)的輸入信息。學(xué)習(xí)觸摸事件2.按觸摸動作分類(1)ACTION_DOWN:按下,當(dāng)手指接觸屏幕時產(chǎn)生此事件。在多點(diǎn)觸摸時,只有第一個手指接觸屏幕時才會產(chǎn)生此事件,其他手指接觸屏幕不會產(chǎn)生此事件。其表示一個事件序列的開始。(2)ACTION_UP:放開,當(dāng)手指離開屏幕時產(chǎn)生此事件。在多點(diǎn)觸摸時,只有最后一個手指(該手指并不一定是產(chǎn)生ACTION_DOWN事件的那個手指)離開屏幕時才會產(chǎn)生此事件,其他手指離開屏幕不會產(chǎn)生此事件。其表示一個事件序列的結(jié)束。(3)ACTION_MOVE:移動,當(dāng)手指在屏幕上滑動時產(chǎn)生此事件。在多點(diǎn)觸摸時,每個手指的滑動都會產(chǎn)生一個此事件。(4)ACTION_POINTER_DOWN:只有在多點(diǎn)觸摸時才會產(chǎn)生此事件,在一個事件序列中,除第一個接觸屏幕的手指外,其他手指接觸屏幕時也會產(chǎn)生此事件。(5)ACTION_POINTER_UP:只有在多點(diǎn)觸摸時才會產(chǎn)生此事件,在一個事件序列中,除最后一個離開屏幕的手指外,其他手指離開屏幕時也會產(chǎn)生此事件。(6)ACTION_CANCEL:該事件比較特殊,其和上述事件都不一樣,上述事件都是由用戶在屏幕上的操作所觸發(fā)的,但該事件是由系統(tǒng)自動產(chǎn)生的。當(dāng)一個事件序列需要提前終止時,會由系統(tǒng)自動產(chǎn)生此事件。實(shí)現(xiàn)觸摸功能【案例3-5】通過單點(diǎn)觸摸獲取觸摸點(diǎn)坐標(biāo),同時移動屏幕上的娃娃圖片。娃娃圖片觸摸移動效果Logcat窗口顯示效果模塊小結(jié)在Android中,要想開發(fā)更美觀、交互性更強(qiáng)的App,需要用到Android高級組件,包括GridView、Spinner、ListView和RecyclerView等,同時可以通過適配器整合數(shù)據(jù),并裝載數(shù)據(jù)到高級組件上。本模塊先介紹了以上高級組件,再介紹了觸摸事件,并介紹了使用各高級組件實(shí)現(xiàn)校園易App相應(yīng)功能的方法。演示結(jié)束.

感謝聆聽Android移動終端應(yīng)用開發(fā)校園易App系統(tǒng)功能實(shí)現(xiàn)ANDROID目錄Contents獲取注冊頁面信息實(shí)現(xiàn)校園易學(xué)校網(wǎng)站功能實(shí)現(xiàn)校園易班級新消息提示教學(xué)目標(biāo)知識目標(biāo)掌握AndroidIntent通信機(jī)制。掌握Intent顯式啟動方法。掌握Intent隱式啟動方法。理解Bundle在兩個Activity中值傳遞的方法。掌握Broadcast通信機(jī)制。技能目標(biāo)能夠在Android中啟動新的Activity。能夠利用Android打開網(wǎng)頁、撥打電話。能夠利用Broadcast實(shí)現(xiàn)廣播式通信。素質(zhì)目標(biāo)勇于探索未知領(lǐng)域。培養(yǎng)提出問題和解決問題的能力。獲取注冊頁面信息01PART使用Intent實(shí)現(xiàn)跳轉(zhuǎn)Android中的Intent(意圖)主要用于實(shí)現(xiàn)Android應(yīng)用中各組件之間的通信,這里所說的組件指Activity、Service及Broadcast。對于不同的組件,Android提供了不同的Intent發(fā)送機(jī)制。(1)Activity:Intent對象可以作為參數(shù)傳遞給Context.startActivity()方法或Activity.startActivityForResult()方法,用來啟動Activity或者讓已經(jīng)存在的Activity去做其他任務(wù)。該Intent對象包含要啟動的Activity的信息,以及其他必要的數(shù)據(jù)。(2)Service:Intent對象可以作為參數(shù)傳遞給Context.startService()方法,用來初始化Service或者發(fā)送新指令到正在運(yùn)行的Service。Intent對象還可以作為參數(shù)傳遞給Context.bindService()方法,用來建立調(diào)用組件和目標(biāo)Service之間的連接。該Intent對象包含要啟動的Service的信息,以及其他必要的數(shù)據(jù)。(3)Broadcast:Intent對象可以作為參數(shù)傳遞給Context.sendBroadcast()、Context.sendOrderedBroadcast()或Context.sendStickyBroadcast()等廣播方法,使其被發(fā)送給所有感興趣的BroadcastReceiver。使用Intent實(shí)現(xiàn)跳轉(zhuǎn)Intent有兩種類型,一種是顯式Intent,即明確指出了目標(biāo)組件名稱的Intent;另一種是隱式Intent,即沒有明確指出目標(biāo)組件名稱的Intent。顯式Intent直接用組件的名稱定義目標(biāo)組件,而開發(fā)者往往并不清楚其他應(yīng)用程序的組件名稱,因此顯式Intent更多地用于在應(yīng)用程序內(nèi)部傳遞消息。例如,在某應(yīng)用程序內(nèi),一個Activity啟動一個新的Activity以響應(yīng)用戶的操作,或者啟動一個Service以在后臺下載文件。隱式Intent恰恰相反,其不使用組件名稱定義需要激活的目標(biāo)組件,因此被廣泛地用于在不同應(yīng)用程序之間傳遞消息。Android使用IntentFilter來尋找與隱式Intent相關(guān)的對象。使用Intent實(shí)現(xiàn)跳轉(zhuǎn)在Android中,Activity提供了和用戶交互的可視化界面,因此要想實(shí)現(xiàn)跳轉(zhuǎn)功能,需要先添加一個新的Activity布局頁面,再在Java文件中創(chuàng)建此Activity類并在AndroidManifest.xml文件中進(jìn)行配置,最后利用Intent對象實(shí)現(xiàn)跳轉(zhuǎn)功能。1.創(chuàng)建Activity創(chuàng)建Activity大致可以分為以下兩個步驟。(1)繼承androidx.appcompat.app包中的AppCompatActivity類,或繼承AppCompatActivity的子類。importandroidx.appcompat.app.AppCompatActivity;publicclassSecondActivityextendsAppCompatActivity{}(2)重寫需要的回調(diào)方法。通常情況下,需要重寫Activity的onCreate()方法,并在該方法中調(diào)用setContentView()方法來設(shè)置要顯示的視圖。publicclassSecondActivityextendsAppCompatActivity{@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_second);}}使用Intent實(shí)現(xiàn)跳轉(zhuǎn)2.配置Activity創(chuàng)建Activity后,還需要在AndroidManifest.xml文件中配置該Activity,如果沒有配置該Activity,而又在程序中啟動了該Activity,則系統(tǒng)將拋出圖的Activity未注冊異常。Activity未注冊異常使用Intent實(shí)現(xiàn)跳轉(zhuǎn)Activity的配置方法是在<application></application>標(biāo)簽中添加<activity></activity>標(biāo)簽。<activity>標(biāo)簽的基本語法格式如下。<activityandroid:icon="@drawable/圖標(biāo)文件名"android:name="實(shí)現(xiàn)類"android:label="說明性文字"android:theme="要應(yīng)用的主題"…>

…</activity>使用Intent實(shí)現(xiàn)跳轉(zhuǎn)主題樣式描述android:theme="@android:style/Theme.Dialog"Activity顯示為對話框模式android:theme="@android:style/Theme.NoTitleBar"不顯示應(yīng)用程序標(biāo)題欄android:theme="@android:style/Theme.NoTitleBar.Fullscreen"不顯示應(yīng)用程序標(biāo)題欄,全屏android:theme="@android:style/Theme.Black"黑色背景android:theme="@android:style/Theme.Black.NoTitleBar"黑色背景,無標(biāo)題欄android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"黑色背景,無標(biāo)題欄,全屏android:theme="@android:style/Theme.Light"白色背景android:theme="@android:style/Theme.Light.NoTitleBar"白色背景,無標(biāo)題欄android:theme="@android:style/Theme.Light.NoTitleBar.Fullscreen"白色背景,無標(biāo)題欄,全屏android:theme="@android:style/Theme.Wallpaper"使用系統(tǒng)桌面作為應(yīng)用程序背景android:theme="@android:style/Theme.Wallpaper.NoTitleBar"使用系統(tǒng)桌面作為應(yīng)用程序背景,無標(biāo)題欄android:theme="@android:style/Theme.Wallpaper.NoTitleBar.Fullscreen"使用系統(tǒng)桌面作為應(yīng)用程序背景,無標(biāo)題欄,全屏android:theme="@android:style/Theme.Translucent透明背景android:theme="@android:style/Theme.Translucent.NoTitleBar"透明背景,無標(biāo)題欄android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"透明背景,無標(biāo)題欄,全屏android:theme="@android:style/Theme.Panel"以面板風(fēng)格顯示android:theme="@android:style/Theme.Light.Panel"以平板風(fēng)格顯示Android自帶的主題樣式使用Intent實(shí)現(xiàn)跳轉(zhuǎn)3.實(shí)現(xiàn)跳轉(zhuǎn)功能跳轉(zhuǎn)功能的實(shí)現(xiàn)需要用到Intent的顯式啟動,即在Intent中明確要啟動的Activity的類名稱。通常,針對一個Android項(xiàng)目中第一個啟動的Activity,需要在AndroidManifest.xml文件中進(jìn)行配置,并通過<intent-filter>標(biāo)簽將其設(shè)置為程序入口。<activityandroid:name=".MainActivity"android:exported="true"><intent-filter><actionandroid:name="ent.action.MAIN"/><categoryandroid:name="ent.category.LAUNCHER"/></intent-filter></activity>使用Intent實(shí)現(xiàn)跳轉(zhuǎn)如果有其他的Activity需要啟動,則需要用到Intent和startActivity()方法。(1)創(chuàng)建Intent對象,可以使用以下基本語法格式。其中,第一個參數(shù)為當(dāng)前頁面類,第二個參數(shù)為下一跳轉(zhuǎn)的頁面類。Intentintent=newIntent(ContextpackageContext,Class<?>cls);(2)使用startActivity()方法啟動Activity,傳入剛創(chuàng)建的Intent對象,其基本語法格式如下。publicvoidstartActivity(Intentintent);使用Intent實(shí)現(xiàn)跳轉(zhuǎn)【案例4-1】實(shí)現(xiàn)校園易App用戶登錄成功跳轉(zhuǎn)頁面功能。登錄成功頁面使用Intent實(shí)現(xiàn)數(shù)據(jù)傳遞在啟動Activity時還可以傳遞數(shù)據(jù),可以在Intent對象的putExtra()方法中將要攜帶的數(shù)據(jù)信息保存到Intent對象中,還可以利用Bundle對象將數(shù)據(jù)信息通過鍵值對(key-value)的方式放入Intent對象中。屬性作用Componentname指定處理Intent對象的組件名稱ActionIntent要完成的一個動作Category對執(zhí)行動作的類別進(jìn)行描述Data向Action提供要操作的數(shù)據(jù)Extras向Action提供要操作的附加數(shù)據(jù)Flags提示Android程序如何啟動一個ActivityIntent屬性及其作用使用Intent實(shí)現(xiàn)數(shù)據(jù)傳遞Bundle主要用于傳遞數(shù)據(jù),其保存的數(shù)據(jù)以鍵值對的形式存在。人們經(jīng)常使用Bundle在Activity之間傳遞數(shù)據(jù),傳遞的數(shù)據(jù)可以是byte、int、long、float、string等基本類型的數(shù)據(jù)或它們對應(yīng)的數(shù)組,也可以是對象或?qū)ο髷?shù)組。Bundle提供了putXxx()/getXxx()方法,用于寫/讀基本類型的數(shù)據(jù)。(1)putXxx(Stringkey,Xxxvalue):寫數(shù)據(jù)。(2)getXxx(Stringkey):讀數(shù)據(jù),其根據(jù)key值獲取Bundle中的數(shù)據(jù)。例如,將數(shù)據(jù)存放于Bundle對象中,并添加到Intent對象中的寫數(shù)據(jù)方法如下。Bundlebundle=newBundle();bundle.putstring("username","user");bundle.putInt("password",123456);intent.putExtras(bundle);在跳轉(zhuǎn)后的頁面中通過Intent讀取攜帶數(shù)據(jù)的方法如下。Bundlebundle=this.getIntent().getExtras();stringbundleString=bundle.getstring("username");intbundleInt=bundle.getInt("password");實(shí)現(xiàn)用戶注冊功能【案例4-2】實(shí)現(xiàn)校園易App用戶注冊功能。用戶注冊效果用戶注冊成功數(shù)據(jù)傳遞效果實(shí)現(xiàn)校園易學(xué)校網(wǎng)站功能02PART使用Intent實(shí)現(xiàn)隱式啟動Intent隱式啟動不會指定特定的組件,而是會聲明要執(zhí)行的常規(guī)操作,從而允許其他應(yīng)用中的組件來進(jìn)行處理。使用隱式Intent時,Android通過將Intent的內(nèi)容與在設(shè)備上其他應(yīng)用的清單文件中聲明的Intent過濾器進(jìn)行比較,從而找到要啟動的相應(yīng)組件。如果Intent與Intent過濾器匹配,則Android將啟動該組件,并向其傳遞Intent對象。1.Intent過濾器Intent過濾器是應(yīng)用清單文件中的一個表達(dá)式,用于指定該組件要接收的Intent類型。例如,通過為Activity聲明Intent過濾器,可以使其他應(yīng)用直接使用某一特定類型的Intent啟動Activity。同樣,如果沒有為Activity聲明任何Intent過濾器,則Activity只能通過顯式Intent啟動。<intent-filter>標(biāo)簽的基本語法格式如下。<intent-filterandroid:icon="drawableresource"android:label="stringresource"android:priority="integer">…</intent-filter>使用Intent實(shí)現(xiàn)隱式啟動2.Intent隱式啟動方法Intent隱式啟動需要在創(chuàng)建Intent對象時傳入兩個參數(shù),一個參數(shù)是動作(Action),指定要執(zhí)行的通用操作(查看或選?。┑淖址?,常用的動作常量如表4-3所示;另一個參數(shù)是數(shù)據(jù)(Data),引用待操作數(shù)據(jù)或該數(shù)據(jù)的互聯(lián)網(wǎng)媒體類型的URI(Uri對象),常用的數(shù)據(jù)類型如表4-4所示。例如,如果需要在自己的應(yīng)用程序中展示一個網(wǎng)頁,則可以調(diào)用系統(tǒng)的瀏覽器來打開該網(wǎng)頁,而不必編寫一個瀏覽器,基本代碼如下。Intentintent=newIntent(); //創(chuàng)建Intent對象intent.setAction(Intent.ACTION_VIEW); //為Intent設(shè)置動作intent.setData(Uri.parse("")); //為Intent設(shè)置數(shù)據(jù)startActivity(intent); //將Intent傳遞給Activity使用Intent實(shí)現(xiàn)隱式啟動動作常量描述ACTION_MAIN作為初始的Activity啟動,沒有數(shù)據(jù)輸入/輸出ACTION_VIEW將數(shù)據(jù)顯示給用戶ACTION_ATTACH_DATA指示一些數(shù)據(jù)應(yīng)該附屬于其他地方ACTION_EDIT將數(shù)據(jù)顯示給用戶,供用戶編輯ACTION_PICK從數(shù)據(jù)中選擇一項(xiàng),并返回該項(xiàng)ACTION_CHOOSER顯示Activity選擇器,允許用戶在繼續(xù)前按需選擇ACTION_GET_CONTENT允許用戶選擇特定類型的數(shù)據(jù)并將其返回ACTION_DIAL使用提供的數(shù)據(jù)撥打電話ACTION_CALL使用提供的數(shù)據(jù)給某人撥打電話ACTION_SEND向某人發(fā)送消息,接收者未指定ACTION_SENDTO向某人發(fā)送消息,接收者已指定ACTION_ANSWER接聽電話ACTION_INSERT在給定容器中插入空白項(xiàng)ACTION_DELETE從容器中刪除給定數(shù)據(jù)ACTION_RUN無條件運(yùn)行數(shù)據(jù)ACTION_SYNC執(zhí)行數(shù)據(jù)同步ACTION_PICK_ACTIVITY挑選給定Intent的Activity,返回選擇的類ACTION_SEARCH執(zhí)行查詢ACTION_WEB_SEARCH執(zhí)行聯(lián)機(jī)查詢ACTION_FACTORY_TEST工廠測試的主入口點(diǎn)常用的動作常量使用Intent實(shí)現(xiàn)隱式啟動數(shù)據(jù)類型數(shù)據(jù)格式示例瀏覽網(wǎng)頁http://網(wǎng)頁格式撥打電話tel:電話號碼tel送短信smsto:短信接收號碼smsto找SD卡文件

file:///sdcard/dirfile:///sdcard/Download/1.jpg顯示地圖geo:坐標(biāo),坐標(biāo)geo:36.5,-26.7聯(lián)系人信息content://聯(lián)系人信息content://com.android.contacts常用的數(shù)據(jù)類型使用Intent實(shí)現(xiàn)隱式啟動3.實(shí)現(xiàn)校園易App跳轉(zhuǎn)到學(xué)校網(wǎng)站功能【案例4-3】實(shí)現(xiàn)校園易App跳轉(zhuǎn)到學(xué)校網(wǎng)站功能。跳轉(zhuǎn)前頁面效果學(xué)校網(wǎng)站實(shí)現(xiàn)幫助功能【案例4-4】實(shí)現(xiàn)校園易App幫助功能。點(diǎn)擊按鈕可以自動撥打客服電話,還可以給客服發(fā)送短信。幫助頁面效果撥打電話頁面撥打電話頁面

發(fā)送短信頁面實(shí)現(xiàn)班級新消息提示功能03PART學(xué)習(xí)Android廣播機(jī)制Android發(fā)出的廣播為系統(tǒng)廣播,如通知電量低、拍攝一張照片等。開發(fā)者根據(jù)程序需要自己定義的廣播為用戶自定義廣播。在Android中可以有任意數(shù)量的廣播接收器,用于對所有感興趣的廣播進(jìn)行接收,所有的廣播接收器都繼承BroadcastReceiver基類。廣播接收器沒有用戶界面,但可以啟動一個Activity來響應(yīng)接收到的消息,或者使用一個NotificationManager來通知用戶。1.廣播的種類廣播按屬性分為以下幾種。(1)標(biāo)準(zhǔn)廣播(NormalBroadcast):完全異步的廣播。廣播發(fā)出后,所有的廣播接收器幾乎同時接收到這條廣播。不同的App可以

溫馨提示

  • 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

提交評論