版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
Android應用程序開發(fā)教程——AndroidStudio版第1章Android系統(tǒng)與開發(fā)環(huán)境黑莓和iPhone都提供了受歡迎、高容量的移動平臺,但卻分別針對兩個不同的消費群體。黑莓是企業(yè)業(yè)務(wù)用戶的不二選擇。但是,作為一種消費設(shè)備,它在易用性和新奇性方面難以與iPhone抗衡。Android系統(tǒng)則是一個成熟的、全開放的平臺,它有潛力同時涵蓋移動電話的兩個不同消費群體,甚至可能縮小工作和娛樂之間的差別。Android系統(tǒng)是一個可靠的平臺,它可以經(jīng)濟有效地進行安裝部署和提供支持,并且具有了良好的設(shè)計、開發(fā)環(huán)境。如今Android系統(tǒng)已經(jīng)成為全球應用最廣泛的手機操作系統(tǒng)。三星、HTC、華為和小米手機通過Android平臺獲得了巨大的成功,企業(yè)也對Android開發(fā)人才的需求迅猛增長。Android平臺上的移動開發(fā)在軟件開發(fā)的地位將顯得越來越重要。1.1什么是Android
Android是Google公司專門為移動設(shè)備開發(fā)的平臺,其中包含操作系統(tǒng),中間件和核心應用等。Android早期由AndyRubin(Android之父)創(chuàng)辦。Google于2005年收購了成立約22個月的Android公司,開始了短信、手機檢索、定位等業(yè)務(wù),進入了基于Linux平臺的開發(fā)。Google公司在2007年11月5日正式公布了這個平臺,之后由開放手機聯(lián)盟(OpenHandsetAlliance)開發(fā)。OpenHandsetAlliance組織由一群共同致力于構(gòu)建更好的移動電話的公司組成。這個組織由Google領(lǐng)導,包含了移動運營商、手持設(shè)備制造商、零部件制造商、軟件解決方案和平臺提供商以及市場營銷公司。Android平臺的更新速度很快,第一個版本是Android1.5Cupcake(蛋糕杯)接下來是Android1.6Donut(甜甜圈)、Android2.0/2.0.1/2.1Eclair(法式奶油夾心松餅)、Android2.2/2.2.1Froyo(凍酸奶)、Android2.3Gingerbread(姜餅)、Android3.0Honeycomb(蜂巢)等。截至2016年Android的版本已經(jīng)到了Android6.0Marshmallow(棉花糖)。從Android的發(fā)展看來,它已經(jīng)不再局限于移動應用領(lǐng)域了,它還包含GoogleTV(運行Android系統(tǒng)的電視機)、GoogleAuto(運行Android系統(tǒng)的汽車)、GoogleWear(Google穿戴設(shè)備)、GoogleGlass(Google眼鏡)等設(shè)備。1.1.1Android平臺的架構(gòu)1、Application
最上層是面向用戶的Application(應用程序),包括電話程序、聯(lián)系人程序、瀏覽器、地圖、Email等。2、ApplicationFramework
第二層是ApplicationFramework,為開發(fā)人員提供訪問核心組件所使用的API,包含了豐富的View組件、ContentProviders(內(nèi)容提供器)用來訪問另一個應用程序的數(shù)據(jù)(如聯(lián)系人),或者共享它們自己的數(shù)據(jù)、ResourceManager(資源管理器)提供對資源的訪問(如本地字符串,圖形,布局文件等)、NotificationManager(通知管理器)、ActivityManager(活動管理器)等3、Libraries
第三層是系統(tǒng)運行庫,包含程序庫和Android運行庫。程序庫中包含了一些C/C++庫,通過應用框架為開發(fā)者提供服務(wù),如:Libc(從BSD繼承來的標準C系統(tǒng)函數(shù)庫)、媒體庫、SGL(2D圖形引擎)、3Dlibraries(基于OpenGLES1.0APIs實現(xiàn),可以使用硬件或軟件3D加速)、SQLite(數(shù)據(jù)庫引擎)等等。Android運行庫還包括一個核心庫,該核心庫提供了JAVA編程語言核心庫的大多數(shù)功能。每一個Android應用程序都在自己的進程中運行,都擁有一個獨立的Dalvik虛擬機實例。Dalivk被設(shè)計成一個設(shè)備可以同時高效地運行多個虛擬系統(tǒng)。Dalivk虛擬機執(zhí)行.dex文件(Dalvik的可執(zhí)行文件),該格式文件針對小內(nèi)存使用做了優(yōu)化。同時虛擬機是基于寄存器的,所有類都經(jīng)由JAVA編譯器編譯,然后通過SDK中的dx工具轉(zhuǎn)化成.dex格式,由虛擬機執(zhí)行。Dalivk虛擬機依賴于linux內(nèi)核的一些功能,比如線程機制和底層內(nèi)存管理機制。4、LinuxKernel
最下面一層是Linux核心,Android的核心系統(tǒng)依賴于Linux內(nèi)核,如安全性、內(nèi)存管理、進程管理、網(wǎng)絡(luò)協(xié)議棧和驅(qū)動模型。Android的Linuxkernel也不是GNU/Linux。Android將驅(qū)動程序移到userspace,使得Linuxdriver與Linuxkernel分開。1.1.2Android操作系統(tǒng)的功能顯示布局:Android操作系統(tǒng)支持更大的分辨率,VGA、2D顯示、3D顯示都給予OpenGLES3.0標準規(guī)格(4.3版本開始支持OpenGLES3.0),并且支持傳統(tǒng)的智能手機。數(shù)據(jù)存儲:Android操作系統(tǒng)內(nèi)置SQLite小型關(guān)聯(lián)式資料庫管理系統(tǒng)來負責存儲數(shù)據(jù)。網(wǎng)絡(luò):Android操作系統(tǒng)支持所有的網(wǎng)絡(luò)制式,包括GSM/EDGE、IDEN、CDMA、TD-SCDMA、EV-DO、UMTS、Bluetooth、Wi-Fi、LTE、NFC和WiMAX。信息:作為設(shè)計給智能手機使用的操作系統(tǒng),Android操作系統(tǒng)支持短信和郵件,并且支持所有的云信息和服務(wù)器信息。語言:Android操作系統(tǒng)支持多語言。1.1.2Android操作系統(tǒng)的功能瀏覽器:Android操作系統(tǒng)中內(nèi)置的網(wǎng)頁瀏覽器基于WebKit核心,并且采用了ChromeV8引擎。在Android4.0內(nèi)置的瀏覽器測試中,HTML5和Acid3故障處理中均獲得了滿分,并且于2.2版至4.0版之前能原生支持Flash,4.0版本,后去除對Flash的支持。支持JAVA:雖然Android操作系統(tǒng)中的應用程序大部分都是由JAVA編寫的,但是Android卻是以轉(zhuǎn)換為Dalvikexecutables的文件在Dalvik虛擬機上運行的。由于Android中并不自帶JAVA虛擬機,因此無法直接運行JAVA程序。不過Android平臺上提供了多個JAVA虛擬機供用戶下載使用,安裝了JAVA虛擬機的Android系統(tǒng)可以運行JAVA_ME的程序。5.0版(Lolipop)開始以AndroidRuntime(ART)取代Dalvik虛擬機。媒體支持:Android操作系統(tǒng)本身支持以下格式的音頻/視頻/圖片媒體:WebM、H.263,H.264(in3GPorMP4container)、MPEG-4SP、AMR,AMR-WB(in3GPcontainer)、AAC,HE-AAC(inMP4or3GPcontainer)、MP3、MIDI、OggVorbis、FLAC、WAV、JPEG、PNG、GIF、BMP。如果用戶需要播放更多格式的媒體,可以安裝其他第三方應用程序。流媒體支持:Android操作系統(tǒng)支持RTP/RTSP(3GPPPSS、ISMA)的流媒體以及(HTML5<video>)的流媒體,同時還支持Adobe的Flash,在安裝了RealPlayer之后,還支持蘋果公司的流媒體。1.1.2Android操作系統(tǒng)的功能硬件支持:Android操作系統(tǒng)支持識別并且使用視頻/照片攝像頭、多點電容/電阻觸屏、GPS,加速計、陀螺儀、氣壓計、磁力儀(高斯計)、鍵盤、鼠標、USBDisk、專用的游戲控制器、體感控制器、游戲手把、藍牙設(shè)備、無線設(shè)備、感應和壓力感測器、溫度計,加速2D位位塊傳輸(硬件方向,縮放,像素格式轉(zhuǎn)換)和3D圖形加速。多點觸控:Android支持本地的多點觸控,在最初的HTCHero智能手機上即有這個功能。該功能是內(nèi)核級別(為了避免對蘋果公司的觸屏技術(shù)造成侵權(quán))。藍牙:Android支持A2DP、AVRCP、發(fā)送文件(OPP)、訪問電話簿(PBAP)、語音調(diào)用和方送智能手機之間的聯(lián)系。同時支持鍵盤,鼠標和搖桿(HID)。多任務(wù)處理:Android操作系統(tǒng)支持本地的多任務(wù)處理。語音功能:除了支持普通的電話通話之外,Android操作系統(tǒng)從最初的版本開始就支持使用語音操作來使用Google進行網(wǎng)頁搜索等功能。而從Android2.2開始,語音功能還可以用來輸入文字、語音導航等功能。1.1.2Android操作系統(tǒng)的功能無線共享功能:Android操作系統(tǒng)支持用戶使用本機充當“無線路由器”,并且將本機的網(wǎng)絡(luò)共享給其他智能手機,其他機器只需要通過WiFi查找到共享的無線熱點,就可以上網(wǎng)。而在Android2.2之前的操作系統(tǒng)則需要通過第三方應用或者其他定制版系統(tǒng)來實現(xiàn)這個功能。截圖功能:從Android4.0開始,Android操作系統(tǒng)便支持截圖功能,該功能允許用戶直接抓取智能手機屏幕上的任何畫面,用戶還可以通過編輯功能對截圖進行處理,還可以通過藍牙、E-mail、微博、共享等方式發(fā)送給其他用戶或者上傳到網(wǎng)絡(luò)上,也可以拷貝到電腦中。1.1.3Android的分支平臺AndroidWear:AndroidWear是專為智能手表等可穿戴式設(shè)備所設(shè)計的一個Android系統(tǒng)分支。AndroidTV:AndroidTV是專為家用電視所設(shè)計的一個Android系統(tǒng)分支。AndroidAuto:AndroidAuto是專為汽車所設(shè)計的一個Android系統(tǒng)功能。AndroidGlass:AndroidGlass是專為Google眼鏡所設(shè)計的一個Android系統(tǒng)分支。1.1.4Android平臺五大優(yōu)勢特色開放性掙脫運營商的束縛豐富的硬件選擇不受任何限制的開發(fā)商無縫結(jié)合的Google應用1.2AndroidStudio入門
AndroidStudio是一套Google公司推出的以IntelliJIDEA為基礎(chǔ)的Android集成開發(fā)環(huán)境,目前已經(jīng)免費向Google及Android的開發(fā)人員發(fā)放。為了簡化Android的開發(fā)力度,Google決定將重點建設(shè)AndroidStudio工具。Google會在2015年年底停止支持其他集成開發(fā)環(huán)境,比如Eclipse。AndroidStudio是第一個官方的Android開發(fā)環(huán)境。其他工具,例如Eclipse,在AndroidStudio發(fā)布之前已經(jīng)有了大規(guī)模的使用。為了幫助開發(fā)者轉(zhuǎn)向AndroidStudio,Google已經(jīng)寫出一套遷移指南。Google同時也發(fā)布聲明稱,在接下來的時間里,他們會為AndroidStudio增加一些性能工具,Eclipse里現(xiàn)有的Android工具也會通過Eclipse基金會繼續(xù)支持下去。1.2.1AndroidStudio的特點可視化布局:WYSIWYG編輯器、實時編碼、實時程序界面預覽;開發(fā)者控制臺:優(yōu)化提示、協(xié)助翻譯、來源跟蹤、宣傳和營銷曲線圖、使用率度量;基于Gradle的構(gòu)建支持;Android特定代碼重構(gòu)和快速修復;Lint提示工具更好地對程序性能、可用性、版本兼容和其他問題進行控制捕捉;支持ProGuard和應用簽名功能;基于模板的向?qū)砩沙S玫腁ndroid應用設(shè)計和組件;自帶布局編輯器,可讓開發(fā)者拖放UI組件,并預覽在不同尺寸設(shè)備上的UI顯示效果,等等。支持構(gòu)建AndroidWear、TV和Auto應用內(nèi)置GoogleCloudPlatform,支持GoogleCloudMessaging和AppEngine的集成。1.2.2AndroidStudio系統(tǒng)要求
WindowsOSXLinux操作系統(tǒng)版本MicrosoftWindows10/8.1/8/7/Vista/2003(32或64位)OSX10.8.5或更高版本,最高10.10.5(Yosemite)GNOME、KDE、UnitydesktoponUbuntu、Fedora、GNU/LinuxDebian內(nèi)存最低2GB,推薦4GB內(nèi)存磁盤空間500MB磁盤空間SpaceforAndroidSDK至少1GB用于AndroidSDK,模擬器系統(tǒng)映像和緩存JDK版本JAVADevelopmentKit(JDK)7或更高版本屏幕分辨率最低1280×800屏幕分辨率1.2.3AndroidStudio和EclipseADT比較
特性AndroidStudioEclipseADT編譯系統(tǒng)GradleAnt基于Maven的構(gòu)建依賴是否構(gòu)建變體和多APK生成是否高級的Android代碼完成和重構(gòu)是否圖形布局編輯器是是APK簽名和密鑰庫管理是是NDK支持Beta是1.3搭建Android開發(fā)環(huán)境
1.3.1下載JDK(1)打開游覽器,在地址欄中輸入/index.html,進入Oracel的官方主頁,(2)選擇Downloads選項卡,選擇JAVAforDevelopers,跳轉(zhuǎn)的頁面,單擊JAVAPlatform(JDK)8u73/8u74圖標(3)在新頁面中,同意協(xié)議并根據(jù)計算機硬件和操作系統(tǒng)選擇適當?shù)陌姹具M行下載1.3.2JDK的安裝下載完適合自己操作系統(tǒng)的JDK版本以后,就可以進行安裝了。下面以Windows系統(tǒng)為例,講解JDK的安裝步驟。(1)用鼠標左鍵雙擊JDK安裝包,會出現(xiàn)下圖所示的安裝界面,然后選擇下一步(3)在打開的如圖1.6所示的對話框中,單擊“更改”按鈕,將安裝位置改為C:\JAVA\jdk1.7.0_01(根據(jù)版本決定最后jdk編號)(4)點擊“下一步”出現(xiàn)下圖所示的“正在安裝”界面(5)當彈出如圖1.9所示的JRE安裝路徑選擇對話框時,單擊“更改”按鈕,將安裝路徑改為C:\JAVA\jre7\(6)單擊“下一步”按鈕進行安裝(7)安裝完成后,彈出如圖x.x所示的對話框,單擊完成,結(jié)束安裝1.3.3JDK的環(huán)境變量配置完成了前面的步驟,只是把JDK環(huán)境安裝完成了。這個時候還要通過一系列的環(huán)境變量的配置才能使用JDK環(huán)境進行Android/JAVA開發(fā)。配置環(huán)境變量包括JAVA_home,path和classpath三個部分。(1)用鼠標右擊“我的電腦”,選擇“屬性”->“高級”->“環(huán)境變量”->“系統(tǒng)變量”->“新建”(2)在“變量名”輸入框中寫入“JAVA_home”,在“變量值”輸入框中寫入“C:\JAVA\jdk1.7.0_01”(根據(jù)安裝路徑填寫),然后點擊“確定”,JAVA_home就設(shè)置完成了(3)下面開始“classpath”的配置。選中“系統(tǒng)變量”查看是否有classpath項目,如果沒有就點擊“新建”,如果已經(jīng)存在就選中classpath選項,點擊“編輯”按鈕,然后在“變量名”中填寫“classpath”,在“變量值”中添加“C:\JAVA\jdk1.7.0_01\jre\lib”(根據(jù)安裝路徑填寫)。注意:添加部分與前面用“;”號隔開(4)現(xiàn)在可以進行“path”的配置了。同上與“classpath”設(shè)定時類似,“變量名”輸入框填寫“path”,“變量值”輸入框添加“C:\JAVA\jdk1.7.0_01\bin”(根據(jù)安裝路徑填寫)。注意:添加部分與前面用“;”號隔開(5)JDK的環(huán)境變量已經(jīng)配置完成,可以通過打開命令提示符窗口,輸入命令“JAVA-version”,看到JAVA版本的信息,來確定安裝是否成功。首先點擊“開始”,然后點擊“所有應用程序”->“Windows系統(tǒng)”->“命令提示符”(7)這個時候就進入了“命令提示符”窗口。在命令提示符窗口中輸入“JAVA-version”。注意JAVA和-version之間有一個空格,然后按"Enter"鍵(8)JDK版本信息就全部顯示出來了,也表明JDK已經(jīng)安裝和配置完成,可以開始進行JAVA開發(fā)了1.3.4Windows環(huán)境下安裝AndroidStudio準備工具:JDK安裝包(JDK7及以上版本)AndroidStudio安裝文件。國內(nèi)下載鏈接:/
官網(wǎng)下載鏈接:/sdk/index.html安裝文件:android-studio-bundle-141.2288178-windows.exe(1.1GB)推薦android-studio-ide-141.2288178-windows.exe(348MB)不包含SDKTools說明:1.32位系統(tǒng)和64位系統(tǒng)使用同一個安裝文件 2.如果電腦中有AndroidSDK,可以選擇不包含SDK的安裝版本。 3.如果電腦已經(jīng)安裝過AndroidStudio,可以使用壓縮文件版本。 4.建議使用包含SDK的安裝文件。安裝:這里采用包含SDK的安裝文件進行講解,包含了不包含SDK的安裝文件的安裝步驟。如果你使用不包含SDK的安裝文件進行安裝,安裝步驟只會比這些步驟少而不會多。如果你使用壓縮包安裝,則可以直接跳過本節(jié)內(nèi)容。1.找到下載的安裝文件2.雙擊安裝3.這里我們不選擇下載SDK和模擬器4.選擇SDK的安裝路徑5.設(shè)置快捷方式6.安裝中安裝完成啟動AndroidStudio8.啟動AndroidStudio9.歡迎界面1.3.5Mac環(huán)境下安裝AndroidStudio準備工具:JDK安裝包(JDK7及以上版本)AndroidStudio安裝文件。
國內(nèi)下載鏈接:/
官網(wǎng)下載鏈接:/sdk/index.html安裝文件:android-studio-ide-141.2288178-mac.dmg1.找到下載的安裝文件2.雙擊安裝,直接將AndroidStudio圖標拖入到Application文件夾即可。3.在Launchpad中找到AndroidStudio4.選擇打開5.啟動AndroidStudio6.歡迎界面1.3.6下載、安裝和配置AndroidSDKSDKTools其實就是AndroidSDKManager,管理各種版本SDK的工具。在AndroidSDK中,包含模擬器、教程、API文檔和示例代碼等內(nèi)容。下面以Windows為例詳細講解下載和安裝AndroidSDK的步驟。
(1)打開游覽器,在地址欄中輸入,進入AndroidStudio中文社區(qū)主頁,如圖1.32所示。(2)在主頁中找到SDKTOOLSONLYR24.3.4(當前最新版本),根據(jù)操作系統(tǒng)選擇安裝包進行下載,強烈建議下載主頁推薦版本“installer_r24.3.4-windows.exe(Recommended)”,(3)雙擊下載的程序,彈出如圖1.34所示的安裝向?qū)υ捒颍?)單擊Next按鈕。如果已經(jīng)正確安裝JDK
(5)在圖1.35中單擊Next按鈕,將提示選擇哪種用戶可以使用SDKTools,這里選擇“Installforanyoneusingthiscomputer”(5)在圖1.36中單擊Next按鈕,將顯示AndroidSDK安裝路徑選擇窗口。將安裝路徑修改為“C:\Android\android-sdk”
(6)在圖1.37中,單擊Next按鈕。此時詢問是否在開始菜單中創(chuàng)建快捷方式。單擊Install按鈕開始安裝。(7)這時開始安裝(7)安裝完成后,單擊Next按鈕。(8)單擊Finish按鈕,(9)啟動SDK管理工具。此時會自動聯(lián)網(wǎng)搜索可以下載的API等軟件包(9)為了便于今后在不同平臺中調(diào)試,在搜索完成后選擇安裝全部軟件包(10)在圖1.43中,單擊Installpackages按鈕,安裝選中的軟件(11)單擊Install按鈕,進行安裝1.3.7SDK下載國內(nèi)鏡像在國內(nèi)訪問Google并不便利,如果SDK管理工具自動聯(lián)網(wǎng)Google搜索失敗,可以更改國內(nèi)鏡像進行下載更新:注意:下列鏡像地址可能失效,請自行上網(wǎng)搜索最新鏡像地址。大連東軟信息學院鏡像服務(wù)器地址:
端口:80北京化工大學鏡像服務(wù)器地址:IPv4:/端口:80IPv4:/端口:80IPv6:/端口:80上海GDG鏡像服務(wù)器地址:
端口:8000中國科學院開源協(xié)會鏡像站地址:IPV4/IPV6:端口:80IPV4/IPV6:端口:80IPV4/IPV6:端口:80騰訊鏡像服務(wù)器地址:
端口:8080設(shè)置鏡像方法:(1)啟動AndroidSDKManager,打開主界面,依次選擇“Tools”、“Options...”,彈出“AndroidSDKManager-Settings”窗口,如圖1.45所示。(2)在“AndroidSDKManager-Settings”窗口中,“HTTPProxyServer”和“HTTPProxyPort”輸入框內(nèi)填入上面鏡像服務(wù)器地址和端口,并且選中“Forcehttps://...sourcestobefetchedusinghttp://...”復選框。設(shè)置完成后單擊“Close”按鈕關(guān)閉“AndroidSDKManager-Settings”窗口返回到主界面,(3)依次選擇『Packages』、『Reload』,進行重載。1.3.8第一次打開AndroidStudio的配置(1)AS啟動前,避免第一次打開AS時自動重新下載SDK,請先將AndroidStudio安裝目錄下的bin文件夾中perties文件用記事本打開,在最后排增加一行指令:disable.android.first.run=true
(2)第一次打開AndroidStudio時,需要配置JDK和SDK,雙擊AndroidStudio啟動圖標,打開歡迎對話框,單擊Configure選項(4)在彈出的配置對話框中,單擊ProjectDefaults選項(5)在彈出的項目默認值對話框中單擊ProjectStructure選項(6)在彈出的項目結(jié)構(gòu)對話框中指定之前安裝的SDK和JDK的安裝路徑,完成后單擊Apply,然后單擊OK完成配置1.4Android模擬器Genymotion
1.4.1什么是Genymotion
由于國內(nèi)訪問Google并不便利,無論是離線下載還是在線下載,安裝安卓模擬器變得非常的困難。Genymotion工具提供了一套完整的Android虛擬環(huán)境,迅速成為開發(fā)人員、測試人員、推銷人員甚至游戲玩家的理想選擇。Genymotion支持Windows、Mac以及Linux操作系統(tǒng),它易于安裝、易于運行。其通過功能強大的傳感器來測試你的應用程序,并且完美的融入整個開發(fā)環(huán)境1.4.2Genymontion的特性最好的Android模擬體驗支持OpenGL加速,提供最好的3D性能體驗可以從GooglePlay安裝應用支持全屏并改善了使用感受全控制可同時啟動多個模擬器支持傳感器管理,如電池狀態(tài)、GPS、Accelerator加速器支持Shell控制模擬器完全兼容ADB,您可以從主機控制您的模擬器管理設(shè)備易安裝兼容MicrosoftWindows32/64bits,MacOSX10.5+andLinux32/64bits可以配置模擬器參數(shù),如屏幕分辨率、內(nèi)存大小、CPU數(shù)量輕松下載、部署最新的Genymotion虛擬設(shè)備。從Eclipse啟動虛擬設(shè)備使用Genymotion測試您的應用1.4.3Genymotion運行環(huán)境要求需要滿足以下操作系統(tǒng)之一:MicrosoftWindowsVista(32/64bits)及更高版本LinuxUbuntu12.04(32/64bits)及更高版本LinuxDebianWheezy64bits及更高版本MacOSX10.8(64bit)及更高版本系統(tǒng)環(huán)境要求支持OpenGL2.0CPU支持VT-x或者AMD-V虛擬化,通過BIOS設(shè)置開啟至少2GB內(nèi)存至少提供400MB的硬盤空間供Genymotion安裝,至少2GB硬盤空間用來部署Genymotion虛擬設(shè)備。有些可能需要8G以上,這主要取決于您安裝在虛擬機里的應用程序??捎镁W(wǎng)絡(luò)連接(用于安裝和更新)系統(tǒng)顯示分辨率不低于1024x768應用程序要求OracleVirtualBox>=4.1(版本越高越好)1.4.4注冊和下載Genymotion模擬器
(1)注冊Genymotion賬號:打開游覽器,在地址欄中輸入“”,如圖1.52進入官網(wǎng),單擊Signin按鈕進入登陸界面。(2)然后單擊Accountancreation按鈕創(chuàng)建個人賬號,依次填寫用戶名、電子郵件、密碼、選擇公司規(guī)模(可選項)、用途類型(可選項),最后一項“Iaccepttermsoftheprivacystatement”(同意條款)單選項打勾。(2)注冊成功后,頁面將彈出如圖1.54所示界面,顯示了你注冊的Genymotion賬號(你注冊時使用的email地址),同時注冊成功后系統(tǒng)會發(fā)送一封郵件到你的郵箱,請一定要打開郵件完成驗證。(3)回到主頁,單擊屏幕中間的Chooseaplan按鈕,進入Genymotion下載界面(4)在跳轉(zhuǎn)界面中,單擊Individual按鈕,進入個人下載界面(5)Genymotion對于個人學習使用是免費的,對于專業(yè)個人和對于多于2人的小型公司將收取136美元一年的年費收費。單擊BASIC欄下的Getstarted按鈕,進行免費下載,(6)在如圖1.58的下載界面中根據(jù)個人計算機硬件和操作系統(tǒng)類型選擇適合的安裝文件,下面以windows系統(tǒng)為例進行講解。計算機沒有安裝過Virtualbox的用戶建議下載withVirtualbox版本,如圖1.58所示單擊DownloadforWindows按鈕完成下載。1.4.5安裝Genymotion模擬器(1)雙擊運行下載的Genymotion安裝文件,選擇中文語言并點擊Next按鈕(2)可更改安裝路徑,點擊瀏覽Browse..按鈕,軟件默認的路徑為“C:\ProgramFiles\Genymobile\Genymotion”,然后單擊Next按鈕(3)在彈出框選擇是否創(chuàng)建快捷菜單“Don'tcreateaStartMenufolder”,然后點擊Next按鈕(4)在彈出框選擇是否創(chuàng)建桌面快捷方式“Createadesktopicon”,點擊Next-->Install-->Finish按鈕(5)在安裝完Genymotion后,會繼續(xù)安裝VirtualBox。在VirtualBox安裝界面,點擊Next按鈕(6)點擊瀏覽Browse..按鈕以更改Location的地址,VirtualBox軟件默認路徑為“C:\ProgramFiles\Oracle\VirtualBox\”,然后Next按鈕(7)然后詢問是否現(xiàn)在安裝,選擇yes按鈕,(8)單擊Install開始安裝,然后單擊Finish按鈕完成安裝。1.4.6使用Genymotion模擬器(1)第一次進入Genymotion,系統(tǒng)會檢查你是否有安卓虛擬設(shè)備。如果沒有安裝則會彈出對話框,詢問你是否現(xiàn)在添加一個虛擬設(shè)備(2)創(chuàng)建一個新的虛擬設(shè)備“Createanewvirtualdevice”。需要你輸入用戶名和密碼驗證。如:qq郵箱*******@(注意:如果驗證不通過,請到郵箱確認是否已經(jīng)驗證過)(3)驗證成功后,可以看到有很多虛擬設(shè)備,如:SamsungGalaxyS3,S4等。選擇想添加的虛擬設(shè)備,選擇后點擊Next按鈕(4)下載安裝,等到下載到100%.點擊Finish按鈕(5)回到主窗口,選擇一個我們已經(jīng)添加的模擬器,點擊啟動按鈕啟動模擬器。(7)啟動虛擬機1.4.7給AndroidStudio安裝Genymotion插件(1)打開AndroidStudio,依次選擇菜單項File
Settings(2)在打開的Settings對話框中找到Plugs設(shè)置項,單擊右側(cè)的Browserepositories…選項(3)在搜索欄中輸入Genymotion關(guān)鍵字,自動在右邊的框中將顯示已經(jīng)搜索到的插件,單擊Installplugin安裝(4)然后如圖1.76所示開始下載。(6)初次單擊圖標還需要設(shè)置一下Genymotion的安裝目錄(7)設(shè)置好安裝目錄,再次單擊工具欄上的圖標就進行模擬器的設(shè)置和啟動,選中下載的模擬器然后單擊Start…以啟動模擬器1.5新建一個HelloWorld項目。配置好JDK和AndroidSDK后,就可以開始新建Android項目了,具體步驟如下。啟動AndroidStudio,打開歡迎對話框,單擊StartanewAndroidStudioproject選項(2)在Appicationname文本框中輸入HelloWorld,在CompanyDomains文本框中輸入(根據(jù)自己需要改為姓名拼音.com或公司英文名稱.com),在Projectlocation文本框中選擇項目保存路徑,然后點擊Next按鈕3)在彈出的對話框中選擇PhoneandTablet選項,MinimumSDK選項中選擇運行Android最低SDK版本要求(此處以API:18Android4.3(JellyBean)為例),然后單擊Next按鈕(4)在彈出的對話框中選擇EmptyActivity選項,然后單擊Next按鈕(5)在彈出的對話框中單擊Finish按鈕(此對話框?qū)⒃O(shè)置Activity、Layout的名稱,建議初學者不要修改此對話框的默認設(shè)置)(6)加載新創(chuàng)建的AndroidStudio項目(7)創(chuàng)建好項目后會出現(xiàn)如圖1.86的編輯界面。(8)啟動Genymotion模擬器:單擊AndroidStudio工具條中的按鈕,彈出如圖1.87對話框,選擇一個已經(jīng)下載的模擬器平臺,然后單擊Start...按鈕。(9)模擬器平臺啟動成功后彈出如圖1.88的手機模擬界面,滑動屏幕鎖以解鎖屏幕(10)單擊AndroidStudio工具條中的按鈕,彈出如圖1.90所示的項目運行方式選擇對話框。確認有剛才運行的Genymotion模擬器,然后單擊OK按鈕11)在模擬器中查看HelloWorld項目的運行效果
Android應用程序開發(fā)教程——AndroidStudio版第2章AndroidUI設(shè)計2.1AndroidUI布局
AndroidUI布局一般使用布局管理器、ListView(列表視圖)和GridView(網(wǎng)格視圖)三種,下面對它們分別進行詳細介紹。2.1.1布局管理器Android布局管理器可以很方便地控制各個組件的位置和大小,同時根據(jù)屏幕大小,管理容器內(nèi)的控件,自動適配組件在手機屏幕中的位置。Android中提供了如圖2.1和圖2.2所示的7種布局管理器:FrameLayout(幀布局管理器),LinearLayout(Horizontal)(水平線性布局管理器),LinearLayout(Vertical)(垂直線性布局管理器),TableLayout(表格布局管理器),TableRow(表格行布局管理器),GridLayout(網(wǎng)格布局管理器),RelativeLayout(相對布局管理器)。AndroidStudio中的7種布局管理器在一個Android應用程序中,用戶界面通過View和ViewGroup對象構(gòu)建。Android中有很多種View和ViewGroup,他們都繼承自View類。View對象是Android平臺上表示用戶界面的基本單元。我們所說的布局方式是指一組View元素如何布局,準確的說是一個ViewGroup中包含的一些View怎么樣布局。我們要介紹的View的布局方式的類,都是直接或間接繼承自ViewGroup類【例2.1】FrameLayout(幀布局管理器)實例
步驟描述1打開AndroidStudio創(chuàng)建一個Android應用,Applicationname(應用名)取名為FrameLayout,CompanyDomain(公司域)取名為E。2MinimumSDK選擇API18:Android4.3(JellyBean)。3選擇EmptyActivity。4不需要修改ActivityName,使用默認值,單擊Finish(完成)。5啟動Genymotion模擬器,然后在Android工程中做如下代碼修改?!纠?.2】LinearLayout(Horizontal/Vertical)(水平/垂直線性布局管理器)實例步驟描述1打開AndroidStudio創(chuàng)建一個Android應用,Applicationname(應用名)取名為LinearLayout,CompanyDomain(公司域)取名為E。2MinimumSDK選擇API18:Android4.3(JellyBean)3選擇EmptyActivity4不需要修改ActivityName,使用默認值,單擊Finish(完成)5啟動Genymotion模擬器,然后在Android工程中做如下代碼修改?!纠?.3】TableLayout(表格布局管理器)、TableRow(表格行布局管理器)實例步驟描述1打開AndroidStudio創(chuàng)建一個Android應用,Applicationname(應用名)取名為TableLayout,CompanyDomain(公司域)取名為E。2MinimumSDK選擇API18:Android4.3(JellyBean)。3選擇EmptyActivity。4不需要修改ActivityName,使用默認值,單擊Finish(完成)。5啟動Genymotion模擬器,然后在Android工程中做如下代碼修改。【例2.4】RelativeLayout(相對布局管理器)實例
步驟描述1打開AndroidStudio創(chuàng)建一個Android應用,Applicationname(應用名)取名為RelativeLayout,CompanyDomain(公司域)取名為E。2MinimumSDK選擇API18:Android4.3(JellyBean)。3選擇EmptyActivity。4不需要修改ActivityName,使用默認值,單擊Finish(完成)5啟動Genymotion模擬器,然后在Android工程中做如下代碼修改。2.2ListView(列表視圖)
ListView(列表視圖)是Android中常用的UI組件之一,它將以垂直列表的形式列出要顯示的列表項目。一般來說ListView都是和Adapter(適配器)一起配合使用,數(shù)組數(shù)據(jù)或者數(shù)據(jù)庫數(shù)據(jù)都將通過Adapter把值傳遞給ListView組件。圖2.10中顯示出了ListView運行后的效果圖。Adapter實際上是UI組件和數(shù)據(jù)源之間的一座橋梁,Adapter把數(shù)據(jù)從數(shù)據(jù)源中得到后將傳遞給AdapterView(適配器視圖),AdapterView則將數(shù)據(jù)呈現(xiàn)在如Spinner(列表選擇框)、ListView(列表視圖)、GrideView(網(wǎng)格視圖)等UI組件中。實際上ListView、GrideView是AdapterView的子類,他們通常和一個Adapter在一起使用,Adapter負責收集外部數(shù)據(jù),然后再把數(shù)據(jù)項以View的形式顯示在界面上。Android提供了好幾種類型的Adapter,他們都是Adapter的子類,常用的Adapter類型有:ArraryAdapter(數(shù)組適配器)、BaseAdapter(基本適配器)、CursorAdapter(游標適配器)、SimpleCursorAdapter(簡單游標適配器)、SpinnerAdapter(列表適配器)和WrapperListAdapter(封裝列表適配器)。不同的適配器將用于綁定不同類型的數(shù)據(jù),比如ArraryAdapter就適合綁定數(shù)組數(shù)據(jù)。2.2.1ListView(列表視圖)的常用屬性屬性描述android:id用于設(shè)置ListView的名稱android:divider用于為ListView設(shè)置分割條,既可以用顏色分割,也可以用Drawable資源分割android:dividerHeight用于設(shè)置分割條的高度android:entries用于通過數(shù)組資源為ListView指定列表項android:footerDividersEnabled用于設(shè)置是否在footerview之前繪制分割條,默認為true,設(shè)置為false時,表示不繪制。需要通過ListView(列表視圖)提供的addFooterView()方法為ListView(列表視圖)添加footerviewandroid:headerDividersEnabled用于設(shè)置是否在headerview之前繪制分割條,默認為true,設(shè)置為false時,表示不繪制。需要通過ListView(列表視圖)提供的addHeaderView()方法為ListView(列表視圖)添加headerview2.2.2ArraryAdapter(數(shù)組適配器)當你需要為一個控件賦值,而賦值的數(shù)據(jù)源是一個數(shù)組時,就應該考慮使用ArraryAdapter(數(shù)組適配器)。首先創(chuàng)建一個適配器對象,然后使用ArraryAdapter類的構(gòu)造方法ArrayAdapter(Contextcontext,inttextViewResourceId,T[]objects)實例化一個ArrayAdapter對象。具體代碼如下:
string[]StringArray=newString[]{“學生”,“老師”,“工作人員”,}ArrayAdapteradapter=newArrayAdapter<String>(this,R.layout.ListView,StringArray);
當你創(chuàng)建好一個ArraryAdapter后,就可以簡單的通過ListView的setAdapter()方法進行調(diào)用,代碼如下:
ListViewlistView=(ListView)findViewById(R.id.listview);listView.setAdapter(adapter);【例2.5】ListView(列表視圖)實例
步驟描述1打開AndroidStudio創(chuàng)建一個Android應用,Applicationname(應用名)取名為ListDisplay,CompanyDomain(公司域)取名為E。2MinimumSDK選擇API18:Android4.3(JellyBean)。3選擇EmptyActivity。4不需要修改ActivityName,使用默認值,單擊Finish(完成)。5在工程中找到ras/layout目錄中的activity_main.xml文件,在其中添加一個ListView(列表視圖)控件。6在ras/layout目錄下添加一個名為activity_listview.xml的文件。這個xml文件將用于顯示所有的列表項,你可以用這個文件來對字體,間距,顏色等進行自定義。7啟動Genymotion模擬器,然后在Android工程中做如下代碼修改。2.3GridView(網(wǎng)格視圖)
GridView(網(wǎng)格視圖)也是Android中常用的UI組件之一,它是按照行、列分布的方式來顯示多個組件的,通常用于顯示圖片或圖標等。圖2.12中顯示出GridView運行后的效果圖2.3.1GridView(網(wǎng)格視圖)的常用屬性屬性描述android:id用于設(shè)置GridView的名稱android:columnWidth用于設(shè)置列的寬度android:gravity用于設(shè)置對齊方式android:horizontalSpacing用于設(shè)置各元素之間的水平間距android:numColumns用于設(shè)置列數(shù),其屬性值通常大于1,如果值較大比如100或者為auto_fit,則將在可用空間中顯示盡量多的列數(shù)。android:stretchMode用于設(shè)置拉伸模式,其中屬性可以為:none:不拉伸spacingWidth:僅拉伸元素之間的間距columnWidth:僅拉伸表格元素本身spacingWidthUniform:表格元素本身、元素之間的間距一起拉伸android:verticalSpacing用于設(shè)置各元素之間的垂直間距【例2.6】GridView(網(wǎng)格視圖)實例步驟描述1打開AndroidStudio創(chuàng)建一個Android應用,Applicationname(應用名)取名為GridDisplay,CompanyDomain(公司域)取名為E。2MinimumSDK選擇API18:Android4.3(JellyBean)。3選擇EmptyActivity。4不需要修改ActivityName,使用默認值,單擊Finish(完成)。5在工程中找到ras/layout目錄中的activity_main.xml文件,在其中添加一個GridView(網(wǎng)格視圖)控件。6將圖片sample0.jpg,sample1.jpg,sample2.jpg,sample3.jpg,sample4.jpg,sample5.jpg,sample6.jpg和sample7.jpg復制粘貼到工程目錄res/drawable目錄下。7在java/com.example.griddisplay目錄下創(chuàng)建一個繼承于BaseAdapter(基本適配器)類的ImageAdapter(圖片適配器)子類,取名為ImageAdapter.java,用于為GridView(網(wǎng)格視圖)控件提供圖片數(shù)據(jù)。8啟動Genymotion模擬器,然后在Android工程中做如下代碼修改?!纠?.7】GridView(網(wǎng)格視圖)實例擴展
步驟描述1打開AndroidStudio選擇OpenanexistingAndroidStudioproject(打開現(xiàn)有AndroidStudio工程),打開【例2.6】的現(xiàn)有實例。2在java/com.example.griddisplay目錄下新建一個Activity類命名為SingleViewActivity.java,修改代碼如下所示。3在res/layout目錄下新建一個XML布局文件命名為single_view.xml。4在manifests目錄下的AndroidManifest.xml文件中為新建的activity注冊,添加代碼如下所示。5啟動Genymotion模擬器,然后在Android工程中做如下代碼修改。2.2AndroidUI控件
Android應用程序的人機交互界面由很多Android組件組成。Android提供了很多UI控件,比如圖2.16所示的部分常用UI控件:TextView(文本框)、Buttons(按鈕)、CheckBox(多選框)、RadioButton(單選框)、ToggleButton(開關(guān)按鈕)、RatingBar(星級評分條)等2.2.1TextView(文本框)
TextView常用屬性
以下是TextView的常用屬性,關(guān)于該控件的其他屬性,可以參閱Android官方提供的完整的API文檔。屬性描述android:id用于設(shè)置文本框的名稱android:capitalize用于設(shè)置輸入英文字母是否自動變?yōu)榇髮懽帜?表示不自動變?yōu)榇髮懽帜?表示一句話的首字母自動變?yōu)榇髮懽帜?表示每個單詞的首字母自動變?yōu)榇髮懽帜?表示所有字母自動變?yōu)榇髮懽帜竌ndroid:cursorVisible當可以編輯時,光標是否顯示true表示光標顯示flase表示光標不顯示(默認值)android:editable如果設(shè)置為true,表示文本框可以進行編輯android:fontFamily用于設(shè)置文本框的字體樣式android:gravity用于設(shè)置文本框的對齊方式,可選值有top、left、right、center_vertical、fill_vertical、center_horizontal、fill_horizontal、center、fill、clip_vertical和clip_horizontal等。這些屬性值也可以同時設(shè)定,各屬性值之間用豎線隔開。例如要指定組件靠右下角對齊,可以使用屬性值right|bottomandroid:hint用于設(shè)置當文本框中文本內(nèi)容為空時,默認顯示的提示文本android:inputType用于指定當前文本框顯示內(nèi)容的文本類型,其可選值有textpassword、textEmailAddress、phone和date等,可以同時指定多個,使用“|”豎線隔開。android:maxHeight用于設(shè)置文本框的最大高度android:maxWidth用于設(shè)置文本框的最大寬度android:minHeight用于設(shè)置文本框的最小高度android:minWidth用于設(shè)置文本框的最小高度android:password用于設(shè)置當文本框可以編輯時,里面的文本是否顯示為隱藏密碼樣式“.”,顯示為true,不顯示為falseandroid:phoneNumber用于設(shè)置當文本框可以編輯時,里面的文本是否顯示為電話號碼樣式,顯示為true,不顯示為falseandroid:text用于指定文本框中顯示的文本內(nèi)容android:textAllCaps用于設(shè)置文本框中的英文字母是否全部變?yōu)榇髮懽帜?,變成大寫字母為true,不變成大寫字母為falseandroid:textColor用于設(shè)置文本框內(nèi)文本的顏色,其屬性值可以是"#rgb"、"#argb"、"#rrggbb"或"#aarrggbb"android:textColorHighlight用于設(shè)置文本框內(nèi)文本的顏色是否高亮android:textColorHint用于設(shè)置文本框提示信息的顏色,其屬性值可以是"#rgb"、"#argb"、"#rrggbb"或"#aarrggbb"android:textIsSelectable用于設(shè)置當文本框不可以編輯時,文本框中的文字是否可以被選中,true為可以,false為不可以android:textSize用于設(shè)置文本框中文本的字體大小,其屬性由代表大小的數(shù)值和單位組成,其單位可以是px、pt、sp和in等android:textStyle用于設(shè)置文本框中文本的樣式,可以同時指定多個,使用“|”豎線隔開0表示正常1表示加粗2表示斜體【例2.8】TextView(文本框)實例
步驟描述1打開AndroidStudio創(chuàng)建一個Android應用,Applicationname(應用名)取名為TextView,CompanyDomain(公司域)取名為E。2MinimumSDK選擇API18:Android4.3(JellyBean)。3選擇EmptyActivity。4不需要修改ActivityName,使用默認值,單擊Finish(完成)。5在工程中找到ras/layout目錄中的activity_main.xml文件,在其中添加一個TextView控件。7啟動Genymotion模擬器,然后在Android工程中做如下代碼修改。2.2.2EditText(編輯框)
屬性描述android:autoText如果被選中表示對編輯框中的文本自動更正拼寫錯誤android:drawableBottom用于在編輯框內(nèi)文本的低端繪制指定圖片,該圖片可以是放在res/drawable目錄下的圖片,通過“@drawable/文件名(不包括文件的擴展名)”設(shè)置android:drawableRight用于在編輯框內(nèi)文本的右側(cè)繪制指定圖片,該圖片可以是放在res/drawable目錄下的圖片,通過“@drawable/文件名(不包括文件的擴展名)”設(shè)置android:editable用于設(shè)置編輯框是否能被編輯,默認值為trueandroid:text用于設(shè)置編輯框中默認顯示的文本屬性描述android:background用于設(shè)置編輯框的背景圖片,該圖片可以是放在res/drawable目錄下的圖片,通過“@drawable/文件名(不包括文件的擴展名)”設(shè)置android:contentDescription用于設(shè)置編輯框的簡單描述文字android:id用于設(shè)置編輯框的名稱android:onClick用于設(shè)置單擊事件響應方法的方法名android:visibility用于設(shè)置編輯框是否可見【例2.9】EditText(編輯框)實例
步驟描述1打開AndroidStudio創(chuàng)建一個Android應用,Applicationname(應用名)取名為EditText,CompanyDomain(公司域)取名為E。2MinimumSDK選擇API18:Android4.3(JellyBean)。3選擇EmptyActivity。4不需要修改ActivityName,使用默認值,單擊Finish(完成)。5在工程中找到ras/layout目錄中的activity_main.xml文件,在其中添加一個EditText(編輯框)控件。7啟動Genymotion模擬器,然后在Android工程中做如下代碼修改。2.2.3AutoCompleteTextView(自動填充文本框)
AutoCompleteTextView(自動填充文本框)用于實現(xiàn)允許用戶輸入一定的字符后,顯示一個下拉菜單,供用戶從中選著,當用戶選擇某個選項后,按用戶選擇自動填寫文本框?qū)傩悦枋鯽ndroid:completionHint用于為彈出的下拉菜單指定提示標題android:completionHintView用于設(shè)置彈出的下拉菜單底部信息的樣式android:completionThreshold用于指定用戶至少輸入幾個字符才會顯示提示android:dropDownAnchor它的值是一個View的ID,指定后AutoCompleteTextView會在這個View下彈出自動提示android:dropDownHeight用于指定下拉菜單的高度android:dropDownHorizontalOffset用于指定下拉菜單與文本之間的水平偏移。下拉菜單默認與文本框左對齊android:dropDownSelector用于設(shè)置下拉菜單顯示效果android:dropDownVerticalOffset用于設(shè)置下拉菜單與文本之間的垂直偏移。下拉菜單默認緊跟文本框android:dropDownWidth用于設(shè)置下拉菜單的寬度android:popupBackground用于設(shè)置下拉菜單設(shè)置背景【例2.10】AutoCompleteTextView(自動填充文本框)實例
步驟描述1打開AndroidStudio創(chuàng)建一個Android應用,Applicationname(應用名)取名為AutoCompleteTextView,CompanyDomain(公司域)取名為E。2MinimumSDK選擇API18:Android4.3(JellyBean)。3選擇EmptyActivity。4不需要修改ActivityName,使用默認值,單擊Finish(完成)。5在工程中找到ras/layout目錄中的activity_main.xml文件,在其中添加一個AutoCompleteTextView(自動填充文本框)控件。7啟動Genymotion模擬器,然后在Android工程中做如下代碼修改。2.2.4Button(普通按鈕)
Button(普通按鈕)用于在UI界面上生成一個可以單擊的按鈕。當用戶單擊按鈕時,將會觸發(fā)一個onClick事件,可以通過為按鈕添加的單擊事件監(jiān)聽器指定所要觸發(fā)的動作。屬性描述android:autoText如果被選中表示對按鈕上顯示的文本進行自動更正拼寫錯誤android:drawableBottom用于在按鈕上顯示文本的低端繪制指定圖片,該圖片可以是放在res/drawable目錄下的圖片,通過“@drawable/文件名(不包括文件的擴展名)”設(shè)置android:drawableRight用于在按鈕上顯示文本的右側(cè)繪制指定圖片,該圖片可以是放在res/drawable目錄下的圖片,通過“@drawable/文件名(不包括文件的擴展名)”設(shè)置android:enabled用于設(shè)置按鈕是否可用android:text用于設(shè)置按鈕上顯示的文字屬性描述android:background用于設(shè)置按鈕的背景圖片,該圖片可以是放在res/drawable目錄下的圖片,通過“@drawable/文件名(不包括文件的擴展名)”設(shè)置android:contentDescription用于設(shè)置按鈕的簡單描述文字android:id用于設(shè)置按鈕的名稱android:onClick用于設(shè)置單擊事件響應方法的方法名android:visibility用于設(shè)置按鈕控件是否可見【例2.11】Button(普通按鈕)實例步驟描述1打開AndroidStudio創(chuàng)建一個Android應用,Applicationname(應用名)取名為Button,CompanyDomain(公司域)取名為E。2MinimumSDK選擇API18:Android4.3(JellyBean)。3選擇EmptyActivity。4不需要修改ActivityName,使用默認值,單擊Finish(完成)。5在工程中找到ras/layout目錄中的activity_main.xml文件,在其中添加一個TextView(文本框)控件、一個ImageButton(圖片按鈕)、一個EditText(編輯框)和一個Button(普通按鈕)控件,按最后圖2.19所示的運行效果圖位置進行擺放。6將工程res/mipmap目錄下的ic_launcher.png圖片文件復制粘貼到res/drawable目錄下7啟動Genymotion模擬器,然后在Android工程中做如下代碼修改。2.2.5ImageButton(圖片按鈕)
圖片按鈕和普通按鈕的使用方法基本相同,只不過圖片按鈕有android:src屬性,可以用來設(shè)置在按鈕中顯示的圖片。與普通按鈕一樣,也需要為圖片按鈕添加單擊時間監(jiān)聽器用于指定所要觸發(fā)的動作。屬性描述android:adjustViewBounds如果設(shè)置為true,ImageButton將調(diào)整其邊框以適應圖片大小android:baseline用于設(shè)置ImageButton的基線android:baselineAlignBottom如果值為true表示圖片的基線與按鈕底部相對齊android:cropToPadding如果值為true表示ImageButton會剪切圖片以適應內(nèi)邊距的大小android:src用于設(shè)置要顯示的圖片資源位置,該圖片可以是放在res/drawable目錄下的圖片,通過“@drawable/文件名(不包括文件的擴展名)”設(shè)置屬性描述android:background用于設(shè)置圖片按鈕的背景圖片,該圖片可以是放在res/drawable目錄下的圖片,通過“@drawable/文件名(不包括文件的擴展名)”設(shè)置android:contentDescription用于設(shè)置圖片按鈕的簡單描述文字android:id用于設(shè)置按鈕的名稱android:onClick用于設(shè)置單擊事件響應方法的方法名android:visibility用于設(shè)置按鈕控件是否可見【例2.12】ImageButton(圖片按鈕)實例
步驟描述1打開AndroidStudio創(chuàng)建一個Android應用,Applicationname(應用名)取名為ImageButton,CompanyDomain(公司域)取名為E。2MinimumSDK選擇API18:Android4.3(JellyBean)。3選擇EmptyActivity。4不需要修改ActivityName,使用默認值,單擊Finish(完成)。5在工程中找到ras/layout目錄中的activity_main.xml文件,在其中添加一個TextView(文本框)控件、一個ImageButton(圖片按鈕),按最后圖2.20所示的運行效果圖位置進行擺放。6將工程res/mipmap目錄下的ic_launcher.png圖片文件復制粘貼到res/drawable目錄下7啟動Genymotion模擬器,然后在Android工程中做如下代碼修改。2.2.6CheckBox(復選框)
在Android中,單選按鈕和復選框都繼承于普通按鈕,因此,它們都可以直接使用普通按鈕支持的各種屬性和方法,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 翻罐工安全理論能力考核試卷含答案
- 金屬玩具制作工安全宣教考核試卷含答案
- 拍賣運營師班組管理考核試卷含答案
- 重冶濕法冶煉工崗前流程考核試卷含答案
- 重冶浸出工安全綜合競賽考核試卷含答案
- 海乘禮儀培訓課件
- 酒店員工績效考核與薪酬調(diào)整制度
- 酒店客房鑰匙卡使用指導制度
- 超市員工績效考核及獎懲標準制度
- 濟南市中區(qū)培訓
- 安全目標管理制度煤廠(3篇)
- 云南省玉溪市2025-2026學年八年級上學期1月期末物理試題(原卷版+解析版)
- 車輛駕駛員崗前培訓制度
- 2026年哈爾濱通河縣第一批公益性崗位招聘62人考試參考試題及答案解析
- 就業(yè)協(xié)議書解約函模板
- 頭部護理與頭皮健康維護
- 2026屆天一大聯(lián)考高一上數(shù)學期末教學質(zhì)量檢測模擬試題含解析
- 2026年山東城市服務(wù)職業(yè)學院單招職業(yè)技能考試題庫附答案詳解
- 創(chuàng)面換藥清潔課件
- 研發(fā)部門員工加班管理細則
- 鋼結(jié)構(gòu)橋梁施工監(jiān)測方案
評論
0/150
提交評論