2012年4月5日

[ Android 4.0 教學 ] Android 4.0 的 Holo 佈景主題 ( Theme ) 詳細圖文設定教學

Android 4.0 | Holo


新版 Android SDK 下載安裝中文教學課程講義,歡迎延伸點閱!


我們的《Android 手機應用程式開發教學課程免費講義》網路讀者俱樂部會員(請點選此連結),歡迎您的加入,謝謝!


我們編寫的 Android SDK 教學課程講義目前網路連載發表有:Android手機程式開發教學講義懶人包Android 教學講義第一講Android 教學講義第二講Android 教學講義第三講Android 教學講義第四講Android 教學講義第五講Android 教學講義第六講Android 教學講義第七講上篇Android 教學講義第七講下篇Android 2.3補充教材1Android 2.3補充教材2Android 3.0平板電腦完整功能搶先看(From T-Mobile)Android 3.0 平板電腦應用程式開發:第一講Android 3.0 SDK 正式版登場Android 嵌入式系統最新開發應用 - SAAB IQon 車用電腦Android 2.3 補充教材3Android 3.0 平板電腦應用程式開發:第二講Android 教學講義第八講上篇Android 教學講義第八講中篇(1)Android 4.0 SDK 開發功能介紹與下載網址Android 4.0 SDK 下載安裝完整教學Android 4.0 模擬器安裝設定教學課程講義Android 4.0 的 Holo theme 佈景主題介紹與設定教學課程講義Android 4.2 升級功能簡介Android 4.2 SDK & ADT Bundle 下載安裝教學2013年第1講: Android Application Project 之建立2013年最新 Android Studio 開發工具下載安裝教學最新 Android App 網路連線程式設計範例 (第一講) - Volley HTTP Library 入門教學Android App 與 Android Application Project 是什麼?Android 4.4 KitKat 與 Android 4.4 SDK 開發功能介紹Android SDK 下載安裝中文教學課程講義 ( 2013年11月新版,ADT Bundle )


以下為本篇 Android 教學講義的開始。


【孫傳雄研究室 編著】Android 4.0 作業系統自2011年10月19日問世以來,已經時隔將近六個月的時間。

 

不過,因為不同的 Android 智慧型手機業者可能需再針對於 Android 4.0.x 進行各自的軟硬體優化或功能差異化動作之故,所以,到了 2012 年的 4 月初,搭載 Android 4.0.x 作業系統的智慧型手機僅約佔總體 Android 智慧型手機市場的 2.9 % 左右而已(資料來源:Android Developers 官網,統計樣本為 2012 年 4 月 2 日往前推算十四天之內的 Google Play 使用者)。

 

然而,隨著各家 Android 智慧型手機業者自2012年3月底開始,陸續推出搭載 Android 4.0.x 作業系統的相關新機,並且提供能把部份舊有機種更新成 Android 4.0.x 作業系統的升級方法之後,我們願意相信 Android 4.x 作業系統日後可能將逐步為 Android 生態圈開創另一個新興的局面。

 

但是,若您已經是 Android 2.x / 1.x 手機應用程式的開發者,也請您不需太過擔心。因為,Android 4.x 作業系統仍可以相容大部份的 Android 2.x / 1.x 手機應用程式。

 

同時,若以應用程式的相容性與普及性為考量時,我們目前 ( 2012 年 4 月初 ) 其實仍舊建議您的 Android 手機應用程式開發專案先以 Android 2.1 ( API Level 7 ) 做為最低 SDK 版本 ( Min SDK version ) 。而盡量不要直接開發僅支援 Android 4.x 作業系統的手機應用程式。

 

另一方面,就我們所知, Android 4.x 手機應用程式與 Android 2.x / 1.x 手機應用程式在開發概念、實作架構與程式碼語法等基礎部份,並沒有非常大幅度地轉變。因此,您在未來或許仍可以將您的 Android 2.x / 1.x 的手機應用程式改寫成專屬於 Android 4.x 作業系統之新介面與新功能的版本。

 

至於,Android 4.x 作業系統的誕生對於 Android 手機應用程式開發者的最大影響在何處呢?

 

我們認為 Android 4.x 作業系統在融合了原本僅在 Android 3.x 平板電腦作業系統之中才有的使用者介面元素之後,它可能將影響 Android 手機應用程式開發者,逐漸全面發展出有別於 Android 2.x / 1.x 的手機應用程式的全新外觀風貌。

 

我們將 Android 4.x 作業系統在使用者介面上的重大改變,統稱為 Android 4 新介面。

 

亦因如此,即使您已經奠定了 Android 2.x / 1.x 的應用程式設計基礎能力,仍有必需提前去深入探索 Android 4 新介面的手機應用程式內涵。

 

本研究室為了協助華文世界的讀者朋友,能夠更深入地理解 Android 4 新介面的手機應用程式之實際開發流程與內涵,因此,在未來的日子中,我們將藉由一系列的網路教學講義之方式,與大家詳盡地分享我們對於 Android 4 新介面手機應用程式開發的實作圖文教學。

 

