版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、Android程序開發(fā)初級教程(一)功能:+ Application framework:可重用的和可替換的組件部分,在這個層面上, 所有的軟件都是平等的。+ Dalvik virtul machine:一個基丁 Linux 的虛擬機(jī)。+ Integrated browser:一個基丁開源的 WebKit引擎的瀏覽器,在應(yīng)用程序?qū)印? Optimized graphics:包含一個自定義的2D圖形庫和基丁 OpenGLES1.0標(biāo)準(zhǔn)的3D實(shí)現(xiàn)。+ SQLite:數(shù)據(jù)庫+ Media support:通用的音頻,視頻和對各種圖片格式的支持 (MPEG4,H.264, MP3, AAC, AMR,
2、 JPG, PNG, GIF)+ GSM Telephony: GSM移動網(wǎng)絡(luò),硬件支持。+ Bluetooth, EDGE, 3G, and WiFi:都依賴丁硬件支持。+ Camera, GPS, compass, and accelerometer:都依賴于硬件支持。+ Rich development environment:包含一套完整的開發(fā)工具集,方便跟蹤調(diào)試,內(nèi)存檢測和性能測試,而且提供了Eclipse的插件。下面我們就來親身體驗(yàn)一下Android程序的開發(fā)之旅。先介紹一下開發(fā)環(huán)境,下面是對系統(tǒng)及相關(guān)軟件的版本要求:操作系統(tǒng):Windows XP or VistaMac OS X
3、 10.4.8 or later (x86 only)Linux (tested on Linux Ubuntu Dapper Drake)Supported Development EnvironmentsEclipseEclipse 3.2, 3.3 (Europa)Android Development Tools plugin (optional)Other development environments or IDEsJDK 5 or JDK 6 (JRE alone is not sufficient)Not compatible with Gnu Compiler for Ja
4、va (gcj)Apache Ant 1.6.5 or later for Linux and Mac, 1.7 or later for Windows我使用Eclipse 3.3 + JDK 1.6. + Ant 1.7的組合。還有兩個重要的就是:Android SDK 以及 Android 用丁 Eclipse 中的插件。Android SDK 的下載鏈接:如果你是第一次使用這些軟件,請注意安裝順序和設(shè)置好環(huán)境變量。一般的順序是先安裝JDK然后解壓ant壓縮包,然后設(shè)置java環(huán)境變量和ant 環(huán)境變量, 然后是解壓Android SDK,再設(shè)置Android SDK的環(huán)境變量。 總 之
5、就是把JDK, ANT, Android SDK 的路徑添加到path 里。Android for eclipse plug in在安裝過程很簡單,通過網(wǎng)絡(luò)安裝插件就可以了,這個是 URL: https:/dl-具體的配置過程,可以查看:以下為一個hello Android的開發(fā)步驟:創(chuàng)建一個項(xiàng)目:創(chuàng)建一個新項(xiàng)目是很簡單的,只要你安裝了 Eclipse插件,并且你的Eclipse 軟件版本在3.2或3.3,你就可以開始開發(fā)了。首先,看一下要創(chuàng)建"Hello, World"程序從高級層面上有哪些步驟:1, 通過 File -> New -> Project菜單,建
6、立新項(xiàng)目"Android Project"2, 填寫新項(xiàng)目各種參數(shù)。3, 編輯自動生成的代碼模板。盡此而已,我們通過下面的詳細(xì)說明來完成每個步驟。1,創(chuàng)建一個新的Android項(xiàng)目啟動Eclipse, 選擇 File -> New -> Project 菜單,如果你安裝好了 Android的Eclipse 插件,你將會在彈出的對話框中看到"Android Project" 的選項(xiàng)。L New ProjectSelect a wizardWizards:Mlmva Project去 Java Project from Existing Ant
7、Buildfile:Plug-in Project> Generalp & Android©Android Project> &C> 0C + +> &CVS> &Ecjipse Modelinq Framework二INext >Cancel選擇 “Android Project ”,點(diǎn)擊 Next 按鈕。2,填寫項(xiàng)目的細(xì)節(jié)參數(shù).下面的對話框需要你輸入與項(xiàng)目有關(guān)的參數(shù): x*New Android ProjectNew Android ProjectCreates a new Android Project res
8、ource.Project namen |HelloAndroidContents(5 Create new project in workspaceO Create project from existing sourcep Use default iocatton" 1PropertiesPackage name: | com.google, and raid helloActivity name: |HelloAndroidApplication namei |Hello, Android< BackFinishCancel I這個表格中詳細(xì)介紹了每個參數(shù)的含義:Proj
9、ect Name:包含這個項(xiàng)目的文件夾的名稱。Package Name:包名,遵循JAVA見范,用包名來區(qū)分不同的類是很重要的, 例子中用到的是"com.google.android", 你應(yīng)該按照你的計劃起一個有別丁這個 的路徑的名稱。Activity Name:這是項(xiàng)目的主類名,這個類將會是 Android的Activity類的子類。一個Activity 類是一個簡單的啟動程序和控制程序的類。它可以根據(jù)需要創(chuàng)建界面,但不是必須的Application Name:一個易讀的標(biāo)題在你的應(yīng)用程序上。在"選擇欄"的 "Use default loc
10、ation" 選項(xiàng),允許你選擇一個已存在的項(xiàng)目。3,編輯自動生成的代碼。當(dāng)項(xiàng)目創(chuàng)建后,你剛才創(chuàng)建的 HelloAndroid就會是包含下面的代碼.public class HelloAndroid extends Activity/* Called when the activity is first created. */Overridepublic void onCreate(Bundle icicle)super.onCreate(icicle);setContentView(R.layout.main);下面我們開始修改它構(gòu)建界面當(dāng)一個項(xiàng)目建立好以后,最直接的效果,就是在屏幕
11、上顯示一些文本,下面 是完成后的代碼,稍后我們在逐行解釋。public class HelloAndroid extends Activity (/* Called when the activity is first created. */Overridepublic void onCreate(Bundle icicle) (super.onCreate(icicle);TextView tv = new TextView(this);tv.setText("Hello, Android");setContentView(tv);注意你還需要添加import andro
12、id.widget.TextView; 在代碼開端處。在Android程序中,用戶界面是由叫做 Views類來組織的。一個View可以簡單理解為可以繪制的對象,像選擇按鈕,一個動畫,或者一個文本標(biāo)簽(這個程序中),這個顯示文本標(biāo)簽的View子類叫做 TextView.如何構(gòu)造一個TextView:TexiView tv = new TextView(this);TextView的構(gòu)造參數(shù)是 Android程序的Context實(shí)例,Context可以控制系 統(tǒng)調(diào)用,它提供了諸如資源解析,訪問數(shù)據(jù)庫等等。Activity 類繼承自 Context 類,因?yàn)槲覀兊?HelloAndroid 是 Ac
13、tivity 的子類,所以它也是一個Context類,所以我們能用"this"在TextView構(gòu)造中。當(dāng)我們構(gòu)造完TextView后,我們需要告訴它顯示什么:tv.setText("Hello, Android");這個步驟很簡單,當(dāng)我們完成了這些步驟以后,最后要把TextView顯示在屏幕上。setContentView(tv);Activity 的setContentView()方法指示出系統(tǒng)要用哪個 View作為Activity 的界面,如果一個Activity 類沒有執(zhí)行這個方法,將會沒有界面并且 顯示白屏。在這個程序中,我們要顯示文本,所以我
14、們傳入已創(chuàng)建好的TextView c好了,程序代碼已經(jīng)寫好,下面看看運(yùn)行效果。運(yùn)行代碼:Hello, Android使用Android的Eclipse插件就可以很輕松的運(yùn)行你的程序,選擇 Run ->Open Run Dialog。你將會看到下面的對話框下一步,高亮"Android Application" 標(biāo)簽,然后按下左上角的圖標(biāo)(就是像一片紙帶個小星星那個),或者直接雙擊"Android Application" 標(biāo)簽, 你將會看到一個新的運(yùn)行項(xiàng)目,名為"New_configuration".Cis*Create, man
15、dgc, and run configurationsAndroid Application取一個可以表意的名稱,比如"Hello, Android",然后通過Browser按鈕選取你的項(xiàng)目(如果你有很多個項(xiàng)目在Eclipse中,確保你選擇要運(yùn)行的項(xiàng)目),然后插件會自動搜索在你的項(xiàng)目中的Activity 類并且將所有找到的添加在"Activity"標(biāo)簽的下拉歹U表中。我們只有"Hello, Android" 一個項(xiàng)目,所以它會作為默認(rèn)選擇。點(diǎn)擊"Apply"按鈕,下圖到這里,已經(jīng)完成了,你只需要點(diǎn)擊"Ru
16、n"按鈕,然后Android的模擬器將 會啟動,你的應(yīng)用程序就會被顯示出來。將界面實(shí)現(xiàn)用XMLg排下次繼續(xù)介紹如何把界面的布局用 XML示以及使用命令行進(jìn)行編譯和運(yùn)行Android程序。你剛剛完成的"Hello, World"例子我們稱之為”程序化”的界面編排。意思就是說構(gòu)建你的應(yīng)用程序界面是直接使用的源代碼。如果你已經(jīng)完成過很多界面程序,你大概熟悉像此類的方式是多么脆弱: 一個對布局小小的修改會對源代碼造Hello, Androido0 D3 .1口I 10:11 PMHello, Android成很頭疼的事情。如果忘掉與 View的緊密結(jié)合,這個導(dǎo)致代碼出錯和
17、浪費(fèi)你的 調(diào)試時間的界面問題也會很簡單。這就是為什么Android提供了一種可替換的界面構(gòu)建方式:基于XMU勺布局文 件。最簡單的解釋這個概念的方式就是展示一個例子。我們就用剛才創(chuàng)建的項(xiàng)目 來進(jìn)行演示,達(dá)到相同的界面效果。<?xml version="1.0" encoding="utf-8"?><TextView xmlns:android="android:layout_width="fill_parent"android:layout_height="fill_parent"and
18、roid:text="Hello, Android"/>AndroidXML布局文件的大體的結(jié)構(gòu)很簡單。它是一個標(biāo)簽的樹,任何一個標(biāo)簽 就是View類的名字。在這個例子中,它是一個很簡單的只有一個元素的樹,一 個TextView。你可以使用任何繼承自View類的名字作為標(biāo)簽的名字。包括在 你的代碼中自定義的View類。這個結(jié)構(gòu)可以很容易的構(gòu)建界面,它比你在源代 碼中使用的結(jié)構(gòu)和語法更簡單。這個模式的設(shè)計靈感來自于 Web開發(fā)。就是可以 將界面和應(yīng)用程序邏輯分離的模式。在這個例子中,也有些是XML勺屆性,下面是他們的含義:屆性含義xmlns:android這是XM偷名空
19、間的聲明,它是告訴Android的工具, 你將要涉及到公共的屆性已被定義在XML#名空間。在每一個Android的布局文件的最外邊的標(biāo)簽必須有這個 屆性。android:layout_width這個屆性定義了在屏幕上這個 View可用的寬度是多少。android:layout_height這個屆性定義了在屏幕上這個 View可用的高度是多少。android:text設(shè)置TextView所包含的文本內(nèi)容,當(dāng)前設(shè)置為” Hello,Android ” 信息以上就是一個XML布局文件的樣子,但是你需要放在哪里?它要放在你的項(xiàng)目目 錄的res/文件夾下。 “res ”是” resources ”的縮寫
20、,它是存放所有非代碼 資源的文件夾,包含象圖片,本地化字符申和 XMLF局文件。這些Eclipse的插件已經(jīng)給你創(chuàng)建好了,在我們上面的例子中,我們沒有使用它。 在包瀏覽器中,展開res目錄的layout.并且編輯main.xml, 替換掉那個文本 內(nèi)容,然后保存?,F(xiàn)在,在包瀏覽狀態(tài),打開在代碼文件夾中名為R.java的文件,你將看到下面的內(nèi)容:public final class R public static final class attr ;public static final class drawable public static final int icon=0x7f020000
21、;public static final class layout public static final int main=0x7f030000;public static final class string public static final int app_name=0x7f040000;一個項(xiàng)目的R.java文件是一個定義所有資源的索引文件。使用這個類就像使用 一種速記方式來引用你項(xiàng)目中包含的資源。這個有點(diǎn)特別的強(qiáng)大像對于Eclipse 這類IDE的代碼編譯特性,因?yàn)樗鼓憧焖俚?,互動式的定位你正在尋找的特?引用。到目前需要注意的重要事情是叫做” layout ”的內(nèi)部類和他的
22、成員變量” main”, 插件會通知你添加一個新的XML局文件,然后從新產(chǎn)生這個R.java文件,比如你添加了新的資源到你的項(xiàng)目,你將會看到R.java也相應(yīng)的改變了最后重要的事情是你需要去修改你的 HelloAndroid源代碼,去使用新的XMLff 局你的界面。替換掉編碼式的界面模式。下面是你的新代碼的樣子,你可以看到, 代碼變得更加簡單了。public class HelloAndroid extends Activity Overridepublic void onCreate(Bundle icicle) super.onCreate(icicle);setContentView(R
23、.layout.main);R.jav當(dāng)你做這些改變的時候,不要僅僅復(fù)制,粘貼到你的代碼中,嘗試去體驗(yàn) a的代碼編譯特點(diǎn)。你會發(fā)現(xiàn)它對你有很大的幫助。現(xiàn)在完成這些改變以后,你就可以重新運(yùn)行你的程序,然后你會發(fā)現(xiàn)兩種不同的 界面編排方式會產(chǎn)生同樣的效果。調(diào)試你的項(xiàng)目這個用于Eclipse中的Android插件作為Eclipse中的調(diào)試器也具有優(yōu)秀的兼容 性。要演示這些,讓我們制造一個bug在代碼中,改變你的HelloAndroid源代碼象下面這樣:public class HelloAndroid extends Activity (Overridepublic void onCreate(Bu
24、ndle icicle) (super.onCreate(icicle);Object o = null;o.toString();setContentView(R.layout.main);這次簡單的變化會引起一個 NullPointerException 異常,如果你再次運(yùn)行程序, 你將會看到屏幕要找到什么地方出錯,需要設(shè)置個斷點(diǎn)在你源代碼的“Object o = null; ”行后(你可以雙擊在Eclipse中顯示行數(shù)的左部區(qū)域),然后選擇Run -> Debug 選擇最后一次的運(yùn)行加載。你的程序?qū)仄鹉M器,但是這個時候它會掛起, 當(dāng)它走到你剛才設(shè)置的斷點(diǎn)的時候,在Eclips
25、e的調(diào)試模式視圖中,它就會停止 在你的代碼處。就像你可以在其他任意程序中做這個一樣使用其它的IDE工具創(chuàng)建項(xiàng)目調(diào)試你的項(xiàng)目這個用丁 Eclipse中的Android插件作為Eclipse中的調(diào)試器也具有優(yōu)秀的兼容 性。要演示這些,讓我們制造一個bug在代碼中,改變你的HelloAndroid源代碼象下面這樣:public class HelloAndroid extends Activity (/* Called when the activity is first created. */Overridepublic void onCreate(Bundle icicle) (super.on
26、Create(icicle);Object o = null;o.toString();setContentView(R.layout.main);這次簡單的變化會引起一個NullPointerException 異常,如果你再次運(yùn)行程 序,你將會看到下面的屏幕:© ions pmApplication Error: com.google.android.IAn error has occurred In process com.google,android.hetlo. Unable to start activityComponentlnfocom.google.android.
27、heHo/com.googleandroid.heHo-HelloAn droid: Java.lang.NullPointerException.Foireinr要找到什么地方出錯,需要設(shè)置個斷點(diǎn)在你源代碼的“Object o = null; ”行后(你可以雙擊在Eclipse中顯示行數(shù)的左部區(qū)域),然后選擇Run -> Debug選 擇最后一次的運(yùn)行加載。你的程序?qū)仄鹉M器,但是這個時候它會掛起,當(dāng)它走到你剛才設(shè)置的斷點(diǎn)的時候,在Eclipse的調(diào)試模式視圖中,它就會停止在你的代碼處。就像你可以在其他任意程序中做這個一樣。£3 HelloAndrojd.java - HelloAndroid/src/com/google/android1 packagw com. gooq". mn4rcad,品11。:and roid. appvHcmT android.QS.Bundle;import 4imp0rtHelloAndroid/sir/com/google/android/hello/HelloAndrclass HelloAndroid extends Activity '
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 事業(yè)單位年度考核總結(jié)范文7篇
- 減數(shù)分裂和受精作用復(fù)習(xí)教案
- 玉溪師范學(xué)院《民事訴訟法學(xué)》2021-2022學(xué)年期末試卷
- 國際結(jié)算實(shí)務(wù)電子教案各章作業(yè)
- 幼兒園財務(wù)管理制度
- 2023年智能計量終端項(xiàng)目成效分析報告
- ECharts數(shù)據(jù)可視化 教案 第1-3章 初識ECharts 教學(xué)設(shè)計-柱狀圖和散點(diǎn)圖 教學(xué)設(shè)計
- 《黑神話:悟空》2025高中數(shù)學(xué)練習(xí)題含答案
- 2024屆廣西南寧市金倫中學(xué)高考熱身訓(xùn)練數(shù)學(xué)試題試卷
- 餐飲招工合同模板
- 中國電信未來五年信息化發(fā)展規(guī)劃方案出臺
- 15《真理誕生于一百個問號之后》課件
- 孩子分為四種:認(rèn)知型、模仿型、逆思型、開放型
- 小班故事《快樂的輪胎》課件
- 在線網(wǎng)課知慧《大涼山精準(zhǔn)脫貧(西昌學(xué)院)》單元測試考核答案
- 安全評價通則AQ8001-2007
- (2024年)反壟斷法及反不正當(dāng)競爭法課件
- 九年級英語《Unit 13 Were trying to save the earth!》教學(xué)設(shè)計
- 最簡單模具合同
- 工業(yè)物聯(lián)網(wǎng)理論知識試題
- 激光器技術(shù)發(fā)展與應(yīng)用前景
評論
0/150
提交評論