Eine Aktivität stellt einen einzelnen Bildschirm mit einer Benutzeroberfläche wie Fenster oder Frame des Java.Android Tätigkeit ist die Unterklasse von ContextThemeWrapper Klasse.
Wenn Sie mit C, C ++ oder Java-Programmiersprache dann gearbeitet haben, müssen Sie gesehen haben, dass Ihr Programm startet von main () Funktion.Sehr ähnliche Weise initiiert Android-System mit seinem Programm in einerAktivität, beginnend mit einem Anruf auf onCreate () Callback-Methode.Es ist eine Folge von Rückrufmethoden, die beginnen eine Aktivität und eine Folge von Rückrufmethoden, die unten eine Aktivität zu reißen, wie in der folgenden Aktivität Lebenszyklus Abbildung dargestellt: (Bild mit freundlicher Genehmigung: android.com)
Der Activity-Klasse definiert die folgenden Rückrufe dh Veranstaltungen. Sie brauchen nicht, um alle Rückrufe Methoden implementieren. Allerdings ist es wichtig, dass Sie verstehen, jeden einzelnen und umzusetzen diejenigen, die sicherstellen, dass Ihre App verhält sich die Art und Weise Benutzer erwartet.
Ruf zurück | Bezeichnung |
---|---|
onCreate () | Dies ist der erste Rückruf und rief, wenn die Aktivität erstellt wird. |
onStart () | Dieser Rückruf aufgerufen wird, wenn die Aktivität für den Benutzer sichtbar wird. |
onResume () | Wird aufgerufen, wenn der Benutzer beginnt, die Interaktion mit der Anwendung. |
onPause () | Der angehaltene Tätigkeit erhält keine Benutzereingaben und kann keinen Code ausführen und aufgerufen, wenn das aktuelle Aktivität wird angehalten und der bisherigen Tätigkeit wieder aufgenommen wird. |
OnStop () | Dieser Rückruf aufgerufen wird, wenn die Aktivität nicht mehr sichtbar ist. |
onDestroy () | Dieser Rückruf aufgerufen wird, bevor die Aktivität wird durch das System zerstört wird. |
onRestart () | Dieser Callback wird aufgerufen, wenn die Aktivität startet, nachdem stoppen. |
Beispiel
Dieses Beispiel führt Sie durch einfache Schritte zu ergreifen, um Android-Anwendung Aktivität Lebenszyklus zeigen. Befolgen Sie die folgenden Schritte aus, um die Android-Anwendung wir erstellt ändern Hallo Welt Beispiel Kapitel:
Schritt | Bezeichnung |
---|---|
1 | Sie werden eclipse IDE verwenden, um ein Android-Anwendung so zu erstellen, und nennen Sie Helloworld im Rahmen eines Paketscom.example.helloworld wie in dem erläutert Hallo Welt Beispiel Kapitel. |
2 | Ändern Haupttätigkeit Datei MainActivity.java wie unten erläutert.Halten Rest der Dateien unverändert. |
3 | Führen Sie die Anwendung auf Android-Emulator zu starten, und überprüfen Sie das Ergebnis der Änderungen in der Anwendung durchgeführt. |
Im Folgenden ist der Gehalt des modifizierten Haupttätigkeit Datei src / com.example.helloworld / MainActivity.java. Diese Datei enthält jede der grundlegenden Lebenszyklusmethoden. Die Log.d () Methode wurde verwendet, um Log-Meldungen zu erzeugen:
package com.example.helloworld; import android.os.Bundle; import android.app.Activity; import android.util.Log; public class MainActivity extends Activity { String msg = "Android : "; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Log.d(msg, "The onCreate() event"); } /** Called when the activity is about to become visible. */ @Override protected void onStart() { super.onStart(); Log.d(msg, "The onStart() event"); } /** Called when the activity has become visible. */ @Override protected void onResume() { super.onResume(); Log.d(msg, "The onResume() event"); } /** Called when another activity is taking focus. */ @Override protected void onPause() { super.onPause(); Log.d(msg, "The onPause() event"); } /** Called when the activity is no longer visible. */ @Override protected void onStop() { super.onStop(); Log.d(msg, "The onStop() event"); } /** Called just before the activity is destroyed. */ @Override public void onDestroy() { super.onDestroy(); Log.d(msg, "The onDestroy() event"); } }
Eine Tätigkeit der Klasse lädt alle die UI-Komponente mit Hilfe der XML-Datei inres / layout Ordner des Projekts. Folgende Erklärung Lasten UI-Komponenten von res-Datei / layout / activity_main.xml:
setContentView(R.layout.activity_main);
Eine Anwendung kann eine oder mehrere Aktivitäten ohne Einschränkungen haben. Jede Aktivität, die Sie für Ihre Anwendung definieren müssen in Ihrem deklariert werden AndroidManifest.xml Datei und die Haupttätigkeit für Ihre Anwendung muss im Manifest mit einem <Vorsatz-Filter>, dass die Klage und LAUNCHER Kategorie fallen wie folgt erklärt werden:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.helloworld" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="22" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" android:label="@string/title_activity_main" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> </application> </manifest>
Wenn entweder der Hauptsache oder LAUNCHER Kategorie sind nicht für einen Ihrer Aktivitäten deklariert, dann wird Ihre App-Symbol wird nicht in der Startseite Liste der Anwendungen angezeigt.
Lassen Sie uns versuchen, unsere modifizierten laufen Hallo Welt! Anwendung, die wir gerade geändert. Ich nehme an, Sie geschaffen hatte AVD dabei Umgebungskonfiguration. Um die App aus Eclipse heraus ausführen, öffnen Sie einen der Aktivität Dateien Ihres Projekts und klicken Sie auf Ausführen-Symbol in der Symbolleiste. Eclipse installiert die App auf Ihrem AVD und startet es und wenn alles in Ordnung ist mit der Einrichtung und Anwendung, wird es Emulator-Fenster angezeigt und Sie sollten folgende Log-Meldungen in sehen LogCat Fenster in Eclipse-IDE:
07-19 15:00:43.405: D/Android :(866): The onCreate() event 07-19 15:00:43.405: D/Android :(866): The onStart() event 07-19 15:00:43.415: D/Android :(866): The onResume() event
Wir wollen versuchen, Red Schaltfläche klicken auf dem Android-Emulator und wird es folgende Ereignisse Nachrichten erzeugen LogCat Fenster in Eclipse-IDE:
07-19 15:01:10.995: D/Android :(866): The onPause() event 07-19 15:01:12.705: D/Android :(866): The onStop() event
Lassen Sie uns versuchen Sie es erneut, um Menü-Taste klicken Sie auf dem Android-Emulator und wird es folgende Ereignisse Nachrichten erzeugen LogCatFenster in Eclipse-IDE:
07-19 15:01:13.995: D/Android :(866): The onStart() event 07-19 15:01:14.705: D/Android :(866): The onResume() event
Als nächstes wollen wir uns noch einmal versuchen, klicken Sie auf Zurück-Taste auf dem Android-Emulator und wird es folgende Ereignisse Nachrichten erzeugen LogCat Fenster in Eclipse IDE und dies schließt den Activity-Lebenszyklus für eine Applikation für Android.
07-19 15:33:15.687: D/Android :(992): The onPause() event 07-19 15:33:15.525: D/Android :(992): The onStop() event 07-19 15:33:15.525: D/Android :(992): The onDestroy() event
0 التعليقات:
Kommentar veröffentlichen