2013-03-08 4 views
3

J'ai intégré Google Maps V2 dans mon application, comme le dit le tutoriel Google.Android Google Maps Fragment se bloque

Je reçois les erreurs suivantes lors du passage au fragment de carte.

03-08 12:52:01.600: E/AndroidRuntime(30314): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2105) 

03-08 12:52:01.600: E/AndroidRuntime(30314): FATAL EXCEPTION: main 

03-08 12:52:01.600: E/AndroidRuntime(30314): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{de.arvidg.exampleactionbartabs/de.arvidg.exampleactionbartabs.StartActivity}: 
java.lang.ClassNotFoundException: de.arvidg.exampleactionbartabs.StartActivity 

Heres le code source

package de.arvidg.exampleactionbartabs; 

import com.google.android.gms.common.GooglePlayServicesUtil; 
import com.google.android.gms.common.GooglePlayServicesUtil; 
import com.google.android.gms.maps.GoogleMap; 
import com.google.android.gms.maps.MapFragment; 
import com.google.android.maps.MapActivity; 

import data.Device; 
import data.Mission; 
import de.arvidg.exampleactionbartabs.R; 
import logic.FetchData; 
import android.app.Fragment; 
import android.content.Intent; 
import android.os.Bundle; 
import android.os.Handler; 
import android.os.Message; 
import android.util.Log; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.Button; 
import android.widget.EditText; 

public class MapFrag extends MapFragment { 

    protected FetchData thread; 
    protected Device device; 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
      Bundle savedInstanceState) { 

     final View lView = inflater.inflate(R.layout.map, container, 
       false); 

     return lView; 

    } 

    public void setDumb() { 

    } 

    public Device getDevice() { 
     return device; 
    } 

    public void setDevice(Device device) { 
     this.device = device; 
    } 

} 


      <?xml version="1.0" encoding="utf-8"?> 
      <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"/> 

Mon Manifest

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="de.arvidg.exampleactionbartabs" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk android:minSdkVersion="14" /> 

    <permission 
     android:name="de.arvidg.exampleactionbartabs.permission.MAPS_RECEIVE" 
     android:protectionLevel="signature" /> 

    <uses-feature 
     android:glEsVersion="0x00020000" 
     android:required="true" /> 

    <uses-permission android:name="de.arvidg.exampleactionbartabs.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" /> 
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 

    <application 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" > 
     <activity 
      android:name=".StartActivity" 
      android:label="@string/app_name" 
      android:theme="@android:style/Theme.Holo" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity 
      android:name=".MapFrag" 
      android:label="Map" 
      android:theme="@android:style/Theme.Holo" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

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

     <meta-data 
      android:name="com.google.android.maps.v2.API_KEY" 
      android:value="removed" /> 

     <uses-library android:name="com.google.android.maps" /> 
    </application> 

</manifest> 
+0

Avez-vous inclus votre activité 'de.arvidg.exampleactionbartabs.StartActivity' dans le fichier' AndroidManifest.xml' pour votre projet? –

+0

java.lang.ClassNotFoundException: de.arvidg.exampleactionbartabs.StartActivity dans mainfest ?? – DjHacktorReborn

+0

Votre 'MapFrag' n'est pas une activité, essayez de le supprimer de votre manifeste. –

Répondre

1

changement

android:name="com.google.android.gms.maps.MapFragment"/> à

android:name="com.google.android.gms.maps.SupportMapFragment"/> dans activity_main.xml

et changer

public class MainActivity extends Activity

à public class MainActivity extends FragmentActivity dans MainActivity.java

ces deux corrections ont travaillé pour moi.