2014年5月11日日曜日

Android Studioの導入 地図アプリを作成してみる その3

環境

  • mac
  • Android Studio0.5.2

前回の続きです。

APIを取得した後は、プロジェクトからSDKを参照できるように設定します。

手順

  • library dependencyを選択
  • Google play servicesを選択
  • applyを押す
  • gradleでビルドが走る。

私の環境だと、この場でエラーが発生しました。原因はcompile 'com.google.android.gms:play-services:+'の部分。詳しくエラー内容を見るとgoogle repogitryが存在していなかったのでinstallしました。

installを終えたらもう一度ビルドします。今度はError:Main manifest has <uses-sdk android:minSdkVersion='8'> but library uses minSdkVersion='9'と出てビルド失敗。gradle.buildファイルのminSdkVersionの部分が8になっていたので、以下のように14に修正します。


apply plugin: 'android'

android {
    compileSdkVersion 19
    buildToolsVersion '19.0.3'

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

dependencies {
    compile 'com.android.support:appcompat-v7:+'
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.google.android.gms:play-services:+'
}

もう一度ビルドするとGradle invocation completed successfully in 27 secが出て成功。

manifest.xmlを変更

google maps android API v2の使用に必要なmanifest.xmlファイルに以下のおまじないを追加します。

manifest.xml


    <!-- 追加パーミッション1:Google Maps Android API のアクセス許可 --> 
    <permission
        android:name="com.rakuraku.android.ekimap.permission.MAPS_RECEIVE"
        android:protectionLevel="signature" /> 

    <uses-permission android:name="com.rakuraku.android.ekimap.permission.MAPS_RECEIVE" /> 

    <!-- 追加パーミッション2:現在位置取得のため --> 
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 

    <!-- 追加パーミッション3:Google Mapsの動作に必要 --> 
    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> 

    <!-- 追加パーミッション4:OpenGL ES version 2(地図描画用) --> 
    <uses-feature
        android:glEsVersion="0x00020000"
        android:required="true" /> 

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" > 

        <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version"/> 
        <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="@string/map_key"/> 

        <activity
            android:name="com.example.mapapplication.app.MainActivity"
            android:label="@string/app_name" > 
            <intent-filter> 
                <action android:name="android.intent.action.MAIN" /> 

                <category android:name="android.intent.category.LAUNCHER" /> 
            </intent-filter> 
        </activity> 
    </application> 

おまじないが多いですが、仕方ありません。さらにres/stringsとres/integersのresourceファイルにもAPI keyとGoogle Play Servicesのversionを設定します。

strings.xml

<?xml version="1.0" encoding="utf-8"?> 
<resources> 

    <string name="app_name">MapApplication</string> 
    <string name="hello_world">Hello world!</string> 
    <string name="action_settings">Settings</string> 
    <string name="map_key">AAAAAAAAAAAAAA11111111111111</string> 

</resources> 

integers.xml

<?xml version="1.0" encoding="utf-8"?> 
<resources> 

    <integer name="google_play_services_version">4323000</integer> 

</resources> 

これでようやくjavaプログラムの実装を開始できます。長くなったのでまたまた続きます。次回で終わる予定です。

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

0 件のコメント:

コメントを投稿

Related Posts Plugin for WordPress, Blogger...