Je suis nouveau pour le développement android. J'ai commencé avec quelque chose de simple, mais la première étape consiste simplement à afficher une carte. Voici les étapes que j'ai suivies pour afficher la carte: 1) J'ai la clé google api, et configurez android.mainfest. J'ai ajouté des permissions: MAPS_RECEIVE, ACCESS_COARSE_LOCATION, INTERNET et ma clé google map v2 dans l'élément. 2) J'ai importé google-play-services_lib dans mon espace de travail. Construisez-le et ajoutez sa référence à mon projet. 3) Parce que j'ai utilisé Android 2.3.3 (api 10), j'ai donc utilisé SupportMapFragment au lieu de MapFragment. Voici ma mise en page:erreur inflating classe fragment google maps avec google maps
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ShowMapActivity" >
<fragment android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
class="com.google.android.gms.maps.SupportMapFragment "/>
</RelativeLayout>
Et voici mon code dans ShowMapActivity (il est étendu FragmentActivity)
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_show_map);
if(findViewById(R.id.map)!=null)
{
SupportMapFragment fragment = new SupportMapFragment();
getSupportFragmentManager().beginTransaction().add(R.id.map,fragment).commit();
}
}
Mais malheureusement, quand je lance l'application dans l'émulateur, je reçois toujours erreur dans le chat journal: Erreur lors du gonflement du fragment de classe et de com.google.android.gms.maps.MapFragment: assurez-vous que le nom de la classe existe, est public et possède un constructeur vide qui est public. EDIT: Voici mon chat journal:
05-26 13:52:25.457: E/AndroidRuntime(289): FATAL EXCEPTION: main
05-26 13:52:25.457: E/AndroidRuntime(289): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.com.vogella.android.locationapi.maps/com.vogella.android.locationapi.maps.ShowMapActivity}: android.view.InflateException: Binary XML file line #6: Error inflating class fragment
05-26 13:52:25.457: E/AndroidRuntime(289): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
05-26 13:52:25.457: E/AndroidRuntime(289): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
05-26 13:52:25.457: E/AndroidRuntime(289): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
05-26 13:52:25.457: E/AndroidRuntime(289): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
05-26 13:52:25.457: E/AndroidRuntime(289): at android.os.Handler.dispatchMessage(Handler.java:99)
05-26 13:52:25.457: E/AndroidRuntime(289): at android.os.Looper.loop(Looper.java:123)
05-26 13:52:25.457: E/AndroidRuntime(289): at android.app.ActivityThread.main(ActivityThread.java:3683)
05-26 13:52:25.457: E/AndroidRuntime(289): at java.lang.reflect.Method.invokeNative(Native Method)
05-26 13:52:25.457: E/AndroidRuntime(289): at java.lang.reflect.Method.invoke(Method.java:507)
05-26 13:52:25.457: E/AndroidRuntime(289): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
05-26 13:52:25.457: E/AndroidRuntime(289): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
05-26 13:52:25.457: E/AndroidRuntime(289): at dalvik.system.NativeStart.main(Native Method)
05-26 13:52:25.457: E/AndroidRuntime(289): Caused by: android.view.InflateException: Binary XML file line #6: Error inflating class fragment
05-26 13:52:25.457: E/AndroidRuntime(289): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:587)
05-26 13:52:25.457: E/AndroidRuntime(289): at android.view.LayoutInflater.rInflate(LayoutInflater.java:623)
05-26 13:52:25.457: E/AndroidRuntime(289): at android.view.LayoutInflater.inflate(LayoutInflater.java:408)
05-26 13:52:25.457: E/AndroidRuntime(289): at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
05-26 13:52:25.457: E/AndroidRuntime(289): at android.view.LayoutInflater.inflate(LayoutInflater.java:276)
05-26 13:52:25.457: E/AndroidRuntime(289): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:207)
05-26 13:52:25.457: E/AndroidRuntime(289): at android.app.Activity.setContentView(Activity.java:1657)
05-26 13:52:25.457: E/AndroidRuntime(289): at com.vogella.android.locationapi.maps.ShowMapActivity.onCreate(ShowMapActivity.java:22)
05-26 13:52:25.457: E/AndroidRuntime(289): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
05-26 13:52:25.457: E/AndroidRuntime(289): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
05-26 13:52:25.457: E/AndroidRuntime(289): ... 11 more
05-26 13:52:25.457: E/AndroidRuntime(289): Caused by: android.support.v4.app.Fragment$InstantiationException: Unable to instantiate fragment com.google.android.gms.maps.SupportMapFragment : make sure class name exists, is public, and has an empty constructor that is public
Alors, comment puis-je résoudre. Quelles étapes je suis manquant ou je me suis trompé
Merci pour votre aide, et désolé tout le monde parce que ma compétence d'écriture en anglais est mauvaise
s'il vous plaît ajouter votre logcat – thepoosh
@thepoosh: Merci pour vous répondre , voici mon logcat: java.lang.RuntimeException: Impossible de démarrer l'activité ComponentInfo {com.example.com.vogella.android.locationapi.maps/com.vogella.android.locationapi.maps.ShowMapActivity}: android.view. InflateException: ligne de fichier XML binaire n ° 6: erreur de gonflement du fragment de classe .... 05-26 13: 52: 25.457: E/AndroidRuntime (289): Causée par: android.support.v4.app.Fragment $ InstantiationException: Impossible d'instancier le fragment com.google.android.g ms.maps.SupportMapFragment: assurez-vous que le nom de classe existe, est public, et a un constructeur vide qui est public – Beginner
Editer la question – thepoosh