網頁語言開發Android_App環境佈建
一、準備
1. JDK。主要是Android會使用到,建議先下載安裝完成。
1. IntelliJ IDEA 主要編輯環境,有免費社群版及商業版,官網均可下載。(編輯器有很多種,Eclipse 或 Android Studio 甚至純文字編輯器也行,但某些步驟可能不盡相同,需自行變化)。
2. Android SDK,官網可下載。
3. Phonegap 下載,以下範例以 2.9.0 為準。
4. 測試行動裝置的驅動程式安裝。
5. 如果是在VMWare Workstation建構開發環境,要把虛擬機的USB開啟,同時插入裝置時,必須將目前滑鼠位置Focus在該虛擬機內,才會抓取成功。抓取後如有USB無法辨認問題,也必須將驅動程式裝好,後續在開發時,才能使用裝置測試。
另經實驗證實,也可以在 VMware Horizon View 的虛擬桌面內,建構開發環境,指定連線到本機 USB 裝置,即可結合插在本機上的Android,進行開發實測。
6. 設定行動裝置。
行動裝置要能做為開發測試機必須允許 USB 偵錯功能。
以 ASUS PadFone 為例,通常在 [設定] 的 [開發人員選項] 裡。
二、JDK
1. 先至Oracle官網下載對應作業系統的JDK,如果是Linux,由於部分版本可能已經先安裝了 Open JDK,建議先移除之後,再安裝 Oracle 版的 JDK。
2. JDK 安裝完後,設定兩個環境變數
JAVA_HOME 路徑指到JDK安裝的位置
JRE_HOME 路徑指到JDK安裝的資料夾內會有一個 jre 的子資料夾,如果沒有就是安裝版本有誤,請重新安裝。
3.安裝設定完畢,重開機。
4. 記住安裝位置,後續會用到。
三、IntelliJ IDEA
1. 逐步預設安裝,沒有特別之處。
四、Android SDK
1. 直接至 Google 網站下載,檔案不小,下載完解壓即可,不須安裝。
2. 將解壓完的資料夾,拷貝到硬碟固定位置(自訂),就不要再動。記住資料夾位置,等會新建 Android 專案會用到。
3. 位置都固定之後,執行 IntelliJ IDEA。新增一個 Android 專案。
4. 系統會先詢問 JAVA 位置。
詢問 JDK 的安裝位置。
5. 詢問 Android SDK位置。
如果指定正確, 會出現目前Java SDK最大版本,及建置目標適用的Android系統版本號碼。
如果沒有意外,Google下載的SDK裡面只會有最新版的Android。待會再繼續線上抓其他舊版本,先按OK。
6. 增加 Android 版本。
呼叫 SDK manager。
選取勾選要安裝的版本。
五、Phonegap API
1. 至官網下載,目前為止 2.9.0 版。
2. 解壓縮完,在lib資料夾內有對應不同系統的目錄分類。
六、建立 Phonegap 專案。
1. 執行 IntelliJ IDEA,開啟前面建立的Android專案,或另外新增一個皆可,新增步驟參考前面 Android SDK 的部分。
2. 重點在cordova.js、cordova-2.9.0.jar、xml資料夾,拷貝到下圖所示,專案相對應位置。www資料夾新專案是沒有的,要自己建。
3. cordova-2.9.0.jar 引入。
拷貝過去後,還要必須告知此為程式庫,方能展開內容。
4. 建立 index.html。
在 assets/www/ 資料夾底下,新增 index.html 網頁,做為App的主要顯示畫面。
預設空內容
5. 修改 App 主要入口程式,讓App執行時,改由 index.html 負責呈現處理。
修改MyActivity.java(若開專案時沒有特別修改,此為java主程式的預設名稱。如果有變更請以自取名稱為主)。
原預設內容
修改後內容(注意紅色圈起部分即為修改處)。
|
6. 修改AndroidManifest.xml,以便讓 Phonegap 專案撰寫的 App 有存取裝置的權限。(更完整權限設定名詞字典,在 Phonegap 官網文件有,請自行查詢)。
<supports-screensandroid:largeScreens="true"android:normalScreens="true"android:smallScreens="true"android:resizeable="true"android:anyDensity="true" |
此外,AndroidManifest.xml有兩個注意點,如果沒有發生過下述類似問題,可忽略。
(1)行動裝置橫直切換重新執行程式問題。
當裝置橫直切換時,通常只是顯示的改變,而不是重新執行,尤其當使用者不小心或意外致使螢幕旋轉之時,若重新執行程式,可能導致輸入一半資料喪失;或重新取樣結果。
加入 android:configChanges="orientation|keyboardHidden" 這行可避免重新執行。
(2)切換螢幕橫直時,程式無預警關閉問題。
如果<uses-sdk android:minSdkVersion="14"/>的值是在13以下,機器橫直切換還算正常。
如果13以上,在切換螢幕橫直時,有可能會發生程式無預警關閉問題。此時在 configChanges 的值應該多加 screenSize,應可解決問題。
PS. 此號碼為 SDK 編號,與選定的開發目標 Android 系統版本有關,有興趣者自行上網搜尋其對應關係即可,不詳述。
7. 測試是否正常執行 index.html。
如果使用連接在USB的行動裝置沒有回應,或出現如下對話框,但有任何裝置可選,極可能是沒有正確安裝對應的驅動程式所致。
如果有出現裝置可供執行,但相容性為 “no”,極可能專案指定使用的 SDK 版本比裝置上的 Android 版本還新,不相容所致。可調整執行目標 SDK版本。
如何加入SDK不同版本程式庫。
(1)[File/Project Structure]
(2)修改 AndroidManifest.xml 裡的版本號碼。
Android 4.0 API 對應 API Level 14,因此 android:minSdkVersion 的值可以往下調,改為14。
再度執行,通過相容性檢查。
在行動裝置上,成功顯示 index.html。
8. 如何使用外部 javascript 及 css。
如果前面都設定正確成功,在裝置上 App 執行時,都會被導到 assets/www/index.html,做為開始首頁。如同開發網站一般。
如要使用 jQuery 及其他 javascript API,只要拷貝到 assets/www/ 底下,以目錄分門別類管理好,同時在index.html 內引入(包含正確子路徑)即可。
以 jQuery 為例。
若再加上 jQuery Mobile 就可以讓程式有點雛形出現。
引入jqm。
簡單的 jQuery Mobile ListView
測試結果
至此,大致建立網頁技術與 Android 系統的橋樑,剩下的就是以 HTML+JavaScript 的語言運用豐富內容;運用JavaScript 的 UI 套件來豐富 App 介面;並了解 Phonegap API 的使用方法,以使用行動裝置的各項功能,例如最常用的鏡頭、檔案儲存等。
<<本文完>>