2017年6月21日星期三

在 Eclipse 上建立 Android 項目

接上回【Android Plug-in 及 AVD (Android Virtual Device) 建立

建立Android項目

建立第一個Android項目,我覺得這個選項是最合適新手。

———————————簡易的分隔線————————————

Android項目設定


最初也是最重要的設定,設定錯誤,連Compile也過不了

這裡要留意,別設定錯誤,尤其是【Minimum Required SDK】、【Compile With】及【Target SDK】這三個。

長話短說,【Minimum Required SDK】會影響程式的backward compatibility能力,App Store能不能搜尋到及限制API使用。

舉個例子來說,API 23才有Fingerprint(指紋),把【Minimum Required SDK】設定低過API 23的話,用戶android版本低過API 23就不能用Fingerprint,但能在App Store搜尋到並安裝。試想一下,能安裝不代表能使用,作為開發者,還要做一堆檢查,如用戶的Android版本,有沒有特定硬件配合(指紋、NFC、指南針),IF有就這樣做,IF沒有就那樣做之類。

反過來說,要顧及android市場大部分用的話(90% Distribution),沒有Fingerprint的用戶,就改用Passowrd代替,沒有NFC就放棄那功能,免得程式當掉。所以,看需要,放棄舊Android系統用戶,玩新功能,還是特別照顧舊Android系統用戶,想盡各式方案。

【Compile With】及【Target SDK】,不多說,去Google吧。

Android Dashboards 各種的統計
https://developer.android.com/about/dashboards/index.html

初學者,自定icon,後期再學

【Create custom launcher icon】打勾不打勾,其實不重要。

後期教學會修改這個,示範其他設定

直接用Blank Activity,這個最簡單又最好用來做示範。

用預設,無需修改

用預設的就好,等Android程式的規模大一點,才去了解這是什麼也不遲。

改成API 22,設定介面就能正常運作

按過【Finish】後,還要耐心等一下項目的建立。之後把API level調成API 22才能正常顯示設計介面。

無法顯示時、手動開啟方法

Legacy Android Layout Editor

如果系統沒有認出要用那個編輯器的話,可以在【activity_main.xml】右鍵 --> 【Open With】 --> 【Other】。搜尋legacy,選 【Legacy Android Layout Editor】就能把設計介面顯示出來。

設定JDK版本

改動過,當然要重新編譯

稍微講解一下,這裡要把JDK的Compliance level調去1.7才能順利編譯,因為有很深的歷史原因……有興趣的話去Google,JDK、OpenJDK及Android Runtime (ART)的關係。

改動後,會問要不要重新編譯,選【Yes】。

註︰把JDK降級了,當然JDK 1.8的新功能都不能用。

忘記設定Compile Level的話……

假如忘記把Compliance level調去1.7,會有這樣的Error Message出現。

———————————簡易的分隔線————————————

設定程式使用指定AVD



在【Run/Debug Settings】 --> 選【HelloWorld】 --> 【Dupliacte】一份 --> 【Edit】

第一個AVD

第二個AVD

跟上圖修改設定。


最後結果應該跟這圖一樣。

———————————簡易的分隔線————————————

執行HelloWorld


費一大番時間心力,下載、安裝、設定、編譯,終於去到執行,這個最終階段。

由Console轉去LogCat View

先轉去LogCat這個View。

執行(Run)時,AVD要花一大段時間準備,大約十到二十分鐘左右,這個時候看Console完全沒有訊息,會覺得死機沒反應,所以才要轉去LogCat。



最後一步,去【Run Configurations】,選之前設定好的Config去【Run】。


我建議先體驗【ArmHelloWorld】,然後把AVD關閉,再去體驗【IntelHelloWorld】。感受非一般的痛苦(?)。

———————————簡易的分隔線————————————

注意事項及提示

  1. 【Run】的時候要有耐心,等AVD出來,十到二十分鐘很正常,只要看到LogCat還有訊息彈出來,就明白還是在運行中,並不是死機。

  2. 已經體驗過啟用AVD有多慢,就不會想每次關掉再開吧?所以每次改動程式時,根本不需要把AVD關掉重來,只要再【Run】一次就能測試程式。

  3. 在開啟Eclipse後,還要大約5分鐘左右Loading,才會看到GUI及Android Project不打紅叉。
下一回【GitHub及EGit (PART 1/3) + 信息安全