2012年12月25日 星期二

Android程式設計 - Google Maps API v2應用程式基本架構

1. 開啟Android SDK Manager,確認已安裝Google Play services

2. google-play-services_lib專案匯入到工作區。在專案開發過程google-play-services_lib專案必須維持開啟狀態。

3. 建立Android專案。

4. google-play-services_lib加到Google Maps API v2應用程式專案。

5. 使用debug.keystoreSHA1碼及專案套件名稱(workshop.mapapiv2)到https://code.google.com/apis/console/官網申請Google Maps API v2 key。

6. 開啟專案之AndroidManifest.xml檔,在元素之結束標籤(
)前加入以下宣告。其中apiv2_key需置換為Google Maps API v2 key。
   <meta-data
     android:name="com.google.android.maps.v2.API_KEY"
     android:value="apiv2_key" />

7. AndroidManifest.xml元素之前加入以下宣告,其中your_package_name需置換為自己的App專案套件名稱。
  <permission
     android:name="your_package_name.permission.MAPS_RECEIVE"
     android:protectionLevel="signature" />
  <uses-permission
     android:name="your_package_name.permission.MAPS_RECEIVE" />
  <uses-permission android:name="android.permission.INTERNET"/>
  <uses-permission
     android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
  <uses-permission android:name=
     "com.google.android.providers.gsf.permission.READ_GSERVICES"/>

8. AndroidManifest.xml元素之前加入以下宣告。
  <uses-feature
     android:glEsVersion="0x00020000" android:required="true"/>

9. 開啟專案版面配置檔(activity_main.xml),移除預設的<TextView>,加入以下元件。如果Minimum Required SDK是指定為API 12之後版本,class屬性值可使用”com.google.android.gms.maps. MapFragment”。
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/map"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  class="com.google.android.gms.maps.SupportMapFragment"/>

10. 編輯專案程式檔(MainActivity.java)。將MainActivity改為繼承自FragmentActivity注意!如果Minimum Required SDK是指定為API 12之後版本,且版面配置檔class屬性值是使用”com.google.android.gms.maps. MapFragment時,則MainActivity要直接繼承Activity
  public class MainActivity extends FragmentActivity{
    @Override
     protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_main);
     }
  }