![android入門教程經(jīng)典_第1頁](http://file4.renrendoc.com/view/d57e60e209ca51c5ab60455708bfccaa/d57e60e209ca51c5ab60455708bfccaa1.gif)
![android入門教程經(jīng)典_第2頁](http://file4.renrendoc.com/view/d57e60e209ca51c5ab60455708bfccaa/d57e60e209ca51c5ab60455708bfccaa2.gif)
![android入門教程經(jīng)典_第3頁](http://file4.renrendoc.com/view/d57e60e209ca51c5ab60455708bfccaa/d57e60e209ca51c5ab60455708bfccaa3.gif)
![android入門教程經(jīng)典_第4頁](http://file4.renrendoc.com/view/d57e60e209ca51c5ab60455708bfccaa/d57e60e209ca51c5ab60455708bfccaa4.gif)
![android入門教程經(jīng)典_第5頁](http://file4.renrendoc.com/view/d57e60e209ca51c5ab60455708bfccaa/d57e60e209ca51c5ab60455708bfccaa5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、前言Linux 公社()于 2006 年 9 月 25 日并開通,Linux 現(xiàn)在已經(jīng)成為一種廣受關(guān)注和支持的一種操作系統(tǒng),IDC 是互聯(lián)網(wǎng)數(shù)據(jù)中心,LinuxIDC 就是關(guān)于 Linux 的數(shù)據(jù)中心。提供包括 Ubuntu,F(xiàn)edora,SUSE 技術(shù),以及IT 資訊等 Linux 專業(yè)類。如今的移動開發(fā)有著太多讓為之振奮的事情。硬件越來越精良、平板電腦和開發(fā)平臺(Symbian OS, iOS, We, Windows Phone 7)也層出不窮,移動開發(fā)者的前景一片大好,但與此同時,也為剛準備入門的開發(fā)者帶來了些許困擾。因為對于入門級的移動應用開發(fā)者來說,這里有太多的選擇。你應該選擇哪一
2、個學習哪一門編程語言?你的項目需要什么工具套件?你該在本中,我只向你介紹眾多移動中的一種Android一個由推廣的開源操作系統(tǒng)。相關(guān)Android見 http:/ews.aspx?tid=11為什么要做Android應用開發(fā)?Android 是一個基于 Linux 內(nèi)核的開源,并被安裝于各個廠商的各種移動設(shè)備上。Android 使得你的應用程序能夠輕易使用現(xiàn)代移動設(shè)備上具備的幾乎所有硬件數(shù)字羅盤、相機、GPS、定位傳感器等等。Android 提供的免費開發(fā)工具,使得你只需用很少的經(jīng)費(通常不花任何費用)就能開發(fā)Android 應用。當你準備將自己的Android 應用show 給廣大用戶,你只
3、需要將它發(fā)布在的 Android Market 上去。在第一次發(fā)布你的應用時,只需繳納 25(在筆者落筆時)的費,而且不像在蘋果的 App Store 上發(fā)布應用那樣,每一次發(fā)布都要經(jīng)過嚴格的審核。Android Market 只是簡單而快速地審核一下你的應用便提供給用戶除非你的應用存在明顯的不合法。下面還有幾點 Android 提供給開發(fā)的優(yōu)勢:Android SDK 支持 Windows,Mac 和 Linux,因此并不需要為你的開發(fā)購置新的硬件設(shè)施。Android SDK 是基于 Java 的,所以,如果你已經(jīng)熟悉了 Java 開發(fā),那么,你已經(jīng)可以算是上路了。一旦你將應用發(fā)布至 And
4、roid Market,那它將在一瞬間面向成千上萬的 Android 用戶。而且你的應用并不會局限于這一個市場,因為這里還有許多備用方案,比如你還可以將你的應用發(fā)布在自己的博客上,而且據(jù)傳 Amazon 最近也在準備開放他們的 Android 應用商店。不論是 Android 用戶還是開發(fā)的 Android 資源文件。,都可以像獲得 Android SDK 的產(chǎn)品文檔一樣,獲得新好了,已經(jīng)說得夠多了,現(xiàn)在就開始的 Android 開發(fā)之旅吧!安裝Eclipse和Android SDK我們使用安裝了ADT(Android Development Toolkit )插件的Eclipse作為開發(fā)An
5、droid應用的首選集成開發(fā)環(huán)境。我將在這里對這個環(huán)境的搭建做一個簡單的總結(jié),如果你需要更加詳細的信息,請查看的developages。和你的硬件(Windows, Mac OS X, 或者 Linux)相對應的Android SDK將你的安裝包解壓到一個你記得住的地方(比如在 Linux 上,我選擇 usr/opt/local)如果你沒有安裝Eclipse,那么請先用Eclipse 3.5(Galileo)。并安裝Eclipse IDE for Java Developers.建議使運行 Eclipse,在菜單欄選擇“幫助”“Install New Software”在 Available
6、Software 中點擊 Add 在 Name 這一欄中輸入 Android Development Tools ,隨后在 Location 攔中輸入ssl.g/android/eclipse/點擊確定,勾選中間列表中的 Developer Tools(這會 Development Tools,以及一些 Android 調(diào)試工具)并安裝 Android DDMS,Android點擊下一步,等待 ADT并安裝完成重啟 Eclipse 以便新安裝的插件生效。在重啟后的 Eclipse 中選擇“窗口”“首選項”,你就能看到 Android 被列在了左側(cè)屬性欄中。現(xiàn)在,你需要告訴 Eclipse 你的
7、 Android SDK 放在哪里。點擊左側(cè)的 Android 選項,在右側(cè)選擇“瀏覽”以指定你剛才安裝 Android SDK 的目錄現(xiàn)在點擊確定,保存 Android SDK 的位置。關(guān)于Android在你開始編寫 Android 應用之前,你還需要一個對應于你的 Andorid 開發(fā)設(shè)備的 SDK 平臺。每一個可能安裝于用戶設(shè)備上的都對應一個不同版本的 Android SDK。比如 Android1.5 及以上版本,就有兩種可用的Android Open Source Project 和.是開源的,但是沒有包含的擴展功能,比如Android Open Source Projectmap。
8、如果你沒有選擇版本的 API,那么你的應用將不能使用專有的那些擴展。除非有特殊的原因,否則我還是建議你勾選一個那些擴展功能的好處。,這將會使得你獲得選擇“窗口”“Android SDK and AVD Manager”在左側(cè)列表中選擇 Available Packages,并在右側(cè)勾選 re列表。itory 以顯示當前可用的 Android你可以按己所需,也可以直接勾選所有可用的并進行。選擇完成之后,點擊“Install Selected”并按照之后的安裝指南進行操作即可。當一切都準備就緒,你就可以開始開發(fā) Android 應用了。創(chuàng)建一個新的Android項目Eclipse 自帶的項目創(chuàng)建向
9、導,可以幫助你創(chuàng)建一個新的(包含所需的文件、代碼等)可以直接運行的 Android 應用項目。對于急于想看到程序運行效果的朋友來說,這是一個快捷又省事兒的方法,也是一個引導你進入 Android 世界的良好切入點。選擇“文件”“新建”“Android Project”【bill 注】如中沒有“Android Project”,則選擇“文件”“新建”“項目”然后選擇 Android Project,點擊下一步在彈出的項目選項中,按照下面的配置依次填寫:Project Name: BrewClockBuild:Inc. 1.6 (Api Level 4)Application Name: Brew
10、ClockPackage Name: com.exrewclockCreate Activity: BrewClockActivityMin SDK Ver: 4當你點擊完成之后,Eclipse 就會為你創(chuàng)建一個已經(jīng)可以運行的 Android 項目。你有注意到我們剛才告訴 Eclipse 要生成一個名為 BrewClockActivity 的 Activity 么?這個 Activity 就包含了能夠是你的應用被 Android 運行的基本代碼。這段生成的代碼在運行時將打印出一段類似于 “ o World”的簡短消息。包 packages包名是你的應用的一個標識。當你將應用發(fā)布到 Androi
11、d Market 上時,這個包名將被用于跟蹤你的應用程序更新,所以,你包名的唯一性變得異常重要。盡管這個示例性的應用使用了 com.exrewclock 作為包名,但是在正式的應用開發(fā)中,最好將包名寫成如下格式:com.你的公司名.你的應用程序名。SDK版本 SDK ver上述Project 配置表單中的Min SDK Ver表示你的應用程序至少需要哪個SDK 版本的支持。每一個新版本的 Android 發(fā)布,都會增加或者修改 SDK 中的方法。所以通過指定一個最早可用 SDK 版本,Android(以及 Android Market)就知道你的應用程序只能在擁有這個(及以后)的 SDK 版本
12、的設(shè)備上運行。運行你的應用程序現(xiàn)在讓在 Eclipse 中運行這個應用吧。由于這是第一次運行,Eclipse 會詢問你的項目以何種類型運行選擇“運行”“運行”,或者使用快捷鍵“Ctrl + F11”出現(xiàn) Eclipse 的詢問時,選擇 Android Application 并點擊確定現(xiàn)在,Eclipse 將會試圖在一個 Android 設(shè)備上運行這個應用程序。但是現(xiàn)在,你并沒有任何正在運行的 Android 設(shè)備,所以這次運行嘗試將會失敗,Eclipse 會提示你是否需要創(chuàng)建一個新的 Android 虛擬設(shè)備(AVD)Android 虛擬設(shè)備Android 虛擬設(shè)備(AVD)是一種模仿真實
13、Android 設(shè)備(比如一個 Android或者 Android平板電腦)的模擬器。你可以利用各種 AVD 去測試你的應用在各種 Android 設(shè)備上的表現(xiàn)而無需去購置那些設(shè)備。你可以對每一個 Android的版本都建立一個對應的 AVD。對于每一個 AVD,你都可以自定義這個設(shè)備的一些屬性,比如是否具有物理鍵盤、是否支持 GPS、相機的分辨率等。在你能運行剛才那個應用之前,你需要創(chuàng)建一個對應于該應用的 SDK 版本(的 AVDAPIs 1.6)下面,讓開始吧:如果你還沒有試圖運行那個應用,現(xiàn)在點擊“運行”或者使用快捷鍵“Ctrl + F11”當 Eclipse 彈出提示詢問你是否要創(chuàng)建一
14、個新的模擬器時,點擊確定在彈出的 Android SDK and AVD Manager 中點擊“New”屬性配置如下:點擊“Create AVD”以便創(chuàng)建這個新的 AVD關(guān)閉 Android SDK and AVD Manager框運行應用程序現(xiàn)在,重新運行(Ctrl + F11)你的應用。Eclipse 現(xiàn)在就會編譯你的項目并啟動一個新的 AVD。記住,AVD 模擬器模擬了一個真實的完整的 Android 系統(tǒng),甚至需要像等待真實 Android 設(shè)備的開機自檢一樣等待模擬器的開機程序完成。鑒于此,一旦 AVD 啟動并開始運行,我建議在你的開發(fā)工作完成之前,都不要關(guān)掉這個 AVD(以免再次
15、經(jīng)歷那漫長的啟動過程)當模擬器啟動成功并開始運行,Eclipse 就會自動的向模擬器安裝并運行你的應用。建立你的第一個Android應用這個測試應用程序倒是工作的蠻不錯,但你總得建立自己的真正的應用吧?基于此,通過一個簡單的應用設(shè)計,帶領(lǐng)你一步一步地學會開發(fā) Android 應用并使它在 Android 設(shè)備上運行。如你所知,許多開發(fā)者(包括我在內(nèi))都喜歡在工作之余泡上一杯好茶(或者咖啡)。在接下來的小節(jié)中,我將帶領(lǐng)你創(chuàng)建一個簡單的 tea counter 應用,用于一共沖泡了幾杯茶,并允許他們?yōu)樽约旱臎_泡設(shè)置一個倒計時提醒。目前為止這個用戶你可以在.中到這個應用的源碼。設(shè)計用戶界面在建立任何
16、 Android 應用之前,總需要先設(shè)計并建立用戶界面。下面是這個應用界面的一個預覽:用戶可以通過“+”,“”按鈕設(shè)置沖泡時間(以分為泡倒計時便開始啦。)。當他們點擊“Start”按鈕,沖除非用戶再次點擊該按鈕以取消倒計時,那么當?shù)褂嫊r完成時,沖泡的杯數(shù)就會自動加 1。創(chuàng)建用戶界面Android 的用戶界面(或者說用 XML 文檔描述的 layouts)被保存于項目中的 res/layouts 文件夾。在之前的示例應用中那個顯示“o World”的簡單界面由 Eclipse 自動生成并保存于res/layouts/main.xml 中。Eclipse 也提供了圖形化界面設(shè)計器,它允許你對這些界
17、面元素進行拖拽編排。盡管如此,我還是覺得在 XML 文檔中手動編寫界面,然后在圖形化界面設(shè)計器中預覽我編寫的界面更簡單易行?,F(xiàn)在,讓修改 main.xml 文檔以便使其展現(xiàn)出剛才設(shè)計的那個界面。在 Eclipse 的項目瀏覽器中,雙擊打開 res/layouts/main.xml 文檔選擇 main.xml 的 XML 視圖現(xiàn)在,將 XML 文檔中的內(nèi)容正如你所見,Android 的 XML 布局文件非常冗余,但卻能夠幫助你掌控屏幕上幾乎所有的視覺。在 Android 布局文件中一個重要的布局元素是布局容器(布局方式),比如這個例子中的線性布局(LinearLayout)。這種布局對用戶是不可
18、見的,只作為那些可見的,諸如按鈕、文本框等視覺元素的容器。還有其他許多種布局方式,每(LinearLayout)、絕對布局(Absolu式都提供了一種不同的布局效果。比如線性布局ayout),還有基于網(wǎng)格的表格布局(TableLayout)等等,你可以在Common Layout Objects中找到有關(guān)布局方式的描述。編寫代碼你的布局元素當你完成布局文件的編寫之后,再次運行這個應用,你會發(fā)現(xiàn)界面已經(jīng)不是剛才那個簡單的“面。o world”了,取而代之的是為這個應用設(shè)計的用戶界如果你現(xiàn)在點擊界面中的按鈕,你會發(fā)現(xiàn)他們會表現(xiàn)得和你預期的一樣他們不會為你做任何事情。顯示,但是,下面讓來編寫代碼,使
19、得點擊界面按鈕時有適當?shù)氖虑榘l(fā)生。接著,改變源代碼中的 onCreate()的實現(xiàn)。這是一個回調(diào)函數(shù),只要 Android 系統(tǒng)啟動你的應用,這個方法就會被調(diào)用。在 Eclipse 自動生成的 onCreate()實現(xiàn)中,將的應用布局設(shè)置成了 R.layout.main。正是這一行代碼告訴 Android 系統(tǒng)將碼并展現(xiàn)給用戶。的 layout 布局文件譯1. #/exrewclock/BrewClockActivity.java 2.import android.widget.Button;import android.widget.TextView; 5.public class Brew
20、ClockActivity extendivity /* Properties */protected Button brewAddTime;protected Button brewDecreaseTime;protected Button startBrew;protected TextView brewCountLabel;protected TextView brewTimeLabel; 13.14.15.資源對象 The Resource Object 在 Android 中,R 類是一個特殊的資源類,允許你在自己的 java代碼中通過它項目資源(布局 layouts,字符串 str
21、ings,菜單s,圖標 icons 等等)。每一個資源都被賦予了一個 ID,在上面的 res/layouts/main.xml 布局文件中,通過“+id”這一屬性實現(xiàn)。碼中。利用這一屬性將布局文件中的按鈕或者文本;連接到的 JAVA 實現(xiàn)代Listening For Events事件為了能夠得知用戶在何時點擊了的按鈕,須實現(xiàn)一個器。你可能會覺得這很像其他擁有事件驅(qū)動的Rail 的 callbacks。的 listemers 或者 callbacks,就像 Javascript/JQuery 的 events 或者Android 通過器接口向提供了一個類似的機制。比如 OnClickListen
22、er 接口定義了一個當某事件發(fā)生時會被觸發(fā)的方法。為了讓的應用程序知道用戶點擊了屏幕上的哪一個按鈕,需要實現(xiàn) OnClickListener 接口并將其綁定到某個按鈕上。這樣,當用戶點擊該按鈕時,OnClickListener 就會通知的應用。1. #/exrewclock/BrewClockActivity.java 2./ Be sure not to import/ android.content.dialogerface.OnClickListener.import android.view.View.OnClickListener; 6.public class BrewClockA
23、ctivity extendivityimplements OnClickListener 9.10.public void onCreate(Bundle savedInstane) 11.1. #/exrewclock/BrewClockActivity.java 2.3.public class BrewClockActivity extendivity 4.public void onCreate(Bundle savedInstane) super.onCreate(savedInstane);setContentView(R.layout.main); 8./ Connecterf
24、ace elements to propertiesbrewAddTime = (Button) findViewById(R.id.brew_time_up);brewDecreaseTime = (Button) findViewById(R.id.brew time down);startBrew = (Button) findViewById(R.id.brew_start);brewCountLabel = (TextView) findViewById(R.id.brew count label);brewTimeLabel = (TextView) findViewById(R.
25、id.brew_time);15.16. 接下來,要添加能夠處理這些點擊事件的代碼。還向自己的 Activity 添加了 4 個新的屬性沖泡時間、沖泡倒計時、已經(jīng)完成杯數(shù)以及倒計時是否正在進行的標記。注意,用到了 Android 系統(tǒng)提供的 CountDownTimer(倒數(shù)計時器)。它將使你能夠輕松地創(chuàng)建一個見到的倒數(shù)計時器,并在其運行期間定期通知某些事件。你將在接下來的startBrew 方法中使用到這個計時器。下面的這些方法將實現(xiàn)設(shè)置沖泡時間、開始或終止沖泡以及成功沖泡的杯數(shù)。還將在 onCreate 方法中添加對“沖泡時間”和“成功沖泡杯數(shù)”這兩個屬性的初始化操作。在工程實踐中,將下面
26、這些方法單獨地列寫于各個模塊類中,這里只是為了簡單起見才把他們?nèi)繉懺?BrewClockActivity 這一個類中。1. #/exrewclock/BrewClockActivity.java 2.public class BrewClockActivity extendivityimplements OnClickListener 5.protectedbrewTime = 3;protected CountDownTimer brewCountDownTimer;protectedbrewCount = 0;protectedisBrewing = false; 10.public v
27、oid onClick(View v) if(v = brewAddTime)setBrewTime(brewTime + 1);else if(v = brewDecreaseTime)setBrewTime(brewTime -1);else if(v = startBrew) if(isBrewing)strew();elsestartBrew();21.22.23. / Setup ClickListenersbrewAddTime.setOnClickListener(this);brewDecreaseTime.setOnClickListener(this);startBrew.
28、setOnClickListener(this);16.17.public void onClick(View v) / TODO: Add code to handutton taps20.1.2.#./exrewclock/BrewClockActivity.java.7.public class BrewClockActivity extend implements OnClickListener .public void onCreate(Bundle savedInstan.ivitye) 1.12./ Set the initial brew valu
29、es setBrewCount(0);setBrewTime(3);6.17./*Set an absolute value for the number of minutes to brew.Has no effect if a brew is currently running.param minutes The number of minutes to brew.*/1.22.public void setBrewTime( if(isBrewing)return;minutes) brewTime = minutes;6.27
30、.if(brewTime 1)brewTime = 1;brewTimeLabel.setText(String.valueOf(brewTime) + m);1.32./* Set the number of brewsve been made, and update* theerface.6.37.* param count The new number of brews*/public void setBrewCount(brewCount = count;count) brewCountLabel.setText(String.valueOf(b
31、rewCount);1.42./* Start the brew timer*/43.44.public void startBrew() / Create a new CountDownTimer to track the brew time這一大段代碼中唯一牽涉到 Android 的一部分是通過 setText 方法設(shè)置顯示的 labels。在startBrew 方法中,建立并啟動了一個以秒為的倒數(shù)計時器,直到一次沖泡完成。方法(onTick 和 onFinish)。onTick 方法每注意,內(nèi)嵌地實現(xiàn)了該倒數(shù)計時器的兩個1000 毫秒(1 秒)便會被調(diào)用一次,直到倒數(shù)計時為 0 時,onFinish 方法被調(diào)用。避免硬編碼 Avoiding HardCoded Text in your Code為了使得本的代碼更加簡潔,我故意將那些字符串(比如“Brew Up!”,“Start”,“Stop”等)直接硬編碼在了 JAVA 代碼里。當從大一點的工程項目來考慮, 這是非常糟糕的編程實踐,因為它將會給查找或修改這些字符串帶來極大
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代服務業(yè)的全球化進程與未來趨勢預測報告
- 我們的節(jié)日端午節(jié)包粽子活動方案
- 生態(tài)城市規(guī)劃中的公園綠地建設(shè)
- 現(xiàn)代物流技術(shù)創(chuàng)新開啟智能化時代
- 客戶滿意度調(diào)查的解決方案
- 2023六年級數(shù)學上冊 四 圓的周長和面積 1圓的周長 圓的周長公式的拓展應用說課稿 冀教版
- 14-2《變形記》(節(jié)選)(說課稿)-2024-2025學年高一語文下學期同步教學說課稿專輯(統(tǒng)編版必修下冊)
- 11 屹立在世界的東方 第1課時 說課稿-2023-2024學年道德與法治五年級下冊統(tǒng)編版001
- 2023二年級數(shù)學上冊 五 測量長度 1用厘米作單位量長度第3課時 用厘米、分米作單位量長度的練習說課稿 西師大版
- Unit 5 Whose dog is it(說課稿)-2023-2024學年人教PEP版英語五年級下冊
- 房地產(chǎn)調(diào)控政策解讀
- 山東省濟寧市2025屆高三歷史一輪復習高考仿真試卷 含答案
- 五年級數(shù)學(小數(shù)乘法)計算題專項練習及答案
- 產(chǎn)前診斷室護理工作總結(jié)
- 2024-2025學年八年級數(shù)學人教版上冊寒假作業(yè)(綜合復習能力提升篇)(含答案)
- 氫氣-安全技術(shù)說明書MSDS
- 《AP內(nèi)容介紹》課件
- 2024年社會工作者(中級)-社會綜合能力考試歷年真題可打印
- 初中化學校本課程
- 科技文獻檢索
- GB/T 18665-2008地理標志產(chǎn)品蒙山茶
評論
0/150
提交評論