Sobald du etwas kompliziertere Programme schreibst, kann es geschehen, dass du die tatsächlichen Abläufe nicht mehr mühelos nachvollziehen kannst. In dieser Situation ist es hilfreich, an passenden Stellen im Programm Ausgabeanweisungen einzufügen, die eine Nachricht in eine Ausgabedatei schreiben. Dieses Verfahren nennt man Ablaufprotokollierung oder Tracing; das Ablaufprotokoll wird auch Trace genannt.
Für die Untersuchung deiner Programme mit dem Entwicklungssystem steht die Klasse Log zur Verfügung, die Methoden bereitstellt, mit denen du Nachrichten ins Protokoll des Entwicklungssystems schreiben kannst. Um die Klasse zu verwenden, musst du sie zunächst importieren:
import android.util.Log;
Ein Datensatz des Ablaufprotokolls enthält stets zwei Elemente: Ein Etikett (engl.: tag) und den eigentlichen Nachrichtentext. Als Etikett wird üblicherweise nur ein Wort verwendet; meist der Name einer Klasse oder einer Aktivität. Das Entwicklungssystem Eclipse ADT zeigt das Etikett in der Ansicht LogCat in der Spalte Tag an. Der Nachrichtentext wird in der Spalte Text angezeigt. Abhängig vom Nachrichtentyp werden für die Anzeige der Nachricht verschiedene Farben verwendet:
schwarz
Nachrichtentyp verbose
Aufrufe:
Log.v(<tag>, <Nachrichtentext>); Log.v(<tag>, <aufgefangene Ausnahme>);
blau
Nachrichtentyp debug
Aufrufe:
Log.d(<tag>, <Nachrichtentext>); Log.d(<tag>, <aufgefangene Ausnahme>);
grün
Nachrichtentyp info
Aufrufe:
Log.i(<tag>, <Nachrichtentext>); Log.i(<tag>, <aufgefangene Ausnahme>);
gelb
Nachrichtentyp warning
Aufrufe:
Log.w(<tag>, <Nachrichtentext>); Log.w(<tag>, <aufgefangene Ausnahme>); Log.w(<tag>, <Nachrichtentext>, <aufgefangene Ausnahme>);
rot
Nachrichtentyp error. Zu diesem Nachrichtentyp zählen
auch Nachrichten, die mit der Methode wtf (what a terrible failure)
geschrieben werden.
Aufrufe:
Log.e(<tag>, <Nachrichtentext>); Log.e(<tag>, <Nachrichtentext>, <aufgefangene Ausnahme>); Log.wtf(<tag>, <Nachrichtentext>); Log.wtf(<tag>, <aufgefangene Ausnahme>); Log.wtf(<tag>, <Nachrichtentext>, <aufgefangene Ausnahme>);
Die statischen Methoden der Klasse unterscheiden fünf verschiedene Nachrichtentypen, die im Ablaufprotokoll unterschiedlich angezeigt werden:
debug, error, info, verbose, warn, wtf (what a terrible failure)
Wie du von einer Aktivität in eine andere Aktivität wechselst
Wie du in eine Aktivität zurückkehrst, aus der du gewechselt hast
Wie du den Datenaustausch zwischen Aktivitäten realisierst
Wie du eine Anwendung sicherst und wiederherstellst, die mehrere Aktivitäten verwendet