Pages

Subscribe:

Ads 468x60px

Labels

2013年5月19日 星期日

Android學習_如何開始使用Google Maps Android API v2

前一陣子想要測試一些Google Map的東西,才發現他默默的在2012年12月3日推出了Google Maps Android API v2(官方資料),而原本申請key與使用的方式變的不太一樣。

要讓手機正確出現Google map需要下列步驟:
1. 建立個人的keystore。
2. 由個人的keystore查詢SHA1碼。
3. 利用SHA1碼至Google apis網站申請key。
4. 於eclipse安裝Google Play services。
5. 於要使用Google Map的專案加入google-play-services_lib的Library。
6. 於專案的AndroidManifest與layout.mal加入需要的設定。
7. 利用第一步驟的keystore匯出專案為apk檔案。
8. 以adb安裝上述apk檔案。


詳細步驟:
1. 建立個人的keystore。
A. 開啟DOS命令視窗,找到java的bin資料夾(C:\Program Files\Java\jre6\bin)
B. 輸入keytool指令(keytool -genkey -v -keystore yourkeyname.keystore -alias yourkeyname -keyalg RSA -keysize 2048 -validity 10000)
輸入後,會有一系列的問題,需要注意的是過程中會輸入兩種密碼,網路上書上都推薦怕記不住就用一樣。


2. 由個人的keystore查詢SHA1碼。
A. 還是一樣先開啟DOS命令視窗,找到java的bin資料夾(C:\Program Files\Java\jre6\bin)
B. 使用"既有keystore取得SHA1的語法(keytool -list -v -keystore "C:\Program Files\Java\jre6\bin\yourkeyname.keystore"),鍵入語法後就必須要輸入剛剛建立時所設定的密碼。(語法中加上-v才會顯示SHA1碼)


3. 利用SHA1碼至Google apis網站申請key。
A. 連至申請網站https://code.google.com/apis/console/ 
B. 若是第一次使用按Create Project。
C. 選擇左邊列表的Services,並且將google Maps Android API v2調整成"on"。
D. 選擇左邊列表的API Access,並且點擊右下角的Create new Android key。
E. 輸入步驟二得到的SHA1與專案的Package名稱(中間以分號分隔),例:SHA1碼;tw.com.maptest。
F. 記住API key。


4. 於eclipse安裝Google Play services。
A. 進入Android SDK Mnanger(eclipse→windows→Android SDK Mnanger)。
B. 安裝Extras的Google Play services。


5. 於要使用Google Map的專案加入google-play-services_lib的Library。
A. 於eclipse→File→import,選擇Android下的Existing Android Code Into Workspace。
B. 由Browse選擇→[android-sdk-folder]/extras/google/google_play_services/libproject/google-play-services_lib
C. 於要使用Google Map的專案按右鍵,選擇Properties。於左側選單選擇Android,並於下方Library上述加入的專案google-play-services_lib。


6. 於專案的AndroidManifest與layout.xml加入需要的設定。
A. 打開AndroidManifest加入必須的設定。
於application標籤之上(注意下述程式碼必須置換yourpackagename成你的package名稱):

於application標籤中加入(注意下述程式碼必須置換GoogleMapAPIKey成剛剛申請到的Key):

於application標籤下加入:

B. 打開layout.xml,將介面先改為較單純的內容,待測試OK後再更改為自己需要的介面。

C. java用最單純的內容先進行測試: package yourpackageName; import android.os.Bundle; import android.app.Activity; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } }

7. 利用第一步驟的keystore匯出專案為apk檔案。
A. 專案右鍵選擇Android Tools→Export Signed Application Package。
B. 依照步驟可以匯出帶有簽章的apk檔案(過程中必須輸入最初設定的keystore密碼)


8. 以adb安裝上述apk檔案。
A. 利用adb指令(adb install Name.apk)

最後,執行程式,確認手機有連上網路,迎接你的地圖吧。

這篇有幫助到你了話,請留"YA~~~看到圖了" 


2013年3月22日由劉佺網友補充如何在不匯出專案的情況下,使用debug.keystore來進行實機測試:
以下為完整留言,感謝他的補充: 
不過隨即發現不用匯出成apk這麼麻煩,如果用他預設的debug.keystore去產生api key,就可以直接從eclipse/Run As去選擇自己的裝置
預設的debug.keystore可以從Preferences \ Android \ Build \ Default debug keystore去查詢
步驟二的語法就會變成:keytool -list -v -keystore "C:\Users\使用者名稱\.android\debug.keystore"
預設的debug.keystore的預設密碼是:android;這樣去申請,DEBUG時測試起來就會比較快(非常多 XD),就不用每次都匯出成專案了

剛才測試的時候發現,申請完以後,如果要改成自己之前新建的keystore
1. 先查自定密碼的keystore的SHA1碼
2. 到Google的API Access分頁
3. 選擇右邊的Edit allowed Android apps...
4. 將前半的SHA1碼改掉,分號後面的專案名稱不動
結果API key也不會變動,匯出專案時就可以用自訂的密碼了
實際安裝起來Google Map也可以正常顯示
----------------------------------------------------------------

資料來源

沒有留言:

張貼留言