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 網站就會自動
進入開發者管理頁面,按 上傳應用程式 鈕。