另外,由於 Android SDK 相關開發工具在這兩年來已有相當程度的進步。特別是在操作步驟方面,它與我們在2010年所寫的網路教學講義也有些許的變化。

 

因此,我們也會在未來一系列《 Android 4 新介面的手機應用程式教學課程》網路講義集中,納入關於最近 Android SDK 相關開發工具的操作步驟說明,以供讀者朋友實作練習。

 

在初始的第一篇中,我們將藉由實作圖文教學的方式,為大家介紹初學者踏進 Android 4 新介面之手機應用程式開發場域的第一個重點:Holo 佈景主題 ( Theme ) 。

 

Holo 佈景主題 ( Theme ) 是什麼?

 

Holo 佈景主題其實是 Android 3.x 平板電腦作業系統之後才推出的新一代系統內建佈景主題 ( System Theme )。

 

不過,若正在閱讀本文的您對於 Android 手機應用程式開發還不甚暸解的話,您可能會問我們:『什麼是系統內建佈景主題 (System Theme)呢?』

 

我們的回答是:

系統內建佈景主題 (System Theme)是 Android 作業系統所內建的一系列已既定的使用者介面通用樣式集。

它如同製作網頁常用的模版般,開發者只需在開發專案中,指定某個系統內建佈景主題 (System Theme),即可以讓該應用程式的使用者介面擁有該系統內建佈景主題 (System Theme)所制定的使用者介面規範。

另外,即使開發者完全不指定,Android 作業系統仍會自動預設一個系統內建的佈景主題。

 

其實,系統內建佈景主題並非是新玩意兒了!Android 2.x / 1.x 作業系統便已開始具備系統內建佈景主題的機制。

 

而且,開發者也早就能夠在 AndroidManifest.xml 重要資訊檔案中,自行指定某個系統內建佈景主題。甚至也能夠以編輯 styles.xml 的方式自訂自己的佈景主題了。

 

然而,Holo 佈景主題卻相較於過去所有的系統內建佈景主題來說,有著兩個極為重要的特色。

 

Holo 佈景主題與 Action Bar 操作列的關係

 

Holo 佈景主題的第一個特色是:它捨棄了舊有的 Menu 選單介面,全面改採新式的 Action Bar 操作列介面。

 

由於, Google 在去年 ( 2011 年 ) 的 2 月份推出平板電腦專用的 Android 3.x 平板電腦作業系統時,便強調將以《返回鍵、Home鍵與最近使用的App鍵》三個虛擬導覽鍵代原先在 Android 智慧型手機之中常見的《返回鍵、Home鍵、選單鍵與搜尋鍵》四個實體導覽鍵。

 

Android 4.0 教學

 

雖然,目前仍有一些硬體業者在其平板電腦硬體上或外接鍵盤中設有選單鍵,但實際上選單鍵已逐漸在 Android 3.x 裡頭退位。

 

亦因如此,Android 3.x 平板電腦作業系統便特別發展出一種不需要選單鍵且名為 Action Bar 操作列的新式介面來取代原有的 Menu 選單介面。

 

值得一提的是,Action Bar 操作列介面並不像過往的 Menu 選單介面般,使用者需要按下選單鍵後,它才會從應用程式下方彈出 ( Menu 選單介面如下圖所示 )。

 

Android 4.0 教學

 

更進一步地說,因為,它是直接固定出現在應用程式的標題列右邊,所以,使用者不需要再另行按下選單鍵去呼叫它 ( Action Bar 操作列介面如下圖所示 )。

 

此種非隱藏式的設計方式,讓使用者可以立即地看見它所要的操作項目,並帶來更直覺的使用者體驗。

 

而且, 由於 Action Bar 操作列介面為 Android 官方設計制定的介面標準,因此, Android 3.x 平板電腦應用程式開發者無需額外在開發專案之中,加入其它程式檔案才能讓 Action Bar 操作列介面運作。

 

Android 4.0 教學

 

隨著 Android 4.0 作業系統推出之後,由於,該版本作業系統也採納了 Android 3.x 所使用的《返回鍵、Home鍵與最近使用的App鍵》作為導覽鍵之用。

 

因此,搭載 Android 4.x 作業系統的新款智慧型手機或平板電腦之選單鍵其實多半已不覆存在。(註:目前市面上新推出的 Android 4.x 智慧型手機機種,該三個導覽鍵有的為虛擬按鍵、有的是實體按鍵。)

 

也因為這樣子,Android 官方在今年 ( 2012 年 ) 的 1 月份,進一步地通知 Android 應用程式開發者一件很重大的決定。

 

那就是,無論開發者為開發 Android 4.x 的手機應用程式或者為開發 Android 4.x 的平板電腦應用程式,他們皆建議大家不要再繼續採用 Menu 選單介面,而以 Action Bar 操作列介面取而代之。

 

簡而言之,目前 ( 2012 年 4 月初 ) ,只要您的 Android 手機用程式開發專案是使用 Android 4.0.3 ( API Level 15 ) 、 Android 4.0, 4.0.1, 4.0.2 ( API Level 14 ) 做為最低 SDK 版本 (Min SDK version),那麼建議您捨棄舊有的 Menu 選單介面,全面改採新式的 Action Bar 操作列介面 ( Action Bar 操作列介面如下圖所示 )。

 

反過來說,因為 Android 2.x / 1.x 作業系統無法直接相容 Action Bar 操作列介面之故,所以,如果您的 Android 應用程式是以 Android 2.x / 1.x 的 API 版本做為最低 SDK 版本 (Min SDK version),則仍建議維持採用 Menu 選單介面。而且,Android 4.x 作業系統目前仍可以兼容 Menu 選單介面。

 

Android 4.0 教學

 

談到這裡,您一定會很想暸解 Action Bar 操作列介面與 Menu 選單介面在應用程式實作的程序上有何不同?

 

其實,它們兩者間的實作程序並無太大的差別。

 

更進一步地說,實作 Action Bar 操作列介面的 XML 描述檔與 Java 程式碼多半仍延用 Menu 選單介面的實作機制, Action Bar 操作列介面只多了一些介面屬性的設定而已。

 

但是,Action Bar 操作列介面在實作程序上,實然有一個真正的差別就在於此篇教學文章的主軸: Holo 佈景主題。

 

為什麼呢?

 

因為,Action Bar 操作列介面是由 Holo 佈景主題所定義

 

換句話說,若您深入去暸解 Action Bar 操作列介面,則會發現它實際上只是由 Holo 佈景主題所定義下的新式 Menu 選單樣貌而已。

 

所以,我們上述才說兩者在實作程序上的差異不大。

 

為證明此點,我們在 Android 4.x 應用程式開發專案中,以完全不更動 Menu 選單之 XML 描述檔以及 Java 程式碼為基準,只更動應用程式的預設佈景主題從 Theme.Holo.Light 變成 Theme.Light 。

 

隨後,它們於同一個模擬器測試執行下,兩種系統內建佈景主題分別呈現 Action Bar 操作列與 Menu 選單之兩種樣貌 ( 如下圖所示 ) 。

Android 4.0 教學

 

不過,縱然 Action Bar 操作列介面與 Menu 選單介面之顯示主要是取決於 Holo 佈景主題,但是如上述所言, Action Bar 操作列介面其實還有一些額外的介面屬性需要設定。

 

因此,若您未額外再針對 Action Bar 操作列介面,去設定 Menu 選單之 XML 描述檔下的 Action Bar 介面專有屬性值時,則您在 Android 4.x 手機模擬器會看到的是下圖右側非典型 ( 類似下拉式選單 ) 的 Action Bar 操作列介面模式 ( 如下圖所示 )。

 

Android 4.0 教學

 

另外,我們在此要請您注意的是,由於 Android 4.x 模擬器視窗右側的按鍵區仍有選單鍵,所以,開發者還是可以很容易地讓 Menu 選單介面彈出。

 

然而,若您是使用實體且沒有選單鍵的 Android 4.x 智慧型手機進行執行測試,則您可能還需要暸解不同 Android 智慧型手機業者在移除選單鍵後之替代作法,以便進行 Menu 選單介面之彈出顯示。

 

由於,我們剛才談到:『Action Bar 操作列與 Menu 選單之介面顯示主要是取決於 Holo 佈景主題。』

 

但,若您已經使用 Android 4.x 手機模擬器進行 Android 4.x 應用程式開發專案的執行測試,您可能會問我們:『為何開發者可以在 Android 4.x 應用程式開發專案沒有指定任何系統內建佈景主題之前題下,便能夠在 Android 4.x 手機模擬器看到 Action Bar 操作列介面呢?』

 

我們的回答是:『Android 4.x 手機模擬器本身是搭載未經其他手機業者修改過的 Android 4.x 原生作業系統。在此原生版本中,它已先自動幫 Android 4.x 應用程式預設了黑底白字且名為 DeviceDefault 的佈景主題,而且該佈景主題直接對應為 Holo 佈景主題 ( 即 Theme.Holo ) 。所以,它具備有 Action Bar 操作列介面。』

 

然而,雖然 Android 4.x 作業系統不允許 Android 智慧型手機業者去更動 Holo 佈景主題的內容。

 

但是,基於維持智慧型手機業者的開發彈性之立場,所以, Android 允許智慧型手機業者去更動 DeviceDefault 這個佈景主題的內容。

 

也因為這樣子,我們並不能夠保證使用者所持的 Android 4.x 智慧型手機之 DeviceDefault 佈景主題屆時一定是 Android 官方原生且未經修改過的 Holo 佈景主題(即 Theme.Holo )。

 

因此,若您要在 Android 4.x 手機應用程式開發專案中使用 Holo 佈景主題的話,我們仍強烈建議您需要在開發專案中,進行指定佈景主題為 Holo 之動作。

 

Holo 佈景主題的種類

 

還有,Holo 佈景主題其實具備了一系列的子佈景主題,您可以依照您的開發需求進行設定 ( 如下圖所示 )。

 

Android 4.0 教學

 

由於,這一系列的子佈景主題種類頗多,因此,若您是初學者,或許可以先依您的學習需求,初步設定系統內建佈景主題為以下三種主要的 Holo 子佈景主題之一即可。

 

  • 最基本的 Holo 子佈景主題是 Theme.Holo,它是黑底白字的樣式並且 Action Bar 操作列介面也是黑底白字。 ( 如下圖左側所示,內建於Android 3.0.x ( API level 11 ) 以上 )
  • 第兩種的 Holo 子佈景主題是 Theme.Holo.Light,它是白底黑字的樣式並且 Action Bar 操作列介面也是白底黑字。 ( 如下圖中間所示,內建於 Android 3.0.x ( API level 11 ) 以上 )
  • 第三種的 Holo 子佈景主題是 Theme.Holo.DarkActionBar,它是白底黑字的樣式並且 Action Bar 操作列介面則是黑底白字。 ( 如下圖右側所示,內建於 Android 4.0, 4.0.1, 4.0.2 ( API level 14 ) 以上 )

 

Android 4.0 教學

 

此外,如果您所開發的 Android 4.x 手機應用程式根本不想要使用到 Action Bar 操作列介面,但又想要 Holo 佈景主題之下所規範之使用者介面格式的話。

 

您其實可以使用隱藏 Action Bar 操作列介面的 Theme.Holo.NoActionBar 或 Theme.Holo.Light.NoActionBar 子佈景主題 ( 如下圖所示 ) 。

 

只不過,上述兩種 Holo 子佈景主題除隱藏 Action Bar 操作列介面外,也會一併將 Action Bar 操作列介面左側的應用程式名稱與啟動圖示 ( Launcher Icon ) 進行隱藏。

 

Android 4.0 教學

 

還有,假若您只想要使用原本的 Menu 選單介面的話,那麼您只需要將佈景主題指定為非 Holo 系列的佈景主題即可 ( 如白底黑字的 Theme.Light ) 。

 

Holo 佈景主題與使用者介面的相容標準化

 

Holo 佈景主題的第二個特色是:則在於使用者介面的相容標準化 ( Compatibility Standard )

 

換言之,   在 Android 4.x 作業系統下的 Holo 佈景主題其實是特別為了解決版本差異性問題而來。

 

因為,它能夠帶給使用者在使用 Android 4.x 手機應用程式時,更一致性的使用體驗。

 

更深入地說,Android 為了確保 Android 4.0 作業系統之後的使用者介面能在不同廠家的 Android 智慧型手機之中,更加標準化地顯示。


因此,他們在 Android 4.0 作業系統之中納入了一個原先只有在 Android 3.x 作業系統才能使用的系統內建佈景主題- Holo 佈景主題。

 

Holo 佈景主題有別於 Android 2.x / 1.x 作業系統時代已擁有的其它系統內建佈景主題。

 

因為,它在 Android 官方的保護下,能夠盡量不會被 Android 4.x 智慧型手機業者自行變更,而保持原有的風貌。

 

更進一步地說,當 Android 應用程式開發者在他們的 Android 4.x 應用程式當中運用了 Holo 佈景主題時,它將會具備 Android 官方所制定的使用者介面之相容標準。


同時,當 Holo 佈景主題在不同廠家的 Android 4.x 智慧型手機之中顯示時,將不受到該廠家自訂的介面所影響,而維持 Android 官方所制定的相容標準。

 

我們願意相信此一相容標準,或許在未來將大幅度地解決 Android 應用程式的版本差異性之問題。

 

不過,要達到此目標有一個假設前題,那就是就該 Android 4.x 智慧型手機要有使用 Google Play ( 舊稱 Android Market ) ,它才會受到 Android 官方的規範限制。

 

Holo 佈景主題與 DeviceDefault 佈景主題的關係

 

您或許會問:『Holo 佈景主題所立下的相容標準,會不會阻礙了開發原始碼作業系統應有的自由精神?』

 

或許不盡然,由於 Android 官方為了維持每家 Android 4.x 智慧型手機業者的自由度,因此,他們還另外設置了 DeviceDefault 佈景主題。

 

DeviceDefault 佈景主題在未經其他業者修改過的 Android 4.x 原生作業系統中,它是直接對應為 Holo 佈景主題 ( 即 Theme.Holo ) 。

 

但是,各家的 Android 4.x 智慧型手機業者則又有權力能將 DeviceDefault 佈景主題進行自訂修改。

 

如此一來,Android 4.x 作業系統既可以透過 Holo 佈景主題來增進 Android 手機應用程式使用者介面的相容標準,但又可以透過 DeviceDefault 佈景主題來維持開發原始碼作業系統應用的自由精神。

 

您或許會有個疑問:『若開發者不去設定佈景主題的話,各自不同版本的 Android 作業系統所預設的佈景主題為何呢?』

 

Android Developers 官網資料所示:

 

  • Android 2.x / 1.x 作業系統:它們預設為黑底白字的 Theme 傳統佈景主題,但它們並不支援 Holo 佈景主題 ( 即 Theme ) 。
  • Android 3.x 平板電腦作業系統:它可能因為沒有開放原始碼之故,所以它本來預設就為 Holo 佈景主題 ( 即 Theme.Holo ) 。
  • Android 4.x 作業系統:它則為 DeviceDefault 佈景主題 ( 即 Theme.DeviceDefault ) ,它不一定對應到 Holo 佈景主題。

 

由此可知, 如果您要在 Android 4.x 作業系統使用 Holo 佈景主題的話,最保險的作法即為直接將您的 Android 4.x 手機應用程式開發專案之預設佈景主題指定為 Holo 系列的佈景主題。

 

因為,它可以確保 DeviceDefault 佈景主題若被其他 Android 4.x 智慧型手機業者修改時,您所開發的應用程式仍可以維持 Holo 佈景主題的標準規範。

 

其實,對於 Android 4.x 手機應用程式開發者的初學者來說,Holo 佈景主題或許還能帶來另一個效用:那就是能夠協助快速建構出屬於 Android 4 官方風格的新式使用者介面

 

為什麼呢?

 

由於,Holo 佈景主題還具備了一系列具有 Android 4 官方獨特配色與造型風格的使用者介面元件 ( 如下圖所示 ) 。

 

因此,此點或許是相較於過往的 Android 2.x / 1.x 手機應用程式的系統內建佈景主題或者行動網頁的介面而言,未來的 Android 4.x 應用程式的發展能夠更具優勢之所在。

 

Android 4.0 教學

 

因此,我們認為對於 Android 4.x 手機應用程式初學者來說,大家有必要從建立 Android 4.x 手機應用程式開發專案之初,便開始學習如何指定 Holo 佈景主題。以便更進一步地認識 Holo 佈景主題所帶來的方便之處。

 

當然,對於 Android 4.x 手機應用程式進階學習者而言,可能還需要再延伸學習如何以 Holo 佈景主題為基礎,延伸自訂客製化的使用者介面。

 

不過,礙於篇幅之故,本篇網路教學講義僅會聚焦於如何在 Android 4.x 手機應用程式開發專案指定 Holo 佈景主題之步驟說明。

 

以下,我們便從建立一個名為 Memos 的 Android 4.x 手機應用程式開發專案開始,逐步地帶領大家學習如何在 Android 4.x 手機應用程式開發專案指定 Holo 佈景主題。

 

這個名為 Memos 的簡易記事程式之教學範例,是我們專為《打造 Android 4 新介面的手機應用程式教學》網路教學講義集而規劃設計。

 

此次為首篇,未來的網路教學講義集仍會以該教學範例進行其它主題的教學。

 

另外,如果您對於 Android 4.x SDK 完全不暸解的話,煩請您先回顧我們先前撰寫的三篇關於 Android 4.x SDK 之相關介紹或網路教學講義,包括:Android 4.0 SDK 開發功能介紹與下載網址Android 4.0 SDK 下載安裝完整教學Android 4.0 模擬器安裝設定教學課程講義

 

建立 Android 4.x 手機應用程式開發專案

 

首先,請您在 [Eclipse] 主畫面當中,點選 [File] 下拉式功能表裡頭的 [New] 選項之 [Other] 子選項 ( 如下圖箭頭1、2處所示 ) 。

 

Android 4.0 教學

 

當螢幕畫面出現 [New] 對話視窗時,請您點選 [Android] 選項之下的 [Android Project] 子選項,並按下 [Next >] 按鈕 ( 如下圖箭頭1、2處所示 ) 。

 

Android 4.0 教學

 

接下來,您會看見 [New Android Project] 對話視窗,請依以下說明填寫:

 

  • Project Name:Project Name 指的是專案的名稱。請您在 [Project Name] 文字欄位中輸入您的 Android 手機應用程式之專案名稱(如下圖箭頭1處所示)。

    這個名稱同時也會成為該專案的檔案資料夾名稱。在此要注意的是,請您務必以半形英文命名,名稱中不要有空格或其它符號,但可以包括英文大小寫。此教學範例中輸入的名稱為 Memos

 

我們要強調地是,由於在此教學範例之中,我們是要建立一個全新的 Android 4.x 手機應用程式開發專案,因此,請您維持 [Project Name] 文字欄位下方的 [Create new project in workspace] 選項為勾選狀態。

 

另外,若您同意將此 Android 4.x 手機應用程式開發專案的相關程式碼檔案直接儲存在預設檔案文件路徑之下,則請您也保留 [Use default location] 項目之相關設定值。(預設檔案文件路徑規則為:C:/users/您的Windows帳號名稱/工作目錄名稱/專案名稱)。

 

最後,請您按下 [Next >] 按鈕(如下圖箭號2所示)。

 

Android 4.0 教學

 

接下來,您需要選擇 [Build Target] 的 SDK 版本,此項目是指您的Android手機應用程式專案所能使用的Android API版本之設定項目。

 

基於開發應用程式的普及性考量,我們通常會建議開發者選擇當下相容性最佳的 Android API 版本。

 

然而,我們在此是要讓大家暸解 Android 4 新介面的實作方法,因此,請您勾選目前 ( 2012年4月初 ) 最新的 Android API 版本,即 [Android 4.0.3] ( API Level 15 ) ( 如下圖箭號1所示 ) 。

 

隨後,請您按下 [Next >] 按鈕 ( 如下圖箭號2所示 ) 。

 

Android 4.0 教學

 

緊接著,您還需要再設定四項 Android 手機應用程式的重要設定值。

 

然而,與其說是四項,其實目前已簡化至一項,那就是 [Package Name] 。Android SDK 開發工具已經幫您預設填妥了其餘三項的重要設定值。

 

不過,您在此仍需要詳細暸解這四項重要設定值的意義,以便日後您需進行修正時之參考。

 

  • Application Name:此指的是 Android 手機應用程式的標題名稱,當手機用戶執行 Android 手機應用程式時,它會顯示在畫面的上方。當手機用戶關閉 Android 手機應用程式後,它會顯示在該 Android 手機應用程式圖示的下方。

    更直接地說,它就像是您所開發之 Android 手機應用程式的產品名稱。

    由於,這是給手機用戶看的,不是給機器或者開發者看的。所以,您可以使用中文命名、也可以有空格或其他符號。比如 Memos (註:Application Name 以簡而有力為佳)。
  • Package Name:此指的是 Android 手機應用程式的套件名稱。如果您先前有過 Java 應用程式開發的經驗,對此應該不陌生。

    Java 為了讓應用程式之間彼此不衝突,因此,設置了套件名稱的機制。

    每一個 Java 應用程式都需要取一個獨特且唯一的套件名稱,以方便識別與呼叫取用。

    Android 手機應用程式在此的命名規則與其它 Java 應用程式的 Package name 一致。亦即您只能使用小寫英文字母命名,並且至少要以兩個英文單字組成,每個英文單字之間以 . 做為間隔。這個以專業術語來說,就是該名稱要為域名格式 ( domain-style ) 。

    如果您個人、組織或企業具備網址,則您為個人、組織或企業所開發的 Android 手機應用程式之套件名稱格式可以是:網址倒置+專案名稱。

    比如,我們的網址是 gururu.tw 且專案名稱為 memos ,則該套件名稱可為 tw.gururu.memos ( 如下圖箭號1所示 ) 。(註:當您在練習時,請記得自行另取一個新的套件名稱。)

    但是,請您特別注意!您的 Android 手機應用程式之套件名稱務必不能出現 google 、 android 、 example 、 package 等限制不能使用的關鍵字眼。

  • Create Activity:Activity 是做為配合 Android手機應用程式之使用者介面檔案運作的 Android 應用程式組件 ( Application component ) ,它主要掌控使用者介面由生到滅的生命週期過程,以及與使用者介面相關的互動事件。

    原則上,每一個使用者介面檔案需配合一個 Activity 應用程式組件。並且,只要您的 Android 手機應用程式具有畫面,則它至少會需具備一個以上的 Activity 應用程式組件與使用者介面檔案。

    因此,當您在建立 Android 手機應用程式的開發專案時,系統會在 [Create Activity] 項目中,預設勾選建立一個名為 專案名稱+Activity 的項目( 此教學範例為 MemosActivity )。 如果,您只是要建立一個不具使用者介面的 Android 手機應用程式,則可移除該勾選。

    若就實作的角度言之,在開發專案中的每一個 Activity 應用程式組件,其實就是一個繼承 Activity 類別的 Java 類別 ( Class ) 檔案。因此,上述名為”專案名稱+Activity”之項目即為此 Java 類別檔案之名稱。

    亦由於此,該項目名稱需依循 Java 類別命名規則行之。亦即僅能為半形英文或數字命名,但是開頭不能為數字。

    同時,它可由多個英文單字組合而成,每個單字的首位字母需大寫,其餘字母小寫。
  • Minimum SDK: [Minimum SDK] 指的是Android手機應用程式的最低 Android API 版本要求。因為,我們剛才在 [Build Target] 勾選了 [Android 4.0.3] ( API Level 15 ),因此,最低 Android API 版本要求建議也設定成 Android 4.0.3 ( API Level 15 ) 的 API 版本代號。

    在此要特別注意的是:由於, [Minimum SDK] 是以 API 版本代號呈現,因此,在此預設為 Android 4.0.3 的API 版本代號:15


當所有資料填寫完畢後,請您按下 [Finish] 按鈕,以便完成 Android 手機應用程式專案的建立動作 ( 如下圖箭號2所示 ) 。

 

Android 4.0 教學

 

當您建立 Android 手機應用程式專案之後。

 

請您在 [Eclipse] 主視窗中的 [Package Explorer] 子視窗中,點選建立好的這個 Android 手機應用程式專案名稱: Memos。

 

並且,請您直接按下 [Eclipse] 功能列上的 [Run] 按鈕 ( 如下圖箭號1所示 ) 。

 

Android 4.0 教學

 

此時,由於該 Android 手機應用程式專案為首次執行測試。因此,您會看到畫面中跳出 [Run As] 對話視窗,以便讓您選擇將要執行測試的應用程式專案種類。

 

不過,當該 Android 手機應用程式專案首次之後的每次執行測試過程,將不會再出現 [Run As] 對話視窗。

 

所以,當首次執行測試出現 [Run As] 對話視窗後,請您在 [Select a way to run ‘Memos’] 選項之中,點選 [Android Application] 項目 ( 如下圖箭號1所示 ) 。

 

然後,按下 [OK] 按鈕 ( 如下圖箭號2所示 ) 。

 

Android 4.0 教學

 

假若,您有依照我們先前所編寫的 Android 4.0 模擬器安裝設定教學課程講義之步驟,實際建立一個全新的 Android 4.x 手機模擬器的話。

 

此時,您會看見以下模擬器畫面。

 

由於,該 Android 4.x 手機模擬器是搭載未經其他 Android 智慧型手機業者更改過的 Android 4.x 作業系統。因此,該 Android 4.x 手機應用程式的 DeviceDefault 佈景主題是直接對應至 Holo 佈景主題 ,亦即黑底白字的 Theme.Holo 。

 

只不過,如同我們在文章所言:

 

如果您要在 Android 4.x 作業系統使用 Holo 佈景主題的話,最保險的作法即為直接將您的 Android 4.x 手機應用程式開發專案之預設佈景主題指定為 Holo 系列的佈景主題。

因為,它可以確保 DeviceDefault 佈景主題若被其他 Android 智慧型手機業者修改時,您所開發的應用程式仍可以維持 Holo 佈景主題的標準規範。

 

因此,當您的 Android 4.x 手機應用程式開發專案建立完成後之首要任務,應該是先去設定該應用程式之使用者介面的佈景主題為 Holo 系列佈景主題。

 

Android 4.0 教學

 

設定應用程式之使用者介面的佈景主題主要有兩種方式:

 

  • 第一種方式是依照應用程式開發專案中每個 Activity 進行各別設定
  • 第二種方式是依照應用程式開發專案中所有 Activity 進行總體設定

 

以上兩種,您可以依您的開發需求,擇一進行設定。

 

Holo 佈景主題之各別設定

 

首先,我們先示範依照應用程式開發專案中每個 Activity 進行各別設定。

 

請您在 [Eclipse] 主視窗中的 [Package Explorer] 子視窗中,點選 [Memos] 開發專案之下的 [AndroidManifest.xml] 重要資訊檔案 ( 如下圖箭號1所示 ) 。

 

當出現 [Memos Manifest] 子視窗後,請您點選 [Application] 頁籤 ( 如下圖箭號2所示 ) 。

 

Android 4.0 教學

 

請您在 [Application] 頁籤視窗中的 [Application Nodes] 欄位中,點選 [.MemosActivity] 項目 ( 如下圖箭號1所示 ) 。

 

當在 [Application Nodes] 欄位右側出現 [Attributes for .MemosActivity] 子畫面時,請按下在該子畫面中的 [Theme] 欄位旁的 [Browse...] 按鈕 ( 如下圖箭號2所示 ) 。

 

Android 4.0 教學

 

當出現, [Resource Chooser] 對話視窗後,請您點選 [Choose a style resource] 欄位中的 [System Resources] 欄位 ( 如下圖箭號1所示 ) 。

 

隨後,該對話視窗的下方會出現一連串的系統資源列表。

 

請您將列表欄位的下拉式捲軸拉至出現 [Theme.Holo] 開頭字眼的位置。

 

由於,該應用程式規劃設定的是白底黑字的 Holo 子佈景主題,因此,您可以點選 [Theme.Holo.Light] 項目 ( 如下圖箭號2所示 ) 。

 

確定後,請您按下 [OK] 按鈕 ( 如下圖箭號3所示 ) 。

 

Android 4.0 教學

 

當您回到 [Attributes for .MemosActivity] 子畫面後,您會在 Theme 欄位中看到 @android:style/Theme.Holo.Light 文字 ( 如下圖箭號所示 ) 。

 

此代表您已設定完成。

 

Android 4.0 教學

 

隨後,請您記得按下 [Eclipse] 功能列上的 [Save All] 按鈕 ( 如下圖箭號1所示 ) 。

 

以便儲存上述之設定值。

 

Android 4.0 教學

 

 

接下來,請您再按下 [Eclipse] 功能列上的 [Run] 按鈕 ( 如下圖箭號1所示 ) 。

 

以便執行測試該應用程式開發專案是否有設定成功?

 

Android 4.0 教學

 

耶!變成白底黑字的 Holo 子佈景主題了 ( 如下圖所示 ) 。

 

Android 4.0 教學

 

Holo 佈景主題之總體設定

 

接下來,我們要示範的是依照應用程式開發專案中所有 Activity 進行總體佈景主題的設定。

 

此方法適合應用程式開發專案中具有多個 Activity 時,可進行一次性的設定為同一個佈景主題。

 

首先,請您在 [Eclipse] 主視窗中的 [Package Explorer] 子視窗中,點選 [Memos] 開發專案之下的 [AndroidManifest.xml] 重要資訊檔案 ( 如下圖箭號1所示 ) 。

 

當出現 [Memos Manifest] 子視窗後,請您點選 [Application] 頁籤 ( 如下圖箭號2所示 ) 。

 

Android 4.0 教學

 

請您在 [Application] 頁籤視窗的 [Application Attributes] 子畫面中,按下 [Theme] 欄位旁的 [Browse...] 按鈕 ( 如下圖箭號1所示 ) 。

 

