Transcript 單元十三發佈應用程式
Unit 13 發佈應用程式 開發多國語言應用程式 開發支援各種螢幕解析度 安裝應用程式到實機 應用程式簽署私人金鑰 發佈應用程式到 Android 市集 13.1 支援多國語系及螢幕模式 – 網際網路興盛縮小了世界的距離,Android 系統 設計之初就放眼全球,系統架構使用資料夾觀 念管理各國語言,讓開發者不費吹灰之力就可 建立具有各國語言的應用軟體。Android 程式製 作多國語系的方法,是將顯示的訊息文字獨立 出來,避免與程式碼混雜在一起,然後以資料 夾放置在不同的地方,就可輕易的根據不同語 言顯示對應的訊息文字。 • 13.1.1 抽取字串到 XML 檔 – 顯示的歡迎訊息從何而來?在 Eclipse 整合環境 開啟 Hello 專案,於 <res/layout/main.xml> 版面 配置檔中可見到系統為新專案自動建立一個 TextView 元件,並設定其顯示內容為 「@string/hello」:,常用方法如下表: – 仍然未見顯示在執行結果中的訊息文字。 「@string/hello」表示在字串資源檔中有一個名 稱為 hello 的字串,此字串位於 <res/values/strings.xml> 檔案: – 將字串由版面配置檔或程式檔取出置於獨立的 資源 (XML) 檔內,主要目的有二:應用程式中 可能會有多個地方使用相同字串,若要修改字 串,必須同時在每一個使用該字串之處修改。 – 如使用資源方式,只需修改資源檔中字串,維 護相當方便。其次,應用程式為多國語言版本, 通常只是顯示字串不同而已,一旦抽離字串到 獨立檔案後,要顯示其他語言時,改變儲存字 串的資源檔即可,建立多國語言版本的方法, 將在下一小節詳細說明。 • 使用 Resources 介面建立字串 – 在 Eclipse 整合環境開啟 <strings.xml> 檔,Eclipse 貼心的 提供了 Resources 介面,可以使用視覺化方式建立及編輯字 串。以第三章的 MileToKm 專案為例,在 <strings.xml> 檔中 新增一個名稱為「str_mile」、內容為「英哩:」的字串, 操作方式為: 請開啟 <strings.xml> 檔,選按編輯區下方 Resources 頁籤,再按 Add 鈕新增字串。 • 在 XML 檔中建立字串 – 上述視覺化介面操作的結果就是讓系統在 <strings.xml> 檔中自動產生一列字串設定程式 碼,也可以直接在 <strings.xml> 檔輸入建立字 串的程式碼,就可避免視覺化介面的冗長操作。 建立字串的程式碼需置於 <resources> 標籤中, 語法: – 例如新增一個名稱為「str_trans」、內容為「轉 換」的字串: • 在版面配置中使用字串 – 在資源檔中建立好字串後,要如何使用這些字 串呢?在版面配置檔與程式檔中使用字串的方 式不同,先介紹在版面配置檔的使用方式。 – 版面配置檔中使用字串的方式為: • 在程式檔中使用字串 – 第二章提過,在資源檔中建立的各種資源,系 統會自動為其在 <R.java> 檔中產生該資源的索 引,當開發者要在程式檔中使用資源時,可以 讀取這些索引。在程式檔中使用字串的語法為: • 13.1.2 範例:計算大聯盟球速抽離字串版 – 本範例修改第三章計算美國大聯盟球速範例, 抽取版面配置檔及程式檔中所有字串存於 <strings.xml> 中,並修改版面配置檔及程式檔內 使用字串的程式碼。 • 13.1.3 開發多國語言應用程式 • 切換語系 – 要觀看多國語言效果,可將模擬器切換到不同 語系,就可顯示該語系的顯示結果了!切換語 系的操作方法為: – 在模擬器功能區按 MENU 鈕,再按下方 系統設 定 鈕。 • 語系資料夾名稱 – 常用的語系在 <res> 中對應的資料夾名稱整理 如下表: • 使用工具建立檔案 – 在 <res> 中新增多國語言所需的資料夾及檔案, 通常使用複製的方法建立。如果對於這些複製、 貼上等檔案操作不熟練, Eclipse 特別提供工具 建立指定的資料夾及檔案,相當方便。操作方 式為: 於 Eclipse 整合環境的 Package Explorer 頁籤中點選要 加入檔案的專案名稱,此處選 MileToKm_s,在工具列 按 鈕。 • 13.1.4 範例:計算大聯盟球速多國語言版 – 本範例延續前一範例,將顯示改為繁體中文、 簡體中文及英文多國語言,若語系設定為其他 語言則以繁體中文顯示。 • 13.1.5 支援各種螢幕解析度 – 開發者苦心撰寫的應用程式,當然希望能在所 有 Android 系統的手機上執行,可在該應用程 式的 <AndroidManifest.xml> 檔中加入下列程式 碼: – 一旦建立的AVD 模擬器多了,專案如何選擇 測試使用的模擬器呢? 1. 請由Eclipse 功能表的Run \ Run Confi gurations .. 進入對話方塊。 2. 在左方選取要執行的專案後,在右方選按Target 標籤,再核選 Automatic 時再選擇要使用的AVD 模擬後按 Apply 鈕確定,或按 Run 鈕執行。 13.2 將作品發佈到 Android 市集 • 13.2.1 安裝應用程式到實機 – Android 系統為了能保證應用程式的安全性,因 此規定在產生安裝檔時,必須經過「簽署金鑰」 的過程。前面章節在開發時,為了測試應用程 式執行結果,會先編譯專案,然後在模擬器中 執行,並沒有進行簽署金鑰過程,為什麼可以 順利在模擬器中執行並觀看結果?那是因為 Eclipse 整合環境在編譯時會自動簽署一個名稱 為「debug」的金鑰,好讓開發中的應用程式可 以在模擬器上執行。 • 取得專案發佈的安裝檔 – 要將編譯完成的 apk 檔安裝於實機,首先要先 把 apk 檔複製到手機的 SD 卡上,再使用 Android 應用程式安裝軟體來安裝。 – 此處以錄音程式:Record 專案為例,在模擬器 中執行專案時,編譯完成的 apk 會儲存於專案 根目錄的 <bin> 資料夾中,檔案名稱與專案名 稱相同。連接手機與電腦後,複製 <Record.apk> 到 SD 卡上: • 下載安裝軟體 – Android 市集上有非常多 Android 應用程式安裝 軟體,使用者可任意選擇一種使用。此處以下 載安裝 Apk Installer 應用程式為例: 於手機上應用程式桌面選按 Market 應用程式,出現 Market 網頁後按右上角搜尋 鈕 ( 手機必須在網路連 線狀態 )。 • 13.2.2 應用程式產生私人金鑰 – 一般在 AVD 模擬器上測試的專案,會自動產生 本機的「debug」金鑰,所以產生的 apk 檔可以 安裝在設備實機上執行,但不能上傳到 Android 市集。Android 市集是一個公開的園地,安全性 需有更嚴格的標準,要上傳到 Android 市集的 應用程式,必須產生私人金鑰。 • 申請私人金鑰 – 如果尚未申請過私人金鑰,可使用任意專案來 建立私人金鑰,以 MileToKm_m 專案為例: 在 Eclipse 的 Package Explorer 中 MileToKm_m 專案名稱 按滑鼠右鍵,在快顯功能表中選按 Android Tools / Export Signed Application Package。 • 使用已存在私人金鑰 於 Eclipse 的 Package Explorer 中,在 MileToKm_s 專案 名稱按滑鼠右鍵, 在 快 顯 功 能 表 中 選 按 Android Tools / Export Signed Application Package。核選 Use existing keystore。Location 欄位為已存在私人金鑰檔路 徑,此處輸入「C:\android2011\android.keystore」, Password 欄位輸入密碼「123456」,按 Next 鈕繼續。 • 13.2.3 發佈應用程式到 Android 市集 – 如果使用者下載付費軟體,開發者可取得 70% 款項,其餘 30% 做為 Google 公司管銷費用、電 信商、電子收費商等費用。 – 開發者必須註冊為「Android Market Developer」 才能上傳應用程式到 Android 市集,而註冊時 要收取 25 美元的費用。收取費用的目的,是 為了維護 Android 市集上應用程式的品質,同 時也鼓勵開發者多撰寫付費軟體,如此開發者 可以回收註冊費用,Google 公司也可以多些收 入。 • 註冊 Android Market Developer – 註冊成為 Android Market Developer 的步驟為: 以 Google 帳號登入 http://market.android.com/publish 網站,輸入各項資料後按 繼續 鈕繼續註冊程序。 • 上傳應用程式 – 在開發者管理網頁中上傳加入私人金鑰的 apk 檔,再詳細填寫應用程式各項資料後,按 發佈 鈕就可將應用程式發佈在 Android 市集了! 登入 http://market.android.com/publish 網站就會自動 進入開發者管理頁面,按 上傳應用程式 鈕。