2012年11月13日 星期二

[Android筆記] 產生金鑰,專案封裝

封裝過程使用的IDE是Eclipse (For Java Development)

若開發完畢的Android程式,要上傳到Google Play (Android Marker)或者直接傳送給其他人安裝,必須進行專案封裝成.apk檔,而封裝成.apk檔時,必須使用一組金鑰(Key)進行。

開啟命令提示字元(cmd),將路徑切換到Java\jre\bin\底下。
例如 cd C:\Program Files\Java\jdk1.7.0_07\jre\bin

可以在資料夾中看到keytool.exe 的檔案,這就是我們用來產生金鑰不可或缺的檔案。

切換到目標資料夾後,輸入:
例如 keytool -genkey -v -keystore filename.keystore -alias aliasname -keyalg RSA -validity 20000

解釋這行命令,使用keytool,產生key(-genkey),顯示詳細資訊(-v),產生key的.store檔案(-keystore),檔案名稱為(filename.store),加密邏輯(-keyalg),加密方式(RSA),有效驗證期限(-validity),時間為20000天*。

*天數可以自訂。

接下來會要求輸入Keystore密碼、個人資訊、主密碼(可與Keystore密碼設定一樣,避免忘記)。
完成之後,就可以在.\bin\資料底下看到產生一個新的.store檔案,這就是存放我們剛剛建立金鑰的檔案。

如果在建立過程中,出現存取被拒,可能是OS的問題,請把該目錄底下keytool.exe 設定為管理員權限即可。

2012年11月9日 星期五

[Android筆記] AsyncTask 同步化執行緒

Java 提供許多標準的 Thread 類別給User使用,但在Andorid常常需要用到同步化的執行緒,此時我們可以使用AsyncTask類別來做同步化的執行緒功能。

建立AsyncTask類別,需要實作doInBackground()onProgressUpdate()onPostExecute()等三個方法。

doInBackground() 方法是指定此獨立執行緒上實際要完成之工作的回呼(Callback)。

onProgressUpdate() 方法會在工作執行有進展時就會被呼叫,此進展應該會由doInBackground()呼叫報告。

onPostExecute() 方法會在工作完成時被呼叫,更新使用者介面資訊,類似告訴使用工作已完成。