IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Message d'erreur au lancement de l'application


Sujet :

Android

  1. #1
    Membre du Club
    Femme Profil pro
    Etudiante
    Inscrit en
    Février 2013
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Etudiante
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2013
    Messages : 95
    Points : 68
    Points
    68
    Par défaut Message d'erreur au lancement de l'application
    Bonsoir,

    Je suis nouvelle développeuse Android et je suis des tutoriaux pour créer ma première application. Quand je lance l'application, le compilateur ne donne aucune erreur mais l'emulateur affiche "Unfortunately, app name HAS stopped."

    my LogCat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    03-11 20:48:28.558: W/dalvikvm(910): Unable to resolve superclass of Lcom/example/test_serveur/MainActivity; (474) 
    03-11 20:48:28.598: W/dalvikvm(910): Link of class 'Lcom/example/test_serveur/MainActivity;' failed 
    03-11 20:48:28.619: D/AndroidRuntime(910): Shutting down VM 
    03-11 20:48:28.628: W/dalvikvm(910): threadid=1: thread exiting with uncaught exception (group=0x40a71930) 
    03-11 20:48:28.708: E/AndroidRuntime(910): FATAL EXCEPTION: main 
    03-11 20:48:28.708: E/AndroidRuntime(910): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.test_serveur/com.example.test_serveur.MainActivity}: java.lang.ClassNotFoundException: Didn't find class "com.example.test_serveur.MainActivity" on path: /data/app/com.example.test_serveur-2.apk 
    03-11 20:48:28.708: E/AndroidRuntime(910): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2106)
    03-11 20:48:28.708: E/AndroidRuntime(910): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
    03-11 20:48:28.708: E/AndroidRuntime(910): at android.app.ActivityThread.access$600(ActivityThread.java:141)
    03-11 20:48:28.708: E/AndroidRuntime(910): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
    03-11 20:48:28.708: E/AndroidRuntime(910): at android.os.Handler.dispatchMessage(Handler.java:99)
    03-11 20:48:28.708: E/AndroidRuntime(910): at android.os.Looper.loop(Looper.java:137)
    03-11 20:48:28.708: E/AndroidRuntime(910): at android.app.ActivityThread.main(ActivityThread.java:5041)
    03-11 20:48:28.708: E/AndroidRuntime(910): at java.lang.reflect.Method.invokeNative(Native Method)
    03-11 20:48:28.708: E/AndroidRuntime(910): at java.lang.reflect.Method.invoke(Method.java:511)
    03-11 20:48:28.708: E/AndroidRuntime(910): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
    03-11 20:48:28.708: E/AndroidRuntime(910): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
    03-11 20:48:28.708: E/AndroidRuntime(910): at dalvik.system.NativeStart.main(Native Method)
    03-11 20:48:28.708: E/AndroidRuntime(910): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.example.test_serveur.MainActivity" on path: /data/app/com.example.test_serveur-2.apk
    03-11 20:48:28.708: E/AndroidRuntime(910): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:65)
    03-11 20:48:28.708: E/AndroidRuntime(910): at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
    03-11 20:48:28.708: E/AndroidRuntime(910): at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
    03-11 20:48:28.708: E/AndroidRuntime(910): at android.app.Instrumentation.newActivity(Instrumentation.java:1054)
    03-11 20:48:28.708: E/AndroidRuntime(910): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2097)
    03-11 20:48:28.708: E/AndroidRuntime(910): ... 11 more


    AndroidManifest.xml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <?xml version="1.0" encoding="utf-8"?> 
    <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.test_serveur" android:versionCode="1" android:versionName="1.0" > 
        <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17" />
        <uses-permission android:name="android.permission.INTERNET" />
        <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
        <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
        <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" >
            <activity android:name="com.example.test_serveur.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>
    </manifest>
    JsonParser.java :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [*]package com.example.test_serveur; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.DefaultHttpClient; import org.json.JSONException; import org.json.JSONObject; import android.util.Log; public class JsonParser { static InputStream is = null; static JSONObject jObj = null; static String json = ""; // Constructeur de notre classe public JsonParser() { } public JSONObject getJSONFromUrl(String url) { // début de la requête http try { // faire appel à defaultHttpClient DefaultHttpClient httpClient = new DefaultHttpClient(); HttpPost httpPost = new HttpPost(url); HttpResponse httpResponse = httpClient.execute(httpPost); HttpEntity httpEntity = httpResponse.getEntity(); is = httpEntity.getContent(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } try { BufferedReader reader = new BufferedReader(new InputStreamReader( is, "iso-8859-1"), 8); StringBuilder sb = new StringBuilder(); String line = null; while ((line = reader.readLine()) != null) { sb.append(line + "\n"); } is.close(); json = sb.toString(); } catch (Exception e) { Log.e("Buffer Error", "Error converting result " + e.toString()); } // convertir le résultat qui est sous format d'un String en un JSONObject try { jObj = new JSONObject(json); } catch (JSONException e) { Log.e("JSON Parser", "Error parsing data " + e.toString()); } // retourner un JSONObject return jObj; } }

    ListItimizedOverlay.java :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    package com.example.test_serveur; import java.util.ArrayList; import android.graphics.drawable.Drawable; import android.app.AlertDialog; import android.content.Context; import com.google.android.maps.ItemizedOverlay; import com.google.android.maps.OverlayItem; public class ListItimizedOverlay extends ItemizedOverlay<OverlayItem> { private Context context; private ArrayList<OverlayItem> arrayListOverlayItem = new ArrayList<OverlayItem>(); public ListItimizedOverlay(Drawable defaultMarker) { super(boundCenterBottom(defaultMarker)); // TODO Auto-generated constructor stub } public ListItimizedOverlay(Drawable defaultMarker, Context pContext) { super(boundCenterBottom(defaultMarker)); this.context = pContext; } @Override protected OverlayItem createItem(int i) { // TODO Auto-generated method stub return arrayListOverlayItem.get(i); } @Override public int size() { // TODO Auto-generated method stub return arrayListOverlayItem.size(); } @Override protected boolean onTap(int index) { OverlayItem item = arrayListOverlayItem.get(index); AlertDialog.Builder dialog = new AlertDialog.Builder(context); dialog.setTitle(item.getTitle()); dialog.setMessage(item.getSnippet()); dialog.show(); return true; } public void addOverlayItem(OverlayItem overlay) { arrayListOverlayItem.add(overlay); populate(); } }

    MainActivity.java :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    package com.example.test_serveur; import android.os.Bundle; import java.io.InputStream; import java.util.List; import org.apache.http.HttpEntity; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import android.graphics.drawable.Drawable; import android.location.Location; import android.location.LocationListener; import android.location.LocationManager; import android.os.AsyncTask; import android.view.KeyEvent; import android.widget.Toast; import com.example.test_serveur.ListItimizedOverlay; import com.example.test_serveur.R; import com.google.android.maps.GeoPoint; import com.google.android.maps.MapActivity; import com.google.android.maps.MapController; import com.google.android.maps.MapView; import com.google.android.maps.MyLocationOverlay; import com.google.android.maps.Overlay; import com.google.android.maps.OverlayItem; public class MainActivity extends MapActivity implements LocationListener { private static String url = "https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=-33.8670522,151.1957362&radius=500&types=food&name=harbour&sensor=true&key=AIzaSyDxms7wMJorpD9LZVRL9OiozgV1D9wJKxo"; private static final String TAG_results = "results"; private static final String TAG_geometry = "geometry"; private static final String TAG_location = "location"; private static final String TAG_lat = "lat"; private static final String TAG_lng = "lng"; JSONArray contacts = null; private MapView mapView = null; private LocationManager lm = null; private double lat = 0; private double lng = 0; private MapController mc = null; private MyLocationOverlay myLocation = null; HttpEntity httpEntity; static InputStream is = null; static JSONObject jObj = null; static String json = ""; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mapView = (MapView) this.findViewById(R.id.mapView); mapView.setBuiltInZoomControls(true); lm = (LocationManager) this.getSystemService(LOCATION_SERVICE); lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 10000, 0, this); lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 10000, 0, this); mc = mapView.getController(); mc.setZoom(15); myLocation = new MyLocationOverlay(getApplicationContext(), mapView); myLocation.runOnFirstFix(new Runnable() { public void run() { mc.animateTo(myLocation.getMyLocation()); mc.setZoom(17); } }); mapView.getOverlays().add(myLocation); myLocation.enableMyLocation(); getData(); } private void getData() { Drawable drawable = this.getResources().getDrawable(R.drawable.ic_launcher); final ListItimizedOverlay itemizedoverlay = new ListItimizedOverlay(drawable,this); new AsyncTask<Void, Void, JSONObject>(){ @Override protected JSONObject doInBackground(Void... params) { // instancier la classe JsonParser JsonParser jParser = new JsonParser (); // récupérer le JSONObject à partir de l’url du fichier employes.json JSONObject json = jParser.getJSONFromUrl(url); return json; }; protected void onPostExecute(JSONObject json) { try { // récupérer la liste de tous les employés JSONArray results = json.getJSONArray(TAG_results); // parcourir toute la liste des employés for(int i = 0; i < results.length(); i++){ // récupérer un employé de type JSONObject JSONObject emp = results.getJSONObject(i); // récupérer le JSONObject phone qui contient deux items JSONObject geometry = emp.getJSONObject(TAG_geometry); JSONObject location = geometry.getJSONObject(TAG_location); String latitude = location.getString(TAG_lat); String longitude= location.getString(TAG_lng); int b = Integer.parseInt(latitude); int c = Integer.parseInt(longitude); GeoPoint geoPoint = new GeoPoint(c , b); OverlayItem overlayitem = new OverlayItem(geoPoint, "Hello from", "Tahiti"); itemizedoverlay.addOverlayItem(overlayitem); List<Overlay> mapOverlays = mapView.getOverlays(); mapOverlays.add(itemizedoverlay); } } catch(JSONException e) { e.printStackTrace(); } }; }.execute(); } @Override protected void onResume() { super.onResume(); myLocation.enableMyLocation(); myLocation.enableCompass(); } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_S) { mapView.setSatellite(!mapView.isSatellite()); return true; } return super.onKeyDown(keyCode, event); } @Override public void onLocationChanged(Location location) { lat = location.getLatitude(); lng = location.getLongitude(); Toast.makeText( getBaseContext(), "Location change to : Latitude = " + lat + " Longitude = " + lng, Toast.LENGTH_SHORT).show(); GeoPoint p = new GeoPoint((int) (lat * 1E6), (int) (lng * 1E6)); mc.animateTo(p); mc.setCenter(p); } @Override public void onProviderDisabled(String arg0) { // TODO Auto-generated method stub } @Override public void onProviderEnabled(String arg0) { // TODO Auto-generated method stub } @Override public void onStatusChanged(String arg0, int arg1, Bundle arg2) { // TODO Auto-generated method stub } @Override protected boolean isRouteDisplayed() { // TODO Auto-generated method stub return false; } }
    activity_main.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <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=".MainActivity" >
    <com.google.android.maps.MapView android:id="@+id/mapView" android:layout_width="fill_parent" android:layout_height="fill_parent" android:apiKey="@string/mapKey" android:clickable="true" /> 
    </RelativeLayout>
    Avez vous des idées ? Merci d'avance.

  2. #2
    Membre actif
    Homme Profil pro
    Développeur Java / C++
    Inscrit en
    Mars 2013
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java / C++

    Informations forums :
    Inscription : Mars 2013
    Messages : 128
    Points : 228
    Points
    228
    Par défaut
    Bonjour Arwa89,

    D'apère le logcat, il n'arrive pas à résoudre la super classe de MainActivity, qui est MapActivity.

    Or MapActivity ne fait pas partie de la librairie standard android, si tu veut hériter de MapActivity du package com.google.android.maps, tu doit ajouter dans ton android manifest ceci:

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

    Et normalement ça devrait fonctionner , enfin j'espère
    Pensez à lire les règles du forum avant de poster.

    Si un poste ou un commentaire vous a été utile, merci de mettre un petit !
    Problème résolu? alors pensez à cliquer sur .
    Si vous avez trouvé la solution tout seul, merci de la poster, ça pourrait aider les suivants!

    Bonjour, s'il vous plaît et merci => ses mots ne coûtent rien, mais ils font toujours plaisirs!

  3. #3
    Membre du Club
    Femme Profil pro
    Etudiante
    Inscrit en
    Février 2013
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Etudiante
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2013
    Messages : 95
    Points : 68
    Points
    68
    Par défaut
    Bonjour Minicalion,
    l'erreur a été corrigée et merci beaucoup de votre aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur au lancement d'une application RCP : NoClassDefFound
    Par elitost dans le forum Eclipse Platform
    Réponses: 3
    Dernier message: 10/01/2007, 11h00
  2. Fenêtre modale Erreur au lancement de mon application
    Par James_ dans le forum C++Builder
    Réponses: 4
    Dernier message: 29/06/2006, 08h30
  3. message d'erreur au lancement de winamp
    Par vbcasimir dans le forum Autres Logiciels
    Réponses: 4
    Dernier message: 04/05/2005, 10h31
  4. [TP] Message d'erreur au lancement de tpx sur xp
    Par palladium dans le forum Turbo Pascal
    Réponses: 3
    Dernier message: 27/03/2005, 00h53
  5. message d'erreur au lancement de l'appli
    Par parisien04 dans le forum JBuilder
    Réponses: 5
    Dernier message: 05/11/2003, 17h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo