———————————簡易的分隔線————————————
Android項目設定
這裡要留意,別設定錯誤,尤其是【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
【Create custom launcher icon】打勾不打勾,其實不重要。
直接用Blank Activity,這個最簡單又最好用來做示範。
用預設的就好,等Android程式的規模大一點,才去了解這是什麼也不遲。
按過【Finish】後,還要耐心等一下項目的建立。之後把API level調成API 22才能正常顯示設計介面。
如果系統沒有認出要用那個編輯器的話,可以在【activity_main.xml】右鍵 --> 【Open With】 --> 【Other】。搜尋legacy,選 【Legacy Android Layout Editor】就能把設計介面顯示出來。
稍微講解一下,這裡要把JDK的Compliance level調去1.7才能順利編譯,因為有很深的歷史原因……有興趣的話去Google,JDK、OpenJDK及Android Runtime (ART)的關係。
改動後,會問要不要重新編譯,選【Yes】。
註︰把JDK降級了,當然JDK 1.8的新功能都不能用。
假如忘記把Compliance level調去1.7,會有這樣的Error Message出現。
———————————簡易的分隔線————————————
設定程式使用指定AVD
在【Run/Debug Settings】 --> 選【HelloWorld】 --> 【Dupliacte】一份 --> 【Edit】
跟上圖修改設定。
最後結果應該跟這圖一樣。
———————————簡易的分隔線————————————
執行HelloWorld
費一大番時間心力,下載、安裝、設定、編譯,終於去到執行,這個最終階段。
先轉去LogCat這個View。
執行(Run)時,AVD要花一大段時間準備,大約十到二十分鐘左右,這個時候看Console完全沒有訊息,會覺得死機沒反應,所以才要轉去LogCat。
最後一步,去【Run Configurations】,選之前設定好的Config去【Run】。
我建議先體驗【ArmHelloWorld】,然後把AVD關閉,再去體驗【IntelHelloWorld】。感受非一般的痛苦(?)。
———————————簡易的分隔線————————————
注意事項及提示
- 【Run】的時候要有耐心,等AVD出來,十到二十分鐘很正常,只要看到LogCat還有訊息彈出來,就明白還是在運行中,並不是死機。
- 已經體驗過啟用AVD有多慢,就不會想每次關掉再開吧?所以每次改動程式時,根本不需要把AVD關掉重來,只要再【Run】一次就能測試程式。
- 在開啟Eclipse後,還要大約5分鐘左右Loading,才會看到GUI及Android Project不打紅叉。