Android初學(xué)者學(xué)習(xí)筆記_第1頁
Android初學(xué)者學(xué)習(xí)筆記_第2頁
Android初學(xué)者學(xué)習(xí)筆記_第3頁
Android初學(xué)者學(xué)習(xí)筆記_第4頁
Android初學(xué)者學(xué)習(xí)筆記_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

Android筆記使用Android與EclipseADT創(chuàng)建并運(yùn)行應(yīng)用程序在Android簡介得開始部分,我將幫助您盡可能快地創(chuàng)建一個(gè)簡單得Android應(yīng)用程序。您將使用Android4、2與EclipseAndroidDevelopmentTools(ADT)插件來創(chuàng)建一個(gè)基于Java得HelloWorld應(yīng)用程序。為Android建立開發(fā)環(huán)境得途徑有兩種。剛接觸Eclipse與Android得開發(fā)人員可以先下載ADT(AndroidDeveloperTools)Bundle。ADTBundle捆綁了一個(gè)AndroidSDK與一個(gè)Eclipse版本,其中已經(jīng)安裝了ADT插件。這個(gè)程序包可幫助您快速、輕松地使用Android。如果Eclipse已經(jīng)安裝在臺(tái)式機(jī)上并設(shè)置好,那么請(qǐng)手動(dòng)下載并安裝AndroidSDK?;A(chǔ)AndroidSDK包含一些可簡化Android開發(fā)得系統(tǒng)工具,但它缺乏開發(fā)特定Android版本所需得Android庫。為您得操作系統(tǒng)下載基礎(chǔ)AndroidSDK后,可以訪問SDK安裝目錄得工具目錄,并運(yùn)行清單1中得Android腳本。清單1、啟動(dòng)AndroidSDKManager~/Development/tools/android/android-sdk-mac_x86/tools$>、/android該腳本啟動(dòng)了AndroidSDKManager,您可以下載Android得各種版本與庫,并創(chuàng)建模擬程序或虛擬設(shè)備實(shí)例。AndroidSDKManager打開了一個(gè)窗口,其中顯示一個(gè)很長得要下載得選項(xiàng)得列表,如圖1所示。圖1、SDKManager在左側(cè)復(fù)選框中,選擇Tools,然后選擇Android4、2(API17)。該文件夾將會(huì)顯示許多選項(xiàng)。選擇SDKPlatform與ARMEABIv7aSystem圖片,如圖2所示。圖2、SDKManager中得選擇單擊Installpackages并接受任何必要許可;管理器將完成其余步驟。創(chuàng)建一個(gè)模擬器接下來,創(chuàng)建一個(gè)模擬器實(shí)例,這就是一個(gè)運(yùn)行應(yīng)用程序得虛擬設(shè)備。模擬器必須以Android得特定版本為目標(biāo),因此我們將創(chuàng)建一個(gè)運(yùn)行Android4、2得模擬器實(shí)例。再次啟動(dòng)SDKManager(如果已關(guān)閉得話)。如果AndroidSDK工具或平臺(tái)工具已更新,則重啟SDKManager。在SDKManager頂層菜單中,選擇Tools>ManageAVDs會(huì)打開關(guān)于AndroidVirtualDeviceManager得新對(duì)話框,如圖3所示。圖3、AndroidVirtualDeviceManager該對(duì)話框列出了您得機(jī)器上定義得所有模擬器。模擬器列表在創(chuàng)建模擬器之前就是空得。單擊New打開CreateanewAndroidVirtualDevice(AVD)對(duì)話框,在其中可以定義一個(gè)模擬器。在Target下拉列表中選擇Androidversion4、2。在AVDName文件夾中,為模擬器命名,我使用得名稱就是Android_4、2。當(dāng)您準(zhǔn)備好測試應(yīng)用程序時(shí),就可以使用該名稱從命令行啟動(dòng)模擬器。圖4、創(chuàng)建一個(gè)新得Android虛擬設(shè)備在圖4中,您可以瞧到一些AVD選項(xiàng),包括設(shè)備類型、攝像頭設(shè)置、內(nèi)存與存儲(chǔ)。在我得示例中,選擇了GalaxyNexus,對(duì)它使用了一個(gè)200MB得SD卡。最后,我選中了UseHostGPU模擬選項(xiàng),這可以提高模擬器實(shí)例得性能。單擊OK,在AVD對(duì)話框中查瞧列出得新得虛擬設(shè)備。選擇該設(shè)備并單擊Start,這將打開一個(gè)帶有啟動(dòng)選項(xiàng)得對(duì)話框?,F(xiàn)在,使用默認(rèn)值并單擊Launch。模擬器實(shí)例得啟動(dòng)時(shí)間較長,因此這個(gè)時(shí)候可以去喝一杯咖啡,瀏覽一下Facebook或更新您得Twitter狀態(tài)。圖5、新得Android設(shè)備!過一會(huì)后,一個(gè)閃亮得模擬器設(shè)備(類似圖5)將會(huì)顯示在您得主屏幕上,這意味著您可以開始創(chuàng)建Android4、2應(yīng)用程序了。設(shè)置EclipseADT如果Eclipse已經(jīng)安裝到系統(tǒng)中,那么您必須在繼續(xù)后面得操作之前添加AndroidDevelopmentTools(ADT)插件庫。在Eclipse菜單中,打開Help>FindNewSoftware。單擊Add與ADT插件得URL:(參見圖6)。圖6、添加ADT插件庫完成插件下載后,根據(jù)操作說明完成安裝。將ADT插件配置為可以使用您剛才安裝得SDK?,F(xiàn)在,您得項(xiàng)目已針對(duì)Android4、2平臺(tái)完成了設(shè)置,并使用了您配置好得模擬器?;仨撌资褂肁ndroid4、2!要在Eclipse中創(chuàng)建Android應(yīng)用程序,請(qǐng)選擇創(chuàng)建AndroidApplicationProject得選項(xiàng)。在NewAndroidApplication對(duì)話框中,提供應(yīng)用程序名稱、項(xiàng)目名稱與包名稱。應(yīng)用程序名稱就是用戶在設(shè)備圖標(biāo)中瞧到得內(nèi)容;而項(xiàng)目名稱就是您得項(xiàng)目在Eclipse中得名稱。圖7、創(chuàng)建一個(gè)新得Android項(xiàng)目在圖7所示得NewAndroidApplication對(duì)話框中執(zhí)行下面得步驟:在TargetSDK下拉列表中,選擇API17:Android4、2(JellyBean),然后單擊Next。在下一個(gè)對(duì)話框中,保留默認(rèn)設(shè)置,但就是您可以將最終生成得代碼放到任意位置。單擊Next。保留ConfigureLauncherIcon對(duì)話框中得默認(rèn)設(shè)置并單擊Next。保留CreateActivity對(duì)話框與最終對(duì)話框中得默認(rèn)設(shè)置,這些設(shè)置用于選擇應(yīng)用程序得行為。單擊Finish。如果項(xiàng)目創(chuàng)建成功,您會(huì)瞧到一個(gè)新得項(xiàng)目,其用戶界面類似圖8中所示得界面。圖8、Eclipse中得樣例啟動(dòng)項(xiàng)目在Android模擬器中運(yùn)行應(yīng)用程序默認(rèn)情況下,使用ADT項(xiàng)目向?qū)?chuàng)建得Android項(xiàng)目將創(chuàng)建一個(gè)簡單得HelloWorld移動(dòng)應(yīng)用程序(參見圖8)。在開始修飾這個(gè)應(yīng)用程序之前,讓我們來瞧一瞧在模擬器上運(yùn)行這個(gè)基本應(yīng)用程序會(huì)發(fā)生什么。如果Android4、2模擬器處于關(guān)閉狀態(tài),請(qǐng)打開它。這一次不會(huì)在AVDManager中啟動(dòng)模擬器,而就是通過命令行啟動(dòng)它。您可以從SDK得tools目錄訪問emulator腳本。在啟動(dòng)腳本時(shí),系統(tǒng)會(huì)要求您提供您得模擬器得名稱。我得模擬器得名稱為Android_4、2,因此我在清單2中運(yùn)行腳本來啟動(dòng)我得模擬器實(shí)例:清單2、在命令行中訪問模擬器~/Development/tools/android/android-sdk-mac_x86/tools$>、/emulator-avdAndroid_4、2啟動(dòng)您得模擬器實(shí)例,返回Eclipse,然后選擇您得項(xiàng)目。右鍵單擊并選擇RunAs>AndroidApplication。圖9、從Eclipse中運(yùn)行項(xiàng)目默認(rèn)情況下,Eclipse將在目前正運(yùn)行得模擬器上部署您得應(yīng)用程序(圖9)。您得模擬器實(shí)例現(xiàn)在顯示了一個(gè)白色得屏幕,其中顯示了所有Java開發(fā)人員都喜歡得問候語!如果Eclipse因?yàn)槟撤N原因在模擬器上運(yùn)行應(yīng)用程序時(shí)出現(xiàn)故障,則需要返回到RunAs選項(xiàng)并選擇RunConfigurations。在Target選項(xiàng)卡中,重新選擇Automaticallyselectcompatibledevice,并確保您得模擬器也被選中。圖10、HelloWorld!回頁首基本Android應(yīng)用程序您現(xiàn)在有了一個(gè)基本得HelloWorld應(yīng)用程序,可以在任何與4、2兼容得Android設(shè)備上運(yùn)行它。最后,您可能希望定制這個(gè)應(yīng)用程序,以便添加更多得功能。目前,我希望對(duì)Android應(yīng)用程序進(jìn)行分析。Android得特制JVMAndroid應(yīng)用程序就是使用Java代碼進(jìn)行編寫得,但并沒有在標(biāo)準(zhǔn)JVM上運(yùn)行它們。作為Android構(gòu)建得一部分,我們會(huì)對(duì)Java字節(jié)代碼進(jìn)行轉(zhuǎn)換,并針對(duì)移動(dòng)設(shè)備得內(nèi)存與處理需求進(jìn)行特殊處理。請(qǐng)參閱參考資源,詳細(xì)了解Android應(yīng)用程序得架構(gòu)與Dalvik虛擬機(jī)?;氐紼clipseIDE。在項(xiàng)目得src目錄中,導(dǎo)航到項(xiàng)目得、java文件。如果您保留了所有默認(rèn)值,那么該文件得名稱應(yīng)為MainActivity。Activity類就是Android移動(dòng)應(yīng)用程序得驅(qū)動(dòng)引擎,類似于servlets對(duì)于Java服務(wù)器端應(yīng)用程序得意義。每個(gè)Activity都有一個(gè)生命周期,類似于Javaapplet得生命周期。HelloWorld應(yīng)用程序只包含基本得架構(gòu),因此其Activity非常簡單。首先,該類將從Android得Activity類擴(kuò)展。activity得入口點(diǎn)就是onCreate方法,它在應(yīng)用程序加載時(shí)由平臺(tái)啟動(dòng)。這個(gè)方法中得關(guān)鍵代碼就是setContentView調(diào)用。清單3顯示了默認(rèn)得MainActivity類。清單3、MainActivitypackagecom、example、hello;importandroid、os、Bundle;importandroid、app、Activity;importandroid、view、Menu;publicclassMainActivityextendsActivity{@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super、onCreate(savedInstanceState);setContentView(R、layout、activity_main);}@OverridepublicbooleanonCreateOptionsMenu(Menumenu){getMenuInflater()、inflate(R、menu、activity_main,menu);returntrue;}}在清單3中,setContentView加載了activity_main布局,它就是您在第一次打開項(xiàng)目時(shí)在Eclipse中瞧到得視圖得名稱。該名稱與res/layout目錄中得activity_main、xml文件對(duì)應(yīng)。打開該文件,查瞧應(yīng)用程序得圖形化表示。在視圖得左下方得選項(xiàng)卡中,有一個(gè)查瞧原始XML文件得選項(xiàng),可以單擊該選項(xiàng)來查瞧原始文件,內(nèi)容類似于清單4。清單4、原始布局得定義<RelativeLayoutxmlns:android=""xmlns: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:layout_centerHorizontal="true"android:layout_centerVertical="true"android:text="@string/hello_world"/></RelativeLayout>Android視圖就是在XML文件中定義得。每個(gè)視圖都有一個(gè)布局,您可以向其中添加小部件,比如按鈕或文本字段。目前,樣例應(yīng)用程序有一個(gè)RelativeLayout與一個(gè)小部件:TextView。如果仔細(xì)觀察這個(gè)小部件,您會(huì)發(fā)現(xiàn)一個(gè)文本字段,它被設(shè)置為一個(gè)引用:@string/hello_world。該變量就是指向?qū)嶋H字符串得指針,您可以在res/values/strings、xml文件中找到它。打開該文件。要查瞧原始XML,請(qǐng)單擊左下方區(qū)域得strings、xml選項(xiàng)卡。清單5、strings、xml文件<?xmlversion="1、0"encoding="utf-8"?><resources><stringname="app_name">Hello4、2</string><stringname="hello_world">Helloworld!</string><stringname="menu_settings">Settings</string></resources>清單5中得第二個(gè)字符串定義將hello_world映射到HelloWorld!。Androidmanifest您目前已經(jīng)了解了Android應(yīng)用程序得三個(gè)重要元素就是如何聯(lián)系起來得:行為、布局與資源文件。在應(yīng)用程序啟動(dòng)時(shí),AndroidOS將調(diào)用MainActivity得onCreate方法。onCreate方法隨后會(huì)加載布局,該布局從另一個(gè)XML資源文件獲取一些值。在本例中,結(jié)果就是一個(gè)顯示了“HelloWorld!”得簡單得UI。但就是,設(shè)備如何知道應(yīng)該調(diào)用哪個(gè)Activity?現(xiàn)在就是AndroidManifest、xml發(fā)揮作用得時(shí)候了。在項(xiàng)目根目錄中查瞧這個(gè)文件。單擊該文件,Eclipse會(huì)加載一個(gè)簡潔得定制視圖,視圖左下角有一些選項(xiàng)卡。單擊標(biāo)簽為AndroidManifest、xml得選項(xiàng)卡將會(huì)顯示清單6所示得原始XML。清單6、AndroidManifest、xml<?xmlversion="1、0"encoding="utf-8"?><manifestxmlns:android=""package="com、example、hello"android:versionCode="1"android:versionName="1、0"><uses-sdkandroid:minSdkVersion="8"android:targetSdkVersion="17"/><applicationandroid:allowBackup="true"android:icon="@drawable/ic_launcher"android:label="@string/app_name"android:theme="@style/AppTheme"><activityandroid:name="com、example、hello、MainActivity"android:label="@string/app_name"><intent-filter><actionandroid:name="android、intent、action、MAIN"/><categoryandroid:name="android、intent、category、LAUNCHER"/></intent-filter></activity></application></manifest>該文件得作用就是向底層設(shè)備解釋您得應(yīng)用程序。它包含一個(gè)名為application得XML塊,其中定義了activity。您得MainActivity將被引用,action被定義并包含一個(gè)category。action會(huì)告訴設(shè)備要啟動(dòng)哪一個(gè)Activity。在本例中,action將您得Activity描述為MAIN。AndroidManifest、xml文件中得其她重要聲明包括uses-sdk部分,它表示min版本為8(即Android2、2、x),目標(biāo)版本為17,即Android4、2。我在后面得文章中將會(huì)介紹這些細(xì)節(jié)。現(xiàn)在,只需明白Android平臺(tái)提供了可以兼容早期版本得庫就足夠了Android常用縮寫SDK:softwaredevelopmentkit軟件開發(fā)工具包AWT:abstractwindowtoolkit抽象窗口工具DalvikVM:(冰島小鎮(zhèn)得名稱)經(jīng)過優(yōu)化后得JVM叫做dalvikvmADT:androiddevelopmenttoolsAndroid開發(fā)工具(AndroidSDK包含一個(gè)Eclipse插件名為ADT)IDE:integrateddevelopmentenvironment集成開發(fā)環(huán)境Eclipse就是一個(gè)集成開發(fā)環(huán)境。它把開發(fā)需要得很多工具都集成到一起,方便開發(fā)人員進(jìn)行開發(fā)。QEMU:處理器模擬器Invoke調(diào)用——invokewebbrowser調(diào)用web瀏覽器。Intent意圖Action功能View瞧Parse分析描述uri、parse(“”);Uri:web上可用得每種資源,如HTML文檔,圖像,視頻,程序等,由一個(gè)通用資源標(biāo)示符等進(jìn)行定位。URL就是URI得一個(gè)子集。即URI包含URL。AVD:AndroidvirtualdeviceAndroid運(yùn)行得虛擬設(shè)備Internalstorage:內(nèi)存儲(chǔ)器。(定義Android手機(jī)類型)Snapshot快照功能UseHostGPU使用主機(jī)GPUAllocate:分配面向Failedtoallocatememory面向內(nèi)存錯(cuò)誤SimpleOnGesture[?d??st??]Listener:簡單得手勢動(dòng)作監(jiān)聽Navigationtype:導(dǎo)航類型LinearRelative(親屬)Table3種布局類型onFling/Fling:扔,投擲motioneven/motion:動(dòng)作swipedetector:重?fù)籼綔y器

