Tutoriel pour comprendre comment déboguer les applications Android

Cet article décrit comment déboguer une application Android.

Nous remercions Lars Vogel qui nous a aimablement autorisés à traduire et héberger cet article.

N'hésitez pas à commenter cet article ! Commentez Donner une note à l'article (5)

Article lu   fois.

Les deux auteur et traducteur

Site personnel

Traducteur :

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

1. Déboguer les applications Android

1-1. L'attribut débogage du fichier AndroidManifest.xml

Si vous développez une application Android, vous pouvez la déboguer avec Eclipse. Pour autoriser le débogage sur un vrai périphérique Android, vous devez ajouter la valeur « android:debuggable="true" » pour l'application dans votre fichier AndroidManifest.xml. L'outil ADT positionne automatiquement cette valeur lors de la construction en mode debug dans la constante DEBUG de la classe BuildConfig. Cette classe est automatiquement mise à jour par ADT.

1-2. Mettre le débogage lors de l'exécution dans Eclipse

La Java Machine (JVM) demande à ce que vous lanciez un programme Java en mode débogage pour le déboguer. Android permet que vous mettiez le mode débogage pour une application lors de son exécution avec le bouton « Debug » dans la vue des périphériques DDMS.

Après avoir autorisé le mode débogage dans la vue, la prochaine fois qu'un point d'arrêt est rencontré, Eclipse vous autorise à déboguer le processus.

2. Le débogueur Eclipse

Les applications Android peuvent être déboguées de la même manière que les applications Java. Voir le tutoriel de débogage Eclipse pour plus de détails.

3. Exercice : déboguons

3-1. Accéder au code source Android

Vérifiez que vous pouvez accéder au code source de votre système Android à l'aide de l'IDE Eclipse.

3-2. Créer un projet de test

Créez une application Android avec un paquetage de haut niveau appelé com.vogella.android.debugging.listview.

Implémentez l'adaptateur suivant pour votre ListView.

 
Sélectionnez
package com.vogella.android.debugging.listview;

import java.util.Collections;
import java.util.List;

import android.content.Context;
import android.content.res.Resources;
import android.os.Debug;
import android.text.Html;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;

public class MyArrayAdapter extends ArrayAdapter<String> {

  private List<String> values;
  private Context context;

  public MyArrayAdapter(Context context, List<String> values) {
    super(context, android.R.layout.simple_list_item_1);
    this.context = context;
    this.values = values;
  }

  @Override
  public View getView(int position, View convertView, ViewGroup parent) 
    // Ensure sorted values
    LayoutInflater inflater = (LayoutInflater) context
        .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View view = inflater.inflate(android.R.layout.simple_list_item_1, parent, false);
    TextView textView = (TextView) view.findViewById(android.R.id.text1);
    textView.setText(values.get(position));
    return view;
  }
} 
Implement a ListView in the activity which shows 1000 random generated strings. 
package com.vogella.android.debugging.listview;

import java.math.BigInteger;
import java.security.SecureRandom;
import java.util.ArrayList;
import java.util.List;

import android.app.ListActivity;
import android.os.Bundle;

public class MainActivity extends ListActivity {

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    List<String> list = createValues();
    MyArrayAdapter adapter = new MyArrayAdapter(this, list);
    setListAdapter(adapter);
  }

  private static List<String> createValues() {
    SecureRandom random = new SecureRandom();
    List<String> list = new ArrayList<String>();
    for (int i = 0; i < 1000; i++) {
      String string = new BigInteger(130, random).toString(32);
      list.add(string);
    }
    return list;
  }

} 

3-3. Déboguez votre application

Exécutez votre application. La liste n'est pas affichée. Déboguez la méthode super() appelée dans l'adaptateur de votre liste pour en trouver la raison.

4. Liens et littérature

5. Remerciements Developpez

Vous pouvez retrouver l'article original ici : Debugging Android applications. Nous remercions Lars Vogel qui nous a aimablement autorisés à traduire et héberger ses articles.

Nos remerciements à ClaudeLELOUP pour sa relecture orthographique.

N'hésitez pas à commenter cet article ! Commentez Donner une note à l'article (5)

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

  

Licence Creative Commons
Le contenu de cet article est rédigé par Lars Vogel et est mis à disposition selon les termes de la Licence Creative Commons Attribution 3.0 non transposé.
Les logos Developpez.com, en-tête, pied de page, css, et look & feel de l'article sont Copyright © 2013 Developpez.com.