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.
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