基礎(chǔ)知識(shí)Android得開發(fā)使用得就是Java語言,所以我們需要下載JVM(Java虛擬機(jī))來解釋運(yùn)行Java字節(jié)碼。JVM通常會(huì)提供必需得優(yōu)化使Java運(yùn)行時(shí)能達(dá)到與C等其她編譯語言相當(dāng)?shù)眯阅芩?。因?yàn)锳ndroid屬于Java得分支,可以這么說Android就是Java得簡化。所以我們可以想到Android不需要全部得Java內(nèi)容,她所使用得JVM也就當(dāng)然就是簡化后得JVM,相比Java得JVM要簡化很多,當(dāng)然這也限制了手機(jī)得內(nèi)存,處理器速度與功能。經(jīng)過優(yōu)化后得JVM叫做dalvikVM。一個(gè)手持設(shè)備得總RAM可能只有64MB。可供應(yīng)用程序使用得空間可能只有20MB。SD卡:就我們說得手機(jī)得存儲(chǔ)卡。DalvikVM獲取生成得Java類文件,將她們組合成一個(gè)或多個(gè)dalvik可執(zhí)行文件,該可執(zhí)行文件得后綴名為、dex。它重用多個(gè)類文件得重復(fù)信息與未壓縮得、jar文件相比,有效地將空間需求減少了一半。例:Android中WEB瀏覽器得、dex約200K,而對(duì)應(yīng)得未壓縮得、jar版本約500K。DalvikVM使用了一個(gè)不同得匯編代碼生成方法。使用寄存器而不就是棧作為主要得數(shù)據(jù)存儲(chǔ)單元。采用dalvikVM后,Android中最終得可執(zhí)行程序代碼不就是基于Java字節(jié)碼,而就是基于、dex文件。這意味著無法直接運(yùn)行Java字節(jié)碼,必須首先得到Java類文件及、class文件,然后將她們轉(zhuǎn)換成、dex文件。、Java–>、class->、dexminimumrequiredSDK又為miniSdk,就是您程序最低支持得SDK版本,這個(gè)現(xiàn)在一般miniSDK設(shè)定一般為8或者10、Takequiz:測試takeourquiztofindout。來做做測試尋找答案吧。Android基本組件View:構(gòu)成用戶界面得組件View就是一個(gè)UI元素,就是構(gòu)成用戶界面得基本構(gòu)建塊。View就是分層得,它們知道如何繪制自身。View可以就是一個(gè)按鈕,標(biāo)簽或文本字段,或者各種其她UI元素。Activity:屏幕Activity就是一個(gè)用戶界面得概念。Activity通常表示應(yīng)用程序中得一個(gè)屏幕。它通常包含一個(gè)或多個(gè)view。Intent:意圖(消息機(jī)制)Intent通常定義執(zhí)行某種工作得“意圖”。(意圖:某種目得。)intent封裝了幾種概念,所以理解她們得最佳方法就就是查瞧她們得使用示例??梢允褂胕ntent來執(zhí)行以下任務(wù)。<廣播消息啟動(dòng)service啟動(dòng)activity顯示網(wǎng)頁或一組聯(lián)系人撥出或接聽電話>Intent并不總就是由應(yīng)用程序發(fā)起,系統(tǒng)也會(huì)使用她們來向應(yīng)用程序傳遞特定得事件(比如收到一條文本消息)。Intent可以就是顯式得,也可以就是隱式得。如果只就是希望顯示一個(gè)URL,那么系統(tǒng)將會(huì)決定哪些組件能滿足此意圖,您也可以提供由什么來處理改意圖得具體信息,intent將操作與操作處理程序輕松地鏈接在一起。Contentprovider:content目標(biāo)pr

溫馨提示

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

評(píng)論

0/150

提交評(píng)論