Android 4.0 教學

 

當出現, [Resource Chooser] 對話視窗後,請您點選 [Choose a style resource] 欄位中的 [System Resources] 欄位 ( 如下圖箭號1所示 ) 。

 

隨後,該對話視窗的下方會出現一連串的系統資源列表。

 

請您將列表欄位的下拉式捲軸拉至出現 Theme.Holo 開頭字眼的位置。

 

由於,該應用程式計劃設定的是白底黑字的 Holo 子佈景主題,因此,您可以點選 Theme.Holo.Light 項目 ( 如下圖箭號2所示 ) 。

 

確定後,請您按下 [OK] 按鈕 ( 如下圖箭號3所示 ) 。

 

Android 4.0 教學

 

當您回到 [Application Attributes] 子畫面後,您會在 [Theme] 欄位中看到 @android:style/Theme.Holo.Light 文字 ( 如下圖箭號所示 ) 。

此代表您已設定完成。

 

Android 4.0 教學

 

隨後,請您記得按下 [Eclipse] 功能列上的 [Save All] 按鈕 ( 如下圖箭號1所示 ) 。

 

以便儲存上述之設定值。

 

Android 4.0 教學

 

接下來,請您再按下 [Eclipse] 功能列上的 [Run] 按鈕 ( 如下圖箭號1所示 ) 。

 

以便執行測試該應用程式開發專案是否有設定成功?

 

Android 4.0 教學

 

耶!變成白底黑字的 Holo 子佈景主題了 ( 如下圖所示 ) 。

 

不過,它有別於第一種方式,第二種方式的改變是整體性的。亦即,當您再新增其它的 Activity ,其使用者介面之佈景主題一樣會使用同樣此次的設定。

 

Android 4.0 教學

 

由於,我們目前只進行至 Android 4.x 手機應用程式之使用者介面的 Holo 佈景主題設定。

 

該應用程式的啟動圖示 ( Launcher Icons ) 、使用者介面元件皆仍為 Android 原先預設的初始狀態。

 

所以,我們之後還需要開始針對此 Memos 簡易記事程式之教學範例進行啟動圖示 ( Launcher Icons ) 的建立更換、使用者介面的設計、Action Bar 操作列介面與其它資源檔案的建立、以及 Java 程式碼的撰寫等步驟…。

 

不過,礙於篇幅之故,因此,這些部份就留待未來我們的網路教學講義,再陸續向華文世界的網路讀者朋友分享。

 

此篇網路教學講義就在此結束,感謝您的閱讀!

 

此篇講義的主要參考文獻來源Android Developers 官網

 

如果您對於Android手機應用程式開發有興趣,歡迎閱讀我們在網路上發表的Android手機應用程式開發教學系列講義。

我們編寫的 Android SDK 教學課程講義目前網路連載發表有:Android手機程式開發教學講義懶人包Android 教學講義第一講Android 教學講義第二講Android 教學講義第三講Android 教學講義第四講Android 教學講義第五講Android 教學講義第六講Android 教學講義第七講上篇Android 教學講義第七講下篇Android 2.3補充教材1Android 2.3補充教材2Android 3.0平板電腦完整功能搶先看(From T-Mobile)Android 3.0 平板電腦應用程式開發:第一講Android 3.0 SDK 正式版登場Android 嵌入式系統最新開發應用 - SAAB IQon 車用電腦Android 2.3 補充教材3Android 3.0 平板電腦應用程式開發:第二講Android 教學講義第八講上篇Android 教學講義第八講中篇(1)Android 4.0 SDK 開發功能介紹與下載網址Android 4.0 SDK 下載安裝完整教學Android 4.0 模擬器安裝設定教學課程講義Android 4.0 的 Holo theme 佈景主題介紹與設定教學課程講義Android 4.2 升級功能簡介Android 4.2 SDK & ADT Bundle 下載安裝教學2013年第1講: Android Application Project 之建立2013年最新 Android Studio 開發工具下載安裝教學最新 Android App 網路連線程式設計範例 (第一講) - Volley HTTP Library 入門教學Android App 與 Android Application Project 是什麼?Android 4.4 KitKat 與 Android 4.4 SDK 開發功能介紹Android SDK 下載安裝中文教學課程講義 ( 2013年11月新版,ADT Bundle )

 


喜歡閱讀我們的講義嗎?歡迎加入我們所成立的《Android 手機程式開發教學課程免費講義》網路讀者俱樂部會員(請點選此連結)謝謝!

著作權聲明


[ Android 4.0 教學 ] Holo theme 佈景主題介紹與設定教學 第一版本完成日:2012年04月05日


本講義之內文、排版等著作權或其他智慧財產權歸屬 孫傳雄 與 孫傳雄研究室 所有,非經書面同意禁止任何形式之翻印、全文轉貼或者授課使用行為。但例外允許在網際網路上引用此講義之網址連結。

本講義之內文所提及或者引用的公司名稱、產品名稱以及所引用的文字、商標、Youtube短片、產品相片或者網站頁面,均為其所屬公司所擁有,特以聲明。


版權所有 翻印必究