版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
什么是Android?Android是一個專門針對移動設(shè)備的軟件集,它包括一個操作系統(tǒng),中間件和一些重要的應(yīng)用程序。Beta版的AndroidSDK提供了在Android平臺上使用JaVa語言進(jìn)行Android應(yīng)用開發(fā)必須的工具和API接口。特性應(yīng)用程序框架支持組件的重用與替換Dalvik虛擬機(jī)專為移動設(shè)備優(yōu)化集成的瀏覽器基于開源的WebKit引擎優(yōu)化的圖形庫包括定制的2D圖形庫,3D圖形庫基于OpenGLES1.0(硬件加速可選)SQLite用作結(jié)構(gòu)化的數(shù)據(jù)存儲多媒體支持包括常見的音頻、視頻和靜態(tài)圖像格式(如MPEG4,H.264,MP3,AAC,AMR,JPG,PNG,GIF)GSM電話技術(shù)(依賴于硬件)藍(lán)牙Bluetooth,EDGE,3G,和WiFi(依賴于硬件)照相機(jī),GPS,指南針,和加速度計(accelerometer)(依賴于硬件)豐富的開發(fā)環(huán)境包括設(shè)備模擬器,調(diào)試工具,內(nèi)存及性能分析圖表,和Eclipse集成開發(fā)環(huán)境插件Android架構(gòu)下圖顯示的是Android操作系統(tǒng)的主要組件。每一部分將會在下面具體描述。應(yīng)用程序Android會同一系列核心應(yīng)用程序包一起發(fā)布,該應(yīng)用程序包包括email客戶端,SMS短消息程序,日歷,地圖,瀏覽器,聯(lián)系人管理程序等。所有的應(yīng)用程序都是使用JAVA語言編寫的。應(yīng)用程序框架開發(fā)人員也可以完全訪問核心應(yīng)用程序所使用的API框架。該應(yīng)用程序的架構(gòu)設(shè)計簡化了組件的重用;任何一個應(yīng)用程序都可以發(fā)布它的功能塊并且任何其它的應(yīng)用程序都可以使用其所發(fā)布的功能塊(不過得遵循框架的安全性限制)。同樣,該應(yīng)用程序重用機(jī)制也使用戶可以方便的替換程序組件。隱藏在每個應(yīng)用后面的是一系列的服務(wù)和系統(tǒng),其中包括;豐富而又可擴(kuò)展的視圖(Views),可以用來構(gòu)建應(yīng)用程序,它包括列表(lists),網(wǎng)格(grids),文本框(textboxes),按鈕(buttons),甚至可嵌入的web瀏覽器。內(nèi)容提供器(ContentProviders)使得應(yīng)用程序可以訪問另一個應(yīng)用程序的數(shù)據(jù)(如聯(lián)系人數(shù)據(jù)庫),或者共享它們自己的數(shù)據(jù)資源管理器(ResourceManager)提供非代碼資源的訪問,如本地字符串,圖形,和布局文件(layoutfiles)。通知管理器(NotificationManager)使得應(yīng)用程序可以在狀態(tài)欄中顯示自定義的提示信息?;顒庸芾砥鳎ˋctivityManager)用來管理應(yīng)用程序生命周期并提供常用的導(dǎo)航回退功能。有關(guān)更多的細(xì)節(jié)和怎樣從頭寫一個應(yīng)用程序,請參考如何編寫一個Android應(yīng)用程序.程序庫Android包含一些C/C++庫,這些庫能被Android系統(tǒng)中不同的組件使用。它們通過Android應(yīng)用程序框架為開發(fā)者提供服務(wù)。以下是一些核心庫:系統(tǒng)C庫-一個從BSD繼承來的標(biāo)準(zhǔn)C系統(tǒng)函數(shù)庫(libc),它是專門為基于embeddedlinux的設(shè)備定制的。媒體庫-基于PacketVideoOpenCORE;該庫支持多種常用的音頻、視頻格式回放和錄制,同時支持靜態(tài)圖像文件。編碼格式包括MPEG4,H.264,MP3,AAC,AMR,JPG,PNG。SurfaceManager-對顯示子系統(tǒng)的管理,并且為多個應(yīng)用程序提供了2D和3D圖層的無縫融合。LibWebCore-一個最新的web瀏覽器引擎用,支持Android瀏覽器和一個可嵌入的web視圖。SGL-底層的2D圖形引擎3Dlibraries-基于OpenGLES1.0APIs實現(xiàn);該庫可以使用硬件3D加速(如果可用)或者使用高度優(yōu)化的3D軟加速。FreeType-位圖(bitmap)和矢量(vector)字體顯示。SQLite-一個對于所有應(yīng)用程序可用,功能強(qiáng)勁的輕型關(guān)系型數(shù)據(jù)庫引擎。Android運行庫Android包括了一個核心庫,該核心庫提供了JAVA編程語言核心庫的大多數(shù)功能。每一個Android應(yīng)用程序都在它自己的進(jìn)程中運行,都擁有一個獨立的Dalvik虛擬機(jī)實例。Dalvik被設(shè)計成一個設(shè)備可以同時高效地運行多個虛擬系統(tǒng)。Dalvik虛擬機(jī)執(zhí)行(.dex)的Dalvik可執(zhí)行文件,該格式文件針對小內(nèi)存使用做了優(yōu)化。同時虛擬機(jī)是基于寄存器的,所有的類都經(jīng)由JAVA編譯器編譯,然后通過SDK中的"dx"工具轉(zhuǎn)化成.dex格式由虛擬機(jī)執(zhí)行。Dalvik虛擬機(jī)依賴于linux內(nèi)核的一些功能,比如線程機(jī)制和底層內(nèi)存管理機(jī)制。Linux內(nèi)核Android的核心系統(tǒng)服務(wù)依賴于Linux2.6內(nèi)核,如安全性,內(nèi)存管理,進(jìn)程管理,網(wǎng)絡(luò)協(xié)議棧和驅(qū)動模型。Linux內(nèi)核也同時作為硬件和軟件棧之間的抽象層。一、開始安裝SDK本頁內(nèi)容介紹如何安裝AndroidSDK以及如何設(shè)置你的開發(fā)環(huán)境。如果你還沒有下載SDK,你可以點下面的連接進(jìn)行下載,然后閱讀后續(xù)文檔學(xué)習(xí)如何安裝,配置,并使用該SDK來創(chuàng)建Android應(yīng)用程序。下載SDK升級?如果你已經(jīng)用更早的版本開發(fā)過程,可以跳過本頁,并閱讀升級SDK文檔.系統(tǒng)和軟件需求用Androidsdk的代碼和工具開發(fā)Android應(yīng)用程序,你需要適合的開發(fā)電腦以及開發(fā)環(huán)境,如下描述:所需操作系統(tǒng):WindowsXP或VistaMacOSX10.4.8或更高版本(僅支持x86)Linux(LinuxUbuntuDapperDrake版本已測試)所需開發(fā)環(huán)境:EclipseIDEEclipse3.3(Europa),3.4(Ganymede)EclipseJDT插件(大多數(shù)的EclipseIDE包包含)WST(可選,但Android編輯器的功能需要,它被包含在mostEclipseIDEpackages中)JDK5或JDK6(只有JRE是不夠的)AndroidDevelopmentTools插件(可選)不兼容GNUJava編譯器(gcj)其他開發(fā)環(huán)境或IDEJDK5或JDK6(僅有JRE不夠)ApacheAnt1.6.5或更高版本(Linux和Mac環(huán)境下),1.7或更高版本(Windows環(huán)境下)不兼容GNUJava編譯器(gcj)注:如果你的電腦上已經(jīng)安裝了jdk,請確定它是上面所列的版本號。另外需要注意有些linux版本可能包含有jdk1.4或者java的gnu編譯器,Adroid開發(fā)是不支持在這兩種版本安裝SDK下載完SDK后,把.zip文件解壓到你電腦上合適位置.默認(rèn)情況下,SDK文件被解壓到android_sdk_<platform>_<release>_<build>文件夾.這個文件夾包含tools/,samples/等.請注意系統(tǒng)里SDK解壓后的文件夾的名字和位置—當(dāng)你安裝Android插件和使用SDK工具時,你將需要引用這個文件夾。你可以添加SDKtools的文件夾路徑到你的環(huán)境變量中.如上所述,tools/文件夾位于SDK文件夾中。Linux環(huán)境下,修改~/.bash_profile或者~/.bashrc文件.找到環(huán)境變量設(shè)置的地方,加入tools/的絕對路徑。如果找不到該設(shè)置,你需要新添加一行:exportPATH=${PATH}:<your_sdk_dir>/toolsMac環(huán)境下,在你的home文件夾里面查找.bash_profile,然后和linux一樣處理。如果之前沒有.bash_profile文件,你可以創(chuàng)建一個新的。Windows環(huán)境下,右擊我的電腦,并選擇屬性.在標(biāo)簽頁高級,點擊環(huán)境變量,當(dāng)對話框出現(xiàn),在系統(tǒng)變量欄目里雙擊路徑(Path).并添加tools/文件夾的完整路徑.添加tools到你的環(huán)境變量里,這樣你可以運行AndroidDebugBridge(adb)和其他tools下命令,而不需要輸入完整路徑名。需要說明的是,如果你升級你的SDK,需要將你的相應(yīng)環(huán)境變量更新到新的位置。安裝Eclipse插件(ADT)如果你要使用EclipseIDE作為開發(fā)Android應(yīng)用的環(huán)境,你可以安裝支持Android工程和工具的通用插件AndroidDevelopmentTools(ADT).ADT插件包含強(qiáng)大的擴(kuò)張,使得創(chuàng)建,運行和調(diào)試Android更快速,更簡單。如果你不使用EclipseIDE,就不必下載和安裝ADT插件下載和安裝ADT插件,請按照你們各自Eclipse版本步驟安裝。Eclipse3.3(Europa)Eclipse3.4(Ganymede)開始Eclipse,然后選擇Help>SoftwareUpdates>FindandInstall對話框出現(xiàn)后,選擇Searchfornewfeaturestoinstall點擊Next.點擊NewRemoteSite.在對話框中,輸入遠(yuǎn)程站點的名字(如AndroidPlugin),輸入站點如下:/android/eclipse/點擊OK.你可以看到新的站點添加到搜索列表中(并檢查),點擊Finish.在下面的搜索結(jié)果對話框,選擇復(fù)選框AndroidPlugin>DeveloperTools.它將會檢查特性:"AndroidDeveloperTools",和"AndroidEditors".Android編輯器的特性是可選的,但我們推薦安裝它,如果你選擇安裝,需要前面提到的WST插件。點擊Next.閱讀許可協(xié)議,然后選擇接受許可協(xié)議,點擊Next.點擊Finish.ADT插件沒有簽名,你可以點擊“InstallAll”來安裝所有東西。重啟Eclipse.啟動Eclipse,選擇Help>SoftwareUpdates在出現(xiàn)的對話框里,點擊標(biāo)簽頁AvailableSoftware.點擊AddSite...輸入下面的地址:/android/eclipse/點擊OK.返回可用軟件的視圖,你會看到這個插件.選擇下一步到DeveloperTools并點擊Install...在接下來的安裝窗口,選中"AndroidDeveloperTools"和"AndroidEditors"。Android編輯器特性是可選的,但是我們推薦安裝它,如果你選擇安裝,需要前面提到的WST插件。點擊Finish.重啟Eclipse。重啟之后,updateyourEclipsepreferences指向SDK文件夾:選擇Window>Preferences...來打開屬性面板。(MacOSX:Eclipse>Preferences)從左邊面板選擇Android。在主界面上定位SDK點擊Browse...然后定位SDK文件夾。點擊Apply,然后點擊OK。ADT安裝疑難解答I你如果按照以上步驟下載ADT插件有疑問,這里是一些建議:在第四步,嘗試改變遠(yuǎn)程更新地址URL為http,而非https.如果你在防火墻保護(hù)下(企業(yè)防火墻)請確定你的Eclipse的代理設(shè)置合適。在Eclipse3.3/3.4,你可以從主Eclipse菜單中配置:Window(在Mac,Eclipse)>Preferences>General>NetworkConnections如果無法安裝下載的ADT插件到Eclipse,按照如下的步驟來從你的電腦下載和安裝插件:下載ADT壓縮文件(不解壓).按照默認(rèn)安裝的第一部和第二步(如上).在Eclipse3.3,點擊NewArchiveSite
InEclipse3.4,clickAddSite...,然后點擊Archive...瀏覽和選擇已經(jīng)下載的壓縮文件。從第五步開始完成上面剩下的流程。更新你的插件,你必須按照這些步驟代替默認(rèn)的更行說明。更新ADT插件在某些情況下,你機(jī)器上的SDK可能和ADT插件是兼容的,你可以用以下步驟從Eclipse里更新ADT插件。Eclipse3.3(Europa)Eclipse3.4(Ganymede)選擇Help>SoftwareUpdates>FindandInstall選擇Searchforupdatesofthecurrentlyinstalledfeatures并點擊Finish.如果ADT可以更新,選擇并安裝更新。或:選擇Help>SoftwareUpdates>ManageConfiguration.展開導(dǎo)航樹并選擇AndroidDevelopmentTools<version>AvailableTasks下選擇ScanforUpdates。選擇Help>SoftwareUpdates...選擇標(biāo)簽頁InstalledSoftware。點擊Update...如果ADT允許更新,選擇它并點擊Finish.安裝注意事項UbuntuLinux注意事項如果你需要幫助安裝和配置java在你的ubuntu機(jī)器上,下面資源可能對你有幫助:/community/Java/community/JavaInstallation這里有java和Eclipsed的安裝步驟,先安裝AndroidSDK和ADT插件.如果你你開發(fā)機(jī)上使用64位版本,你需要用apt-get安裝ia32-libs包apt-getinstallia32-libs下一步,安裝Java:apt-getinstallsun-java6-binUbuntu包管理器現(xiàn)在沒有提供Eclipse3.3版本下載,因此我們推薦你從(/downloads/)下載。建議使用Java或RCP版本的Eclipse.按照前面部分的提供步驟來安裝SDK和ADT插件.其他版本Linux注意事項如果你在安裝Eclipse的ADT插件遇到這個錯誤:Anerroroccurredduringprovisioning.Cannotconnecttokeystore.JKS你的開發(fā)環(huán)境缺少適合的虛擬機(jī),安裝SunJava6可以解決這個問題,然后你再重新安裝ADT插件。如果JDK已經(jīng)安裝到你的開發(fā)電腦上,請確定其版本在這頁的頂部列表中已經(jīng)列出,有些Linux包含jdk1.4或者java的gnu編譯器,以上二者Android不支持。更新SDK本指南將幫助您升級您的開發(fā)環(huán)境和應(yīng)用程序到SDK的最新版暿如果你已經(jīng)應(yīng)用了以前版本的AndroidSDK,也需要使用本指南。為了確保您的應(yīng)用程序能夠兼容android1.0系統(tǒng),您需要安裝新的SDK和用新的API移植現(xiàn)有的android應(yīng)用程序,以下各節(jié)指導(dǎo)您完成這一進(jìn)程。安裝新的SDK下載SDK并解壓到一個安全的位置。解壓新的SDK以后,您應(yīng)該完成下面的操作。擦除你的模擬器的數(shù)據(jù)由于新的SDK版本發(fā)布,一些數(shù)據(jù)格式改變了。因此任何以前保存的模擬器數(shù)據(jù)必須清除。打開一個控制臺/終端和操作SDK中的/tools目錄。啟動模擬器癭wipe-data的選項Windows:emulator-wipe-data
Mac/Linux:./emulator-wipe-data更新您的PATH變量(Mac/Linux;可選)如果你以前設(shè)置PATH變量為指向的SDKtools目錄,那么您必須更新以指向新的SDK的。E.g.,.bashrcor.bash_profilefile:exportPATH=$PATH:<your_new_sdk_dir>/tools更新ADTEclipse插件如果您在Eclipse上使用ADT插件開發(fā),請按照下列步驟安裝新的插件匹配新的SDK。Eclipse3.3(Europa)Eclipse3.4(Ganymede)選擇Help>SoftwareUpdates>FindandInstall選擇Searchforupdatesofthecurrentlyinstalledfeatures并點擊Finish.如果任何ADT有效,選擇并安裝重啟Eclipse.選擇Help>SoftwareUpdates...選擇theInstalledSoftwaretab.點擊Update...如果任何ADT有效,選擇并點擊Finish重啟Eclipse。重新啟動之后,更新您的Eclipse設(shè)置指向SDK目錄。選擇Window>Preferences...toopenthePreferencespanel.(MacOSX:Eclipse>Preferences)選擇Androidfromtheleftpanel.對于在主面板中SDK的定位,點擊Browse...并找到SDK的目錄。點擊Apply,然后OK.建立應(yīng)用程序簽名所有應(yīng)用程序在安裝它們之前都必須被簽名。ADT插件和ant為基礎(chǔ)的開發(fā)工具都支持這一要求,它們通過帶一個調(diào)試KEY癭apk文件來簽發(fā)編譯。為了做到這一點,編譯工具使用包括在JDK的Keytool去創(chuàng)造一個keystore和帶著一個已知的別名和密碼一個key帶著一個已知的別名和密碼。如需詳細(xì)信息,請查閱簽名你的應(yīng)用程序.為了支持簽簽名,你應(yīng)該首先確認(rèn)Keytool對于SDK的編譯工具是有效的。在大多數(shù)情況下,你可以告訴的SDK編譯工具如何找到Keytool,通過設(shè)置你的JAVA_HOME環(huán)境變量設(shè)置和一個合適的JDK。另外,您也可以添加keytool的JDK版本到您的PATH變量如果你正在開發(fā)Linux的一個版本,那原本使用的是GNU的JAVA編譯嗿,請確保該系統(tǒng)正在使用的Keytool的JDK版本,而不是使用gcj,如果keytool已經(jīng)在您的路徑,它可能是指向在一個符號鏈接是/usr/bin/keytool。在這種情況下,檢查符號鏈接的目標(biāo),以確保它指向正確的Keytool.如果您使用的ant編譯你的.apk文件?而不是ADT,你必須重新產(chǎn)生你的build.xml文件。為了做到這一點,請執(zhí)行下列步驟:在您的android應(yīng)用程序工程目錄中,找到并刪除目前的build.xml文件2.運行activitycreator,直接輸出到包含您的應(yīng)用程序項目的文件夾-execactivitycreator--outyour.activity.YourActivity運行這種方式?activityCreator不會擦出或創(chuàng)建新的Java文件(或manifest文件?,對于那些已經(jīng)存在的activity和package。重要的是,package和activity是真實存在的。該工具創(chuàng)建一個新的build.xml文件,以及一個新的目錄稱libs"中,這個目錄將放置第三方j(luò)ar文件,這是你就能夠使用ant腳本自動處理。移植您的應(yīng)用程序更新過您的SDK以后,您可能會遇到破損的代碼,由于框架和API的變化。您需要更新您的代碼以匹配變化的Andriod的API。一種方法是用Eclipse打開您的項目和查看你的應(yīng)用程序中ADT的標(biāo)記錯誤。從這里,你可以查找對應(yīng)的變勢變化預(yù)覽andAPI變化報告.如果您更新您的代碼有其他麻煩,請訪問android小組討論尋求幫助或者求助于其他android開發(fā)人員.如果已經(jīng)修改了一個ApiDemos應(yīng)用程序,并希望移植到新的SDK的,請注意您將需要卸載模擬器中預(yù)裝的ApiDemos版本。了解更多信息,或(運行或安裝ApiDemos)遇到一個重新安裝"的錯誤,見疑難解答論頿因為簽名錯誤,我不能在我的IDE中安裝ApiDemos應(yīng)用程序來獲得解決這個問題的信息。開發(fā)和調(diào)試這一節(jié)將介紹在android上開發(fā)調(diào)試應(yīng)用程序。它將教會我們?nèi)绾蝿?chuàng)建,編譯,運行以及調(diào)試android代碼?;蛘?,你也可以從HelloAndroidtutorial.開始
主要內(nèi)容在eclipse上開發(fā)android應(yīng)用程序利用其他IDE和工具開發(fā)android應(yīng)用程序給應(yīng)用程序簽名ApiDemo示例程序用法調(diào)試設(shè)備上的調(diào)試和測試設(shè)置頂端調(diào)試技巧編譯安裝一個android應(yīng)用程序移除android程序Eclipse技巧在eclipse上開發(fā)Android應(yīng)用程序在用eclipseIDE開發(fā)android應(yīng)用程序之前,你首先要創(chuàng)建一個Android工程,并且建立一個啟動配置,在此之后你才可以開始編寫,運行,以及調(diào)試你的應(yīng)用程序。以下章節(jié)是假設(shè)你已經(jīng)在eclipse環(huán)境中安裝了ADT插件,如果你沒有安裝,請安裝之后再使用以下說明。參考安裝eclipse插件(ADT)創(chuàng)建一個android工程ADT提供了一個新的工程向?qū)?,你可以快速的?chuàng)建一個新的工程或者在現(xiàn)有代碼上創(chuàng)建工程。創(chuàng)建工程的步驟如下:選擇File>New>Project選擇Android>AndroidProject,然后按下Next選擇項目內(nèi)容:選擇Createnewprojectinworkspace,為編碼創(chuàng)建一個全新的工程。輸入工程名稱(projectname),基礎(chǔ)軟件包的名稱(thebasepackagename),以及Activity類的名稱。以創(chuàng)建stub.java文件等文件和程序名字。選擇Createprojectfromexistingsource,為已有代碼創(chuàng)建一個工程。如果你想編譯運行SDK中提供的示例程序,可以使用這個選項。示例程序的存放在SDK的samples/目錄下。瀏覽包含已有代碼的目錄,點擊ok,如果目錄中包含有可用的androidmanifest文件,ADT將為你填寫合適的軟件包,activity,和應(yīng)用程序名稱。按下Finish.ADT插件會根據(jù)你的工程類型創(chuàng)建合適的文件和文件夾,如下:src/
包含stub.javaActivity文件的文件夾.res/
資源文件夾.AndroidManifest.xml
工程清單.創(chuàng)建一個啟動項能夠在eclipse上運行調(diào)試應(yīng)用程序之前,你必須為它創(chuàng)建一個啟動項。啟動項指定哪個工程將被啟動,哪個activity開始工作,以及使用哪些模擬器選項等。按照以下步驟為Eclipse版本的應(yīng)用程序創(chuàng)建合適的啟動項:打開啟動項管理工具。在Eclipse3.3(Europa)的版本中,酌情選擇Run>OpenRunDialog...orRun>OpenDebugDialog...。在Eclipse3.4(Ganymede)版本中,酌情選擇Run>RunConfigurations...orRun>DebugConfigurations...。在左邊的工程類型列表選擇AndroidApplication選擇,雙擊(或者點擊右鍵選擇new),創(chuàng)建一個新的啟動項。輸入啟動項名稱。在Android標(biāo)簽中,瀏覽要開始的工程和Activity。在Target標(biāo)簽中,設(shè)置想要顯示的屏幕及網(wǎng)絡(luò)屬性,以及其他任何模擬器啟動選項。你可以在Common標(biāo)簽中設(shè)置更多的選項.按下Apply保存啟動配置,或者按下Run或Debug()。
運行和調(diào)試應(yīng)用程序一旦你設(shè)定了工程和工程啟動配置,你就可以按照以下的說明運行和調(diào)試應(yīng)用程序了。從eclipse主菜單,根據(jù)情況選擇Run>Run或者Run>Debug,開始運行或者調(diào)試活動啟動項。注意,這里活動啟動項是在運行配置管理中最最近一次選中的那個。它不一定就是在EclipseNavigation面板中選擇的程序(如果有的話)設(shè)置和修改活動啟動項,可以使用啟動項管理工具。如何獲得啟動項管理工具可以參考創(chuàng)建一個啟動項運行或調(diào)試應(yīng)用程序?qū)⒂|發(fā)以下動作:啟動模擬器,如果他還沒有開始運行。編譯工程,如果在上次編譯的基礎(chǔ)上修改過代碼,將重新編譯。在模擬器上安裝應(yīng)用程序。Run選項,開始運行程序。Debug在"Waitfordebugger"模式下啟動程序,然后打開調(diào)試窗口并將EclipseJava調(diào)試器和程序關(guān)聯(lián)。利用其他IDEs和工具開發(fā)Android應(yīng)用程序通常我們使用安裝有ADT插件的eclipseEclipsewiththeADTplugin.來開發(fā)Android程序,這個插件將編輯,build和調(diào)試功能集成到IDE上。然而,如果你想在其他的IDE上開發(fā)程序,例如IntelliJ,或者使用沒有ADT插件的eclipse也可以。SDK提供了安裝,編譯,調(diào)試應(yīng)用程序所需要的工具。創(chuàng)建一個android工程AndroidSDK包含一個activityCreator的程序,它將為工程產(chǎn)生多個stub文件和一個build文件。你可以用這個程序創(chuàng)建一個新的Android工程或者在現(xiàn)有代碼上創(chuàng)建工程,如SDK中包含的例子。對于Linux和Mac系統(tǒng),SDK提供activityCreator.py,一個Python腳本,Windows上則是activityCreator.bat一個批處理腳本。無論是哪種平臺,用法是一樣的。按以下步驟運行activityCreator創(chuàng)建Android工程:在命令行下,切換到SDK下的tools/目錄下,為你的工程文件新建一個目錄。如果你是在現(xiàn)有代碼上創(chuàng)建工程,切換到程序的根目錄下。運行activityCreator。在命令行下,你必須指定完全合格的類名作為參數(shù)。如果你是創(chuàng)建一個全新的工程,這個類代表的與它同名的stub類和腳本文件。如果是在現(xiàn)有代碼上創(chuàng)建工程,必須指定軟件包中其中一個Activity類的名稱。命令選項的腳本包括:--out<folder>設(shè)定輸出目錄。默認(rèn)情況下輸出目錄為當(dāng)前目錄。如果你想為工程文件創(chuàng)建一個新的目錄,可以使用這個選項來指向它。--ideintellij,在一個新的項目中生成IntelliJIDEA工程文件。這里有個例子:~/android_linux_sdk/tools$./activityCreator.py--outmyproject.ActivityNamepackage:out_dir:myprojectactivity_name:ActivityName~/android_linux_sdk/tools$activityCreator腳本生成以下文件和目錄(但是不能重寫已有文件):AndroidManifest.xml程序的清單文件,同時為工程指定Activity類。build.xml一個Ant文件,用來編譯/打包應(yīng)用程序。src/your/package/name/ActivityName.java
你指定的輸入Activity類。your_activity.iml,your_activity.ipr,your_activity.iws
[onlywiththe-ideintelliJflag]intelliJ工程文件res/
資源目錄.src/
源代碼目錄.bin/
build腳本的輸出目錄.現(xiàn)在你可以將開發(fā)文件夾移到任何地方,但是記住,必須使用tool/文件夾下的adb程序?qū)⑽募l(fā)送到模擬器上。因此你需要在你工作環(huán)境和tools/文件夾之間活動。當(dāng)然你需要避免移動SDK目錄,因為它將打斷編譯腳本。(再重新build之前需要手動更新SDK的映射路徑)編譯android應(yīng)用程序使用activityCreator生成的Ant文件build.xml來編譯程序如果你沒有,你可以通過ApacheAnthomepage得到Ant文件。安裝它,并確定它在你的可執(zhí)行文件路徑下。呼叫Ant之前,你需聲明JAVA_HOME環(huán)境變量,并將它設(shè)置為JDK的安裝路徑。注意:在windows上,JDK默認(rèn)的安裝路徑為"ProgramFiles",這個路徑將會引起Ant失敗,因為路徑中間有空格。解決這個問題,你可以像這樣指定環(huán)境變量JAVA_HOME:JAVA_HOME=c:\Prora~1\Java\然而簡單的解決方法是將JDK安裝在沒有空格的目錄下。例如:c:\java\jdk1.6.0_02.如果你還沒有這么準(zhǔn)備好,按照上面創(chuàng)建一個新的工程的介紹建立一個工程?,F(xiàn)在你可以為你的工程運行Ant編譯文件,只需在build.xml同文件夾下輸入ant即可。每次修改原文件或是資源,都需要重新運行ant,它將把最新版的應(yīng)用程序打包以便deploy.運行Android程序運行一個編譯好的程序,你需要用adb工具將.apk文件加載到模擬器的/data/app/目錄下,用法如下面介紹。啟動模擬器(命令行下運行sdk目錄下的/tools/emulator)。模擬器切換到主畫面(最好不要在程序運行的時候向模擬器安裝程序,可以按home鍵離開應(yīng)用程序)。運行adb,安裝myproject/bin./<appname>.apk文件。例如,安裝LunarLander示例,命令行下,切換到SDK目錄下的/sample/LunarLander子目錄下,輸入../../tools/adbinstallbin/LunarLander.apk在模擬器中,打開可執(zhí)行程序列表,卷動屏幕,選中并啟動你的應(yīng)用程序。注意:當(dāng)你第一次安裝一個Activity時,你可能需要在啟動項顯示之前,或者其它程序調(diào)用它之前重新啟動模擬器。因為軟件包管理工具通常只有在模擬器啟動時才能完全的審查manifests。
為程序附加調(diào)試器這一節(jié)我們介紹如何在屏幕上顯示調(diào)試信息(例如CPU使用率),以及如何將IDE和模擬器上運行的程序關(guān)聯(lián)起來。使用eclipse插件可以自動的生成調(diào)試器。但你也可以通過配置IDES來監(jiān)聽調(diào)試端口得到調(diào)試信息。啟動DalvikDebugMonitorServer(DDMS)工具,它在IDE和模擬器之間扮演著端口轉(zhuǎn)換服務(wù)的角色。?設(shè)置模擬器調(diào)試配置選項。例如,等到調(diào)試信息被加載后才啟動應(yīng)用程序。注意,很多調(diào)試選項無需DDMS也可以使用,例如模擬器上顯示CPU的使用效率,或者屏幕的刷新頻率。配置IDE,使得調(diào)試時IDE與8700端口關(guān)聯(lián).howtosetupEclipsetodebugyourproject.包含以下信息。配置IDE附加調(diào)試端口DDMS將為每一個虛擬機(jī)分配一個特殊的調(diào)試端口,這個端口在模擬器上可以找到。你必須將你的IDE與此端口(虛擬機(jī)上信息欄中有列出這些端口)關(guān)聯(lián)或者是默認(rèn)的端口8700。這樣可以使IDE連接到模擬器上程序列表中的任一個程序。你的IDE需要能夠關(guān)聯(lián)模擬器上正在運行的程序,顯示它的線程,并允許你掛起它,檢查它的狀態(tài),設(shè)置斷點。如果你在開發(fā)設(shè)置面板選擇了“等待調(diào)試”,應(yīng)用程序?qū)⒌鹊紼clipse連接后才運行,所以你需要在連接之前設(shè)置斷點。修改正在調(diào)試的程序,或者在當(dāng)前程序運行時選擇“等待調(diào)試”將引起系統(tǒng)殺死這個應(yīng)用程序。如果你的程序處于一種壞的狀態(tài),你可以使用方式殺死它,方法很簡單,只需要設(shè)置和鉤掉復(fù)選框。應(yīng)用程序簽名Android系統(tǒng)要求所有的程序經(jīng)過數(shù)字簽名才能安裝,如果沒有可用的數(shù)字簽名,系統(tǒng)將不許安裝運行此程序。不管是模擬器還是真實設(shè)備,只要是android系統(tǒng),這都適用。鑒于此原因,在設(shè)備或者是模擬器上運行調(diào)試程序之前,你必須為你的應(yīng)用程序設(shè)置數(shù)字簽名。理解android程序簽名的重要幾點::所有的程序都必須簽名,沒有被簽名的程序,系統(tǒng)將不能安裝。你可使用自簽署證書簽署你的應(yīng)用程序,必須是無憑證授權(quán)是的。系統(tǒng)僅僅會在安裝的時候測試簽名證書的有效期,如果應(yīng)用程序的簽名是在安裝之后才到期,那么應(yīng)用程序仍然可以正常啟用。你可以使用標(biāo)準(zhǔn)工具-KeytoolandJarsigner-生成密鑰,來簽名應(yīng)用程序的.apk文件。AndroidSDK工具可以幫助你在調(diào)試時給應(yīng)用程序簽名。ADT插件和Ant編譯工具都提供了兩種簽名模式-debug模式和release模式debug模式下,編譯工具使用JDK中的通用程序Keytool通過已知方法和密碼創(chuàng)建秘鎖和密鑰。每次編譯的時候,工具使用debug密鑰簽名應(yīng)用程序的.apk文件。因為密碼是已知的,工具不需要在每次編譯的時候提示你輸入密鎖和密鑰。當(dāng)你的應(yīng)用程序已經(jīng)準(zhǔn)備release了,你可以在release模式下編譯。release模式下,工具編譯時不會將.apk文件簽名。你需要用Keytool生成密鑰和密鎖,再用JDK中的Jarsigner工具給.apk文件簽名。
簽名基本設(shè)置為了支持生成密鎖和密鑰,你首先要確定Keytool在SDK編譯工具中是有效的。在很多情況下,你可以設(shè)置JAVA_HOME環(huán)境變量,告訴SDK如何找到Keytool,或者你可以在PATH變量中添加Keytool的JDK版本。如果你是在linux版本中開發(fā),原本是來自JavaGnu編譯器,請確定系統(tǒng)用的是Keytool版本的JDK,而不是gcj版本的。如果Keytool已經(jīng)在PATH中,它將指向符號連接/usr/bin/keytool。這種情況下,核實符號連接的目標(biāo)是指向JDK下的KeytoolEclipse/ADT中的簽名如果你是在Eclipse下開發(fā),并已經(jīng)按照上面所介紹的安裝了Keytool,默認(rèn)情況下是可以在debug模式下簽名的。當(dāng)你運行調(diào)試程序的時候ADK將給.apk文件簽名,并安裝到模擬器上。這部分不需要特殊的動作,ADT已經(jīng)進(jìn)入Keytool在release模式下編譯程序,在Package面版上按project右鍵,選擇AndroidTools>ExportApplicationPackage.或者你可以點擊ManifestEditor,overview頁面上的“Exportingtheunsigned.apk”連接,導(dǎo)出未簽名apk文件。保存.apk文件之后,用Jarsigner及你自己的密鑰給apk文件簽名,如果沒有密鑰,你可以用Keystore創(chuàng)建密鑰和密鎖。如果已經(jīng)有一個密鑰了,如公共密鑰,就可以給.apk文件簽名了。Ant簽名如果用Ant編譯.apk文件,假設(shè)你使用最新版的SDK中包含的activitycreator工具生成build.xml文件,默認(rèn)情況下可以使用debug簽名模式。當(dāng)你運行Ant對build.xml編譯程序,build腳本將生成密鎖和密鑰并簽名.apk文件。這部分不需要做其它特殊的動作。release模式下編譯程序,你需要做的是在Ant命令中指定編譯目標(biāo)“release”。例如,如果是在bulid.xml所在目錄下運行ant,輸入以下命令:antreleasebuild腳本編譯程序時并沒有簽名。編譯完.apk文件后,你需要用Jarsigner和你自己的密鑰給.apk文件簽名。如果沒有密鑰,你可以用Keystore創(chuàng)建密鑰和密鎖。如果已經(jīng)有一個密鑰了,如公共密鑰,你就可以給.apk文件簽名了。調(diào)試證書期限自簽名證書用于程序的debug模式下(默認(rèn)情況下是Eclipse/ADT和Antbuilds),自它創(chuàng)建時間起有一年的期限。當(dāng)證書到期時,將會有編譯錯誤。And下錯誤顯示如下:debug:[echo]Packagingbin/samples-debug.apk,andsigningitwithadebugkey...[exec]DebugCertificateexpiredon8/4/083:43PM在Eclipse/ADT下,你可以看到類似的錯誤。解決這個問題的簡單方法是刪除debug.keystore文件。Linux/MacOSX下這個文件保存在~/.android下,windowsXP下,文件保存在C:\DocumentsandSettings\<user>\LocalSettings\ApplicationData\Android。windowsVista下文件保存在C:\Users\<user>\AppData\Local\Android。下次編譯時,編譯工具將生成新的密鎖和密鑰。注意:如果你的開發(fā)設(shè)備使用的是non-Gregorianlocale,編譯工具經(jīng)常錯誤的生成一個過期的調(diào)試證書,因此編譯的時候你會得到錯誤提示。對于解決信息,請參見疑難解答專題I
can't
compilemyappbecausethebuildtoolsgeneratedanexpireddebugcertificate.
使用ApiDemo示例應(yīng)用程序AndroidSDK包含了一套示例程序,他們驗證了許多功能以及API的用法。ApiDemos軟件包被提前安裝在模擬器中,所以你可以啟動模擬器,在主畫面的應(yīng)用程序抽屜里打開它。你也可以在<SDK>/samples/ApiDemos中找到源碼,可用看看它,學(xué)習(xí)Demo的實現(xiàn)方法。如果你愿意,你還可以將ApiDemo的示例程序作為一個工程加載進(jìn)來,修改并在模擬器上運行。然而,在這之前你首先要卸載之前已經(jīng)安裝的ApiDemos。如果你沒有移除之前安裝的版本而直接在開發(fā)環(huán)境中運行或修改ApiDemos,將會有安裝錯誤。關(guān)于如何卸載和重裝ApiDemo,可以參考I
can'tinstallApiDemosappsinmyIDEbecauseofasigningerror.這樣你就可以在你的開發(fā)環(huán)境中工作了。調(diào)試Android有相當(dāng)廣泛的一套工具幫助你調(diào)試你的應(yīng)用程序:DDMS-一個生動的程序,它支持端口轉(zhuǎn)換(因此你可以在IDE中給你的代碼下端點),支持抓取模擬器屏幕,線程和堆棧信息,以及許多其他功能。你還可以運行l(wèi)ogcat重新獲得Log信息。點擊此連接查看更多信息。logcat-轉(zhuǎn)儲系統(tǒng)信息,這些信息包括,模擬器拋出錯誤時堆棧的運行過程以及日志信息。運行l(wèi)ogcat,點擊此連接。...I/MemoryDealer(763):MemoryDealer(this=0x54bda0):Creating2621440bytesheapat0x438db000I/Logger(1858):getView()requestingitemnumber0I/Logger(1858):getView()requestingitemnumber1I/Logger(1858):getView()requestingitemnumber2D/ActivityManager(763):Stopping:HistoryRecord{409dbb20com.android.home.AllApps}...AndroidLog-輸出模擬器上log文件信息日志類。如果你在DDMS上運行了logcat,你可以實時閱讀這些信息。在你的代碼中添加logging方法的調(diào)用。使用log類,你可以根據(jù)你想獲得信息的重要程度不同調(diào)用Log.v(verbose),Log.d()(debug),Log.i()(information),Log.w()(warning)或者Log.e(error).來分派log信息Log.i("MyActivity","MyClass.getView()—Requestingitemnumber"+position)你可以用logcat閱讀這些信息。Traceview-Android可以將函數(shù)的調(diào)用情況以及調(diào)用時間保存到一個log文件中,你可以用圖形閱讀器Traceview查看詳細(xì)內(nèi)容。更多信息查看這個連接下的主題Eclipseplugin-Eclipse插件整合了相當(dāng)數(shù)量的工具(ADB,DDMS,logcatoutput,以及其它功能),點擊此連接查看更多信息。DebugandTestDeviceSettings-Android揭示了很多有用的設(shè)定,例如CPU使用率和幀速率,參看下面的DebugandTestSettingsontheEmulatorAlso,seetheTroubleshootingsectionofthedoctofigureoutwhyyourapplicationisn'tappearingontheemulator,orwhyit'snotstarting.此外,參看疑難解答這一節(jié)文檔,以找出您的應(yīng)用程序為什么沒有出現(xiàn)在模擬器上,或為什么不開始。
設(shè)備上的調(diào)試和測試設(shè)置Android允許你設(shè)置多個設(shè)定以便你測試和調(diào)試程序。獲得模擬器的開發(fā)設(shè)置,可以選擇DevTools>DevelopmentSettings。按照以下選項將打開開發(fā)設(shè)置頁(或其中之一):Debugapp
選擇要被調(diào)試的程序,你不需要設(shè)置這個來關(guān)聯(lián)調(diào)試器,但是這個變量有兩個作用:防止Android在調(diào)試的斷點處長時間停留時拋出錯誤。允許你選擇WaitforDebugger選項來暫停程序啟動,直到調(diào)試器被關(guān)聯(lián)上(如下介紹)Waitfordebugger
阻塞程序加載直到關(guān)聯(lián)上調(diào)試器。這樣你可以在onCreate()中設(shè)置端點,這在調(diào)試Activity的啟動進(jìn)程時很重要。當(dāng)你改變這個選項,任何當(dāng)前運行的程序?qū)嵗龑⒈粴⑺?。為選中此框,你必須如上面介紹的選擇一個調(diào)試程序。這和在代碼中添加waitForDebugger()是一樣的。Immediatelydestroyactivities
告訴系統(tǒng)只要activity停止了就銷毀它。(猶如Android必須回收內(nèi)存).
這個在測試onSaveInstanceState(Bundle)/onCreate(android.os.Bundle)代碼路徑時非常有用,否則將難以生效.選擇這個選項可能帶來很多問題,因為他們沒有保存程序的狀態(tài)。Showscreenupdates
選中這個選項時,屏幕上任何被重繪的矩形區(qū)域會閃現(xiàn)粉紅色。這對于發(fā)現(xiàn)屏幕不必要的繪圖很有用。ShowCPUusage
在屏幕頂端顯示一個CPU進(jìn)度,顯示CPU的使用情況。上面紅色欄顯示總的CPU使用率,下方綠色欄顯示目前畫面的CPU使用時間。注意:一旦打開次功能就不能關(guān)掉,除非重新啟動模擬器。???Showbackground
沒有activity屏幕顯示時顯示背景面板,這個通常在調(diào)試的時候才會發(fā)生。模擬器重起后這些設(shè)置仍被記憶。頂端調(diào)試技巧快速堆棧轉(zhuǎn)儲從模擬器上獲得堆轉(zhuǎn)儲,你可以登錄adbshell,用"ps"命令找到你想要的進(jìn)程,然后用"kill-3",堆棧使用軌跡將顯示在log文件中。在模擬器屏幕上顯示有用信息設(shè)備可以顯示一些有用信息,例如CPU使用率,以及高亮顯示重繪區(qū)域。可以在開發(fā)設(shè)定窗口打開和關(guān)閉這些功能。Settingdebugandtestconfigurationsontheemulator.中有詳細(xì)介紹。你可以通過DalvikDebugMonitorService工具獲得轉(zhuǎn)儲狀態(tài)信息。請參考adb中介紹的dumpsysanddumpstate獲得模擬器中應(yīng)用程序狀態(tài)信息(dumpsys)你可以通過DalvikDebugMonitorService工具獲得dumpsys信息。參考adb中介紹的dumpsysanddumpstate。獲得無線連接信息你可以通過DalvikDebugMonitorService工具獲得無線連接信息。在Device菜單中選擇"Dumpradiostate"記錄跟蹤數(shù)據(jù)你可以在activity中通過調(diào)用android.os.Debug.startMethodTracing()來記錄函數(shù)的調(diào)用以及其它跟蹤數(shù)據(jù)。詳細(xì)的參考RunningtheTraceviewDebuggingProgram。記錄無線數(shù)據(jù)
默認(rèn)情況下系統(tǒng)不記錄無線數(shù)據(jù)(數(shù)據(jù)很多)。然而,你可以用下面的命令記錄無線數(shù)據(jù):adbshelllogcat-bradio運行adbAndroid有adb工具,他提供了許多功能,包括移動和同步文件到模擬器上,改變端口,在模擬器上運行UNIXshell。詳見Usingadb。獲得模擬器屏幕截圖DalvikDebugMonitorServer(DDMS)可以抓取模擬器屏幕截圖。
使用調(diào)試幫助類Android為方便使用提供了調(diào)試幫助類,例如util.Log和Debug編譯安裝Anroid應(yīng)用程序Android要求專門的編譯工具可以正確的編譯資源文件和應(yīng)用程序的其他部分,因此,你必須為你的應(yīng)用程序建立一個專門的編譯環(huán)境。專門Android編譯器編譯步驟包括,編譯XML和其他資源文件并創(chuàng)建合適的輸出格式。編譯好的Android應(yīng)用程序是一個.apk壓縮文件,它含有.dex文件,資源文件,原data文件,以及其他文件。你可以通過scratch,或者源文件構(gòu)造一個合適的Android工程。Android目前不支持的在本地代碼上開發(fā)第三方應(yīng)用程序。比較推薦的Andriod應(yīng)用程序開發(fā)方法是useEclipsewiththeAndroidplugin,它支持編譯,運行,調(diào)試Android應(yīng)用程序。如果你還有其他IDE,AndroidprovidestoolsforotherIDEs可以編譯運行Android應(yīng)用程序,但是他們不是很完整。移出一個Android應(yīng)用程序移出一個安裝在模擬器上的應(yīng)用程序,你需要執(zhí)行adbrunadb刪除.apk文件。.apk文件是在安裝的時候發(fā)送到模擬器上的。使用adbshell進(jìn)入設(shè)備的shell,切換到data/app目錄下,用rm命令刪除apk文件:rmyour_app.apk。用法在連接中介紹。Eclipse技巧在Eclipse上執(zhí)行任意java代碼在Eclipse上,當(dāng)程序停在斷點處時你可以執(zhí)行任意代碼。例如,在一個含有“zip”字符串參數(shù)的函數(shù)中,你可以獲得軟件包信息,調(diào)用類方法。你也可以執(zhí)行任意靜態(tài)方法:如,輸入android.os.Debug.startMethodTracing(),啟動dmTrace。打開代碼執(zhí)行窗口,主菜單中選擇Window>ShowView>Display,打開顯示窗口,一個簡單的文本編輯器。輸入你的代碼,高亮顯示文字,單擊'J'圖標(biāo)(或者CTRL+SHIFT+D)運行代碼。代碼在被選線程的上下文中運行,而這個線程必須是停在斷點處或者單步停止點。(如果你手動掛去線程,你必須單步執(zhí)行。線程停在Object.wait()是沒有用的)。如果你目前是停在斷點,你可以簡單的按下(CTRL+SHIFT+D)高亮并執(zhí)行一段代碼。你可以高亮同一選中區(qū)域的文字,通過按下ALT+SHIFT+向上/向下箭頭來改變所選區(qū)域的大小下面是一些例子,輸入內(nèi)容和eclipse顯示窗口的回應(yīng)信息。InputResponsezip(java.lang.String)/work/device/out/linux-x86-debug/android/app/android_sdk.zipzip.endsWith(".zip")(boolean)truezip.endsWith(".jar")(boolean)false你也可以利用剪貼板在不調(diào)試時插入執(zhí)行代碼。在eclipse文檔中查找"scrapbook"相關(guān)。手動運行DDMS雖然推薦用ADT插件調(diào)試程序,但是你也可以手動運行DDMS,配置Eclipse以便在8700端口上調(diào)試程序(注意:首先確定你啟動了DDMS)。增加JUnit測試類在Eclipse/ADT,你可以在程序中添加JUnit測試類,然而,測試運行正常之前你需要設(shè)置專門的JUnit配置,關(guān)于如何設(shè)置JUnit配置的詳細(xì)細(xì)節(jié),參看請參見疑難解答專題Ican'trunaJunittestclassinEclipse。Hello,Android!作為開發(fā)者,你的第一感覺是你拿到這個開發(fā)框架寫“Hello,World!”程序時的難易程度給你留下的。當(dāng)然,在Android里,這個非常容易,下面我給你演示:創(chuàng)建一個工程創(chuàng)建UI運行代碼:Hello,Android下面的章節(jié)將詳細(xì)描述使用XML構(gòu)建UI調(diào)試工程不使用Eclipse創(chuàng)建一個工程讓我們開始把創(chuàng)建工程創(chuàng)建一個盡可能簡單的工程,Eclipse的插件可以使Android的開發(fā)變得簡單。你需要一臺裝有EclipseIDE(參考系統(tǒng)和軟件需求),你還需要安裝AndroidEclipse插件(ADT)。如果你都準(zhǔn)備好了,繼續(xù)看這里。首先,你需要對如何創(chuàng)建“Hello,World!”有個大概的了解:在菜單中File>New>Project中創(chuàng)建一個新的Android項目。在創(chuàng)建Android項目的對話框里填寫項目的詳細(xì)信息。編輯自動生成代碼的模板去顯示一些輸出。這樣就可以了,下一步,我們將詳細(xì)講解每一步。創(chuàng)建一個新的Android項目打開Eclipse,選擇File>New>Project如果Android的Eclipse的插件正確安裝了,彈出的對話框里就會有一項“Android”,這一項有唯一的子項“AndroidProject”。選中“AndroidProject”,點下一步。填寫工程的詳細(xì)信息下一步需要你填寫項目的詳細(xì)信息,這里有個例子:每一項具體的意思:工程名你想把工程保存在你機(jī)器上哪個目錄里包名>包的命名空間(需要遵循java編程語言的命名規(guī)則),你的所有代碼都會在這個命名空間下。這也會生成包的名稱從而活動自動生成。你使用的這個包的名字必須和其他安裝在你機(jī)器上的包名字不沖突,所以,使用一個標(biāo)準(zhǔn)規(guī)則的包名字是非常重要的。如上例,我們使用包的名字為“com.android”,但你需要使用一個不同的類型?!盎顒印泵@是插件為你自動生成類的名字。它也會是Android活動類的一個子類。一個活動僅僅是一個包含一些功能并能執(zhí)行的類。如果它選擇,可以創(chuàng)建用戶界面,但這不是必須的。程序名這是最后生成應(yīng)用程序的名字??蛇x框里"Usedefaultlocation"允許你選擇其他目錄保存項目產(chǎn)生的其它文件。編輯自動生成代碼運行插件后,會自動生成一個類“HelloAndroid”(可以在程序包里HelloAndroid>src>com.android.hello找到)。像這樣:publicclassHelloAndroidextendsActivity{/**活動第一次被創(chuàng)建后調(diào)用。**/@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main);}}現(xiàn)在,你可以執(zhí)行程序了。不過我們還可以進(jìn)一步研究下,這樣我們能更好得理解程序。所以,下一步我們可以改一些代碼建立UI看下面我們修改的代碼,你可以在你的HelloAndroid.java文件里做相同的修改,我們來逐行分析:packagecom.android.hello;importandroid.app.Activity;importandroid.os.Bundle;importandroid.widget.TextView;publicclassHelloAndroidextendsActivity{/**活動第一次被創(chuàng)建后調(diào)用*/@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);TextViewtv=newTextView(this);tv.setText("Hello,Android");setContentView(tv);}}小提示:如果你忘記引入TextView的包,可以嘗試Ctrl-Shift-O(如果是Mac系統(tǒng)Cmd-Shift-O)。這是Eclipse管理應(yīng)用的快捷方式-它會顯示沒有找到的包然后自動為你加上。在Android里,用戶接口由一些稱之為視圖的不同層次的類組成。一個視圖就是一個簡單的對象。如單選框,動畫控件,一個文本框(我們的例子里的),我們稱處理文本的這樣一個子視圖就叫TextView。這里教你如何創(chuàng)建TextView。這里教你如何創(chuàng)建TextView:TextViewtv
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 部編版八年級上冊語文《蘇州園林》說明方法教學(xué)設(shè)計
- 2025年旅游行業(yè)勞務(wù)派遣委托協(xié)議范本3篇
- 2025年房地產(chǎn)大數(shù)據(jù)售房房屋買賣合同3篇
- 2025年石油化工行業(yè)安全咨詢評估合同4篇
- 浙江省溫州市龍灣區(qū)2025屆中考聯(lián)考生物試卷含解析
- 2025年度環(huán)保材料研發(fā)與應(yīng)用合同協(xié)議4篇
- 二零二五年度房地產(chǎn)抵押貸款合同書3篇
- 二零二五年度空壓機(jī)設(shè)備租賃與節(jié)能環(huán)保評估合同3篇
- 二零二五版?zhèn)€人出租車承包合同中的車輛租賃與運營收益分成協(xié)議3篇
- 2025年度房地產(chǎn)人才招聘意向金合同4篇
- 2023年湖北省武漢市高考數(shù)學(xué)一模試卷及答案解析
- 城市軌道交通的網(wǎng)絡(luò)安全與數(shù)據(jù)保護(hù)
- 英國足球文化課件
- 《行政職業(yè)能力測驗》2023年公務(wù)員考試新疆維吾爾新疆生產(chǎn)建設(shè)兵團(tuán)可克達(dá)拉市預(yù)測試題含解析
- 醫(yī)院投訴案例分析及處理要點
- 燙傷的安全知識講座
- 工程變更、工程量簽證、結(jié)算以及零星項目預(yù)算程序?qū)嵤┘?xì)則(試行)
- 練習(xí)20連加連減
- 五四制青島版數(shù)學(xué)五年級上冊期末測試題及答案(共3套)
- 員工內(nèi)部崗位調(diào)換申請表
- 商法題庫(含答案)
評論
0/150
提交評論