android activity - Ändern Sie die Startaktivität der Anwendung




lifecycle example (8)

Befolgen Sie die folgenden Anweisungen:

1) Öffnen Sie Ihre AndroidManifest.xml Datei.

2) Gehen Sie zu dem Aktivitätscode, den Sie wie unten beschrieben ausführen möchten.

So wie ich SplashScreen als Hauptaktivität machen möchte

<activity
    android:name=".SplashScreen"
    android:screenOrientation="sensorPortrait"
    android:label="City Retails">
</activity>

3 :) Kopieren Sie nun den folgenden Code zwischen Aktivitäts-Tags wie:

<activity
    android:name=".SplashScreen"
    android:screenOrientation="sensorPortrait"
    android:label="City Retails">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

Überprüfen Sie außerdem, ob neu hinzugefügte Zeilen nicht mit anderen Aktivitäts-Tags verknüpft sind.

Ich habe das Fleisch und den Mut meiner Anwendung erstellt, aber ich möchte eine andere Aktivität hinzufügen, die der Ausgangspunkt sein wird (eine Art Login-Bildschirm).

Paar Fragen:

  • 1 Ich habe einen recht guten Umgang damit, wie ich zwischen Aktivitäten wechseln kann (basierend auf diesem Artikel: http://www.linux-mag.com/id/7498 ), aber ich bin mir nicht sicher, wie ich einen neuen erstellen soll ( mit Sonnenfinsternis) .

  • 2 Wenn ich eine neue Aktivität erstellt habe, wie kann ich sie als Standardaktivität meiner Anwendung festlegen? Ich nehme an, ich könnte nur den Namen der Klassen ändern ... aber gibt es eine elegantere Art, damit AndroidManifest.xml (vielleicht in der AndroidManifest.xml )?


Ja, Sie verwenden die Datei AndroidManifest.xml . Sie können sogar mehr als eine Startaktivität in Ihrem Anwendungsmanifest angeben. Um eine Aktivität im Startprogramm anzuzeigen, fügen Sie diese Attribute zu Ihrer Aktivität im Manifest hinzu:

<intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

Wenn Sie Android Studio verwenden und möglicherweise zuvor eine andere Aktivität zum Starten ausgewählt haben.

Klicken Sie auf Run > Edit configuration und vergewissern Sie sich, dass Standardaktivität starten ausgewählt ist.


Gehen Sie einfach zu Ihrer AndroidManifest.xml-Datei und fügen Sie sie wie folgt hinzu

<intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

Dann speichern und starten Sie Ihr Android-Projekt.


Wechseln Sie zu AndroidManifest.xml im Stammordner Ihres Projekts und ändern Sie den Namen der Aktivität, die Sie zuerst ausführen möchten.

Beispiel:

<activity android:name=".put your started activity name here"
          android:label="@string/app_name">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

Dies ist einfach zu beheben.

  • Änderungen an der Launcher-Aktivität werden ebenfalls in der Debug-Konfiguration gespeichert.
  • Gehe zu Run > Debug Configurations und bearbeite die Einstellung.
  • Es gibt auch eine ähnliche Einstellung in Intellij unter Run > Edit Configurations wählen Sie Standardaktivität ausführen und die Einstellung wird nicht mehr auf diese Weise gespeichert .

Es ist einfach. Tun Sie dies in Ihrer Manifest Datei.

<activity
    android:name="Your app name"
    android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.HOME" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
</activity>

Hinzufügen von LiveData (Android-Architekturkomponenten) zu Ihrem Projekt

Fügen Sie die folgende Abhängigkeit hinzu

implementation "android.arch.lifecycle:extensions:1.1.0"

LiveData nimmt einen Beobachter auf und benachrichtigt ihn nur dann, wenn sich die Daten im Status STARTED oder RESUMED befinden. Der Vorteil von LiveData besteht darin, dass die Aktivität onChanged für den Beobachter nicht aufgerufen wird, wenn Ihre Aktivität in einen anderen Status als STARTED oder RESUMED wechselt .

private TextView mTextView;
private MutableLiveData<String> mMutableLiveData;

@Override
protected void onCreate(Bundle savedInstanceState) {
    mTextView = (TextView) findViewById(R.id.textView);
    mMutableLiveData = new MutableLiveData<>();
    mMutableLiveData.observe(this, new Observer<String>() {
        @Override
        public void onChanged(@Nullable String s) {
            mTextView.setText(s);
        }
    });

}




android android-activity