第十五章 示例項(xiàng)目

2021-10-21 13:52 更新

第十五章 示例項(xiàng)目

Android SDK示例項(xiàng)目中的應(yīng)用能夠執(zhí)行種種功能,例如各類用戶界面元素、數(shù)據(jù)管理、交互、媒體及連接使用說明等。即使大家不打算在自己的開發(fā)過程中用到示例所包含的某些特定應(yīng)用類型,其中的大部分功能仍然適用于其它不同類型的應(yīng)用??偠灾@些示例資源值得大家探索一番。

1. 安裝

第一步

要在Eclipse當(dāng)中直接使用Android示例項(xiàng)目,大家首先需要確保自己已經(jīng)將其正確安裝到位。在“Android SDK Manager”當(dāng)中選擇“Window”,在拉下來的軟件包列表當(dāng)中大家會在每個API級別的文件夾當(dāng)中找到不同示例——選擇最新的一個然后將其展開。如果其中的“Samples for SDK”尚未安裝,現(xiàn)在就將其選中并安裝。

15.1sdk_manager_samples

示例項(xiàng)目安裝完成之后,大家就可以在Eclipse當(dāng)中直接找到它們了。請記住,我們在本系列教程的前幾篇文章中談到過如何利用SDK Manager保持Android SDK工具處于最新狀態(tài),因此請各位在當(dāng)前擁有可更新內(nèi)容時馬上進(jìn)行安裝。

2. 創(chuàng)建示例項(xiàng)目

第一步

大家可以在Eclipse當(dāng)中創(chuàng)建一個示例項(xiàng)目,從而查看該示例中的代碼并在物理或者虛擬設(shè)備上加以運(yùn)行。這樣我們就能通過復(fù)制和粘貼來借用示例當(dāng)中所涉及的算法,或者通過解讀與學(xué)習(xí)把握概念、今后用在自己的應(yīng)用程序當(dāng)中。要在Eclipse當(dāng)中創(chuàng)建示例項(xiàng)目,需依次選擇“File”、“New”然后是“Project”。展開Android文件夾之后,選擇“Android Sample Project”然后點(diǎn)擊“Next”。

15.2create_sample_project

選擇一個創(chuàng)建目標(biāo)并點(diǎn)擊“Next”。

15.3sample_build_target

現(xiàn)在大家可以從示例列表當(dāng)中作出選擇,其中包括早期遺留示例——大部分屬于全功能應(yīng)用,包含我們可能在首次應(yīng)用開發(fā)工作中所需要的處理流程類型。大家可以在業(yè)余時間慢慢研究這些示例,但作為初次接觸、我們這里先選擇“Notpad”示例并點(diǎn)擊“Finish”。

15.4notepad_sample

Eclipse會在我們的工作區(qū)當(dāng)中利用示例代碼創(chuàng)建應(yīng)用,過程與創(chuàng)建我們自己開發(fā)的應(yīng)用一樣。完成后,大家應(yīng)該可以在自己的Package Explorer當(dāng)中找到Notepad應(yīng)用了。展開該應(yīng)用的文件夾,我們還可以進(jìn)一步查看其中的內(nèi)容。

15.5sample_package_explorer

第二步

大家可以花點(diǎn)時間看看示例項(xiàng)目當(dāng)中所包含的各個文件,其中包括Manifest、source doe以及resource files,例如布局、可繪制對象、值以及菜單等。Notepad應(yīng)用對于初學(xué)者來說算是很好的資源,大家可以通過它了解Android平臺上很多常見的功能類型。現(xiàn)在讓我們打開Manifest文件并切換到XML選項(xiàng)卡。

大家不要被示例文件當(dāng)中復(fù)雜的文件結(jié)構(gòu)所嚇倒。如果各位在Eclipse View當(dāng)中查看這些內(nèi)容,特別是采用Outline View,肯定會看到它們與我們在前幾篇文章中開發(fā)過的應(yīng)用擁有同樣的整體結(jié)構(gòu)。

15.6notepad_manifest

源文件當(dāng)中通常包含大量代碼注釋,因此如果大家不能確定特定代碼段的具體含義、完全可以從注釋當(dāng)中得到解答。在Outline View當(dāng)中展開元素,我們會看到NotesList Activity將以應(yīng)用程序main launcher Activity的形式被詳細(xì)列出。由于這是在系統(tǒng)上進(jìn)入應(yīng)用程序的主要入口,因此我們可以將其作為很好的應(yīng)用源代碼探索起點(diǎn)。

第三步

在花時間瀏覽過其它Manifest內(nèi)容之后,打開Notepad應(yīng)用src文件夾下的NoteList Activity。

如大家所見,所有源代碼都擁有良好的注釋,不僅該類的作用擁有詳盡說明、其中每個方法以及各方法的組成部分也經(jīng)過了解釋。下面請?jiān)贠utine View當(dāng)中查看onCreate方法。

15.7outline_oncreate

大家可以很直觀地發(fā)現(xiàn),onCreate方法中的代碼與之前我們所看到的ListActivity只存在細(xì)微的差別。我們發(fā)現(xiàn)列表當(dāng)中的每個條目都會引用同一種布局,也就是noteslist item。打開應(yīng)用程序的res布局文件夾并找到該布局。大家可以在該布局條目的標(biāo)記與圖形視圖之間進(jìn)行切換,這一點(diǎn)我們之前也已經(jīng)說明過了。

大家可以利用這種通用型方式探索所有示例應(yīng)用,即瀏覽各種組成元素、以邏輯方式遵循引用關(guān)系逐步查看各個源文件。

第四步

大家可以在物理設(shè)備或者Android虛擬設(shè)備(簡稱AVD)上運(yùn)行這些示例應(yīng)用,具體方式與運(yùn)行自己開發(fā)的應(yīng)用程序完全相同。讓我們再次捋清思路:接入一臺設(shè)備或者啟動AVD,而后進(jìn)入Run Configurations。在其中選擇Android Application,點(diǎn)擊New按鈕并利用Browse按鈕定位要運(yùn)行的示例應(yīng)用。如大家所示,運(yùn)行示例應(yīng)用的過程與運(yùn)行自己創(chuàng)建的應(yīng)用并無二致。

如果大家在開發(fā)應(yīng)用程序時用到了與示例應(yīng)用當(dāng)中類似的功能,則可以將示例應(yīng)用內(nèi)容打開并安置在自己的應(yīng)用旁邊,從而以此為參考開發(fā)自己的算法。Notepad示例這類應(yīng)用程序當(dāng)中包含多種非常典型的處理過程,例如通過Content Provider處理數(shù)據(jù)——我們可以在NotePadProvider類當(dāng)中看到這部分代碼。示例應(yīng)用的設(shè)計(jì)初衷在于向開發(fā)者展示如何在Android平臺上完成特定任務(wù),因此大家在遵循《Android開發(fā)者指南》的說明時這些示例能夠起到很好的輔助作用。

提示:當(dāng)我們使用Android SDK當(dāng)中的早期遺留示例時,會發(fā)現(xiàn)Eclipse顯示關(guān)于廢棄代碼的警告信息。這是因?yàn)樵缙谶z留示例是針對早期SDK版本創(chuàng)建的。如果大家希望使用被Eclipse列為“不推薦”的任何功能,請首先查看新版本Android SDK中是否提供更新更有效的替代方案。

第五步

請大家隨意探索SDK示例中的代碼內(nèi)容,很多示例內(nèi)容的含義都非常清晰。不過有時候其內(nèi)容功能與示例名稱之間的關(guān)系可能沒什么直接聯(lián)系。其中最值得關(guān)注的示例要數(shù)APi Demos,大家可以按前面介紹的方法在Notepad應(yīng)用列表中找到它。

先利用APi Demos示例啟動一個示例項(xiàng)目,如前文所述將其在Package Explorer當(dāng)中展開,然后打開src文件夾。該應(yīng)用會被拆分為多個包,各自對應(yīng)不同的功能類型。我們可以從這里看到并學(xué)到很多實(shí)用的知識。打開其中一個包,查看它所包含的各個類。與其它示例代碼一樣,這部分代碼同樣擁有詳盡而明確的注釋,能夠幫助大家理解每個類及方法的實(shí)際作用。API Demos應(yīng)用當(dāng)中包含圖形、動畫、媒體、安全以及可訪問性幾大功能。

3. 示例的其它使用方法

在Eclipse當(dāng)中創(chuàng)建示例項(xiàng)目是最簡單也最實(shí)用的學(xué)習(xí)方法,能夠幫助大家透徹掌握Android SDK所提示的說明性代碼內(nèi)容。不過我們還可以通過其它方式來充分利用SDK示例代碼。大家可以在自己的計(jì)算機(jī)上從ADT Bundle目錄中找到各個示例項(xiàng)目的具體文件。在其中的sdk文件夾內(nèi),大家會看到一個名為samples的文件夾。我們在各個平臺層面上已經(jīng)安裝過的示例都能在這里找到,而且它們都擁有自己的專有文件夾。在該文件夾中,大家還會看到被劃分為不同示例類型的文件夾。我們可以通過這種方式瀏覽、打開并與源代碼文件進(jìn)行交互。

在Android開發(fā)者網(wǎng)站的Samples部分,大家可以下載并查看該平臺上的各種示例代碼。這些示例旨在與利用Gradle創(chuàng)建的Android Studio相協(xié)作。大家可以下載完整的項(xiàng)目并將其導(dǎo)入至Android Studio當(dāng)中,從而在該IDE下與這些內(nèi)容進(jìn)行交互或者將應(yīng)用運(yùn)行在Android設(shè)備之上。

總結(jié)

Android示例當(dāng)中包含大量功能。盡管其中一部分早期遺留內(nèi)容現(xiàn)在看起來有點(diǎn)過時,但作為學(xué)習(xí)材料仍然具備良好的價值。如果大家發(fā)現(xiàn)自己打算開發(fā)的功能在示例項(xiàng)目中已經(jīng)存在,那正好能省下大量的開發(fā)時間——只需對SDK給出的內(nèi)容稍加改動即可。在本系列的下一篇文章中,我們將探討在應(yīng)用程序開發(fā)并測試結(jié)束之后,該如何將成果發(fā)布出去。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號