[JAVA] Android App: Lassen Sie uns den Mechanismus des Bildschirmübergangs mit einfachem Code erklären

Letztes Mal Android-App: Versuchen Sie, Ereignisse und Listener zusammenzufassen

Fortsetzung. .. ..

Einführung

Es ist drei Monate her, seit ich in die Firma eingetreten bin. Ich studiere Android-Anwendungsentwicklung. Ich werde es nach dem Studium zusammenfassen.

Ich kaue auf meinem eigenen Einführungswissen. Bitte beachten Sie, dass viele Teile defekt sind.

Bereich, um diese Zeit zusammenzufassen

Dieses Mal werde ich den Bildschirmübergang mit einem einfachen Code zusammenfassen. ・ Ich möchte die Grundlagen von Bildschirmübergängen kennen. ・ Ich möchte die Absicht einfach verstehen. Für diejenigen, die sagen.

Wenn Sie Text eingeben und die Senden-Taste drücken, wird eine Anwendung erstellt, die den eingegebenen Text nach dem Bildschirmübergang anzeigt.

Worte, die diesmal herauskommen

--Absicht

Einfach ausgedrückt ist es wie ein Container, um Informationen von einer Aktivität zur nächsten zu transportieren. Wenn Sie die Zeichenfolge in die Aktivität von Bildschirm 1 in einem Feld namens "Intent" wie dieses Mal einfügen, können Sie die Zeichenfolge auf Bildschirm 2 verwenden, indem Sie das Feld auf Bildschirm 2 aufrufen.

Worte vor dem letzten Mal

--Veranstaltung

Der Moment der Bedienung des Benutzerbildschirms, z. B. Drücken einer Taste

--Hörer

Behalten Sie das Ereignis im Auge, damit es jederzeit eintreten kann.

--Aktivität

Der App-Bildschirm selbst.

Beispiel & Kommentar

Umgebung

androidstudio 3.6.2 openjdk version "11.0.6"

Bildschirm zum Erstellen

Dies ist der Bildschirm, der dieses Mal erstellt werden soll. シンプル画面遷移.jpg

Ich werde schreiben, damit die eingegebenen Zeichen am Übergangsziel angezeigt werden können, wenn die Taste gedrückt wird. Erstellen Sie zwei erforderliche Java-Klassen und zwei Layoutdateien.

MainActivity.java


public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //Stellen Sie die Senden-Schaltfläche als Listener ein
        Button btClick = findViewById(R.id.btOutput);
        Listener listener = new Listener();
        btClick.setOnClickListener(listener);
    }


    //Erstellen Sie eine Listener-Klasse
    private class Listener implements View.OnClickListener{
        @Override
        public void onClick(View v) {
            EditText input = findViewById(R.id.sendEditText);
            String inputStr = input.getText().toString();

            //Erstellen Sie ein Absichtsobjekt
            Intent intent = new  Intent(MainActivity.this,OutputActivity.class);
            //Speichern Sie die Daten, die an den Bildschirm gesendet werden sollen ②
            intent.putExtra("inputText",inputStr);
            //Startbildschirm
            startActivity(intent);
        }
    }
}

OutputActivity.java



public class OutputActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.sub_activity);

        //Holen Sie sich das auf dem Bildschirm erstellte Absichtsobjekt ①
        Intent intent = getIntent();
        //Holen Sie sich Charakterinformationen und geben Sie sie auf dem Bildschirm aus
        TextView output = findViewById(R.id.outputText);
        String outputText = intent.getStringExtra("inputText");
        output.setText(outputText);
    }
}

activity_main.xml


<LinearLayout ~~ Ausgelassen ~~>
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/title"/>
    <EditText
        android:id="@+id/sendEditText"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>
    <Button
        android:id="@+id/btOutput"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Zum nächsten Bildschirm"/>
</LinearLayout>

sub_activity.xml


<LinearLayout ~~ Ausgelassen ~~>

    <TextView
        android:id="@+id/outputText"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textSize="40dp"/>

</LinearLayout>

Über den Mechanismus und die Absicht

App-Start: MainActivity-Verarbeitung (der erste Bildschirm wird von dieser Verarbeitung angezeigt) ↓ Schaltfläche "Senden" Ereignisereignis: OutputActivity-Verarbeitung (zweiter Bildschirm wird angezeigt)

Mit anderen Worten, wenn dieses Ereignis der Schaltfläche "Senden" auftritt, werden die vom Benutzer eingegebenen Zeichenfolgendaten mit einer Absicht von MainActivity an OutputActivity gesendet. Die Absicht wird vorbereitet, wenn das Ereignis eintritt. Schreiben Sie sie daher in die Listener-Klasse.

Der Teil, der Daten in eine Box namens Intent legt

MainActivity.java



//Erstellen Sie ein Absichtsobjekt
Intent intent = new  Intent(MainActivity.this,OutputActivity.class);
//Speichern Sie die Daten, die an den Bildschirm gesendet werden sollen ②
intent.putExtra("inputText",inputStr);
//Startbildschirm
startActivity(intent);

Erstellen Sie ein Absichtsobjekt ↓ Speichern Sie die in der Absicht gespeicherten Daten mit putExtra ↓ Starten Sie den nächsten Bildschirm

Beschreiben Sie beim Erstellen eines Absichtsobjekts die Aktivitätsklasse des ursprünglichen Bildschirms im ersten Argument und die Aktivitätsklasse des Bildschirms, den Sie im zweiten Argument senden möchten.

SubActivity.java



//Holen Sie sich das auf dem Bildschirm erstellte Absichtsobjekt ①
Intent intent = getIntent();
//Holen Sie sich Charakterinformationen und geben Sie sie auf dem Bildschirm aus
TextView output = findViewById(R.id.outputText);
String outputText = intent.getStringExtra("inputText");
output.setText(outputText);

Der aufrufende Teil auf dem zweiten Bildschirm. Sie können das auf dem Startbildschirm erstellte Absichtsobjekt mit getIntent aufrufen. Jetzt müssen Sie nur noch den Prozess schreiben, um die Zeichenfolge anzuzeigen.

Hinweis

Im Projektordner befindet sich eine Datei namens AndroidManifest, die die Informationen enthält, die zum Konfigurieren von Android erforderlich sind. Wenn zwei oder mehr Bildschirme vorhanden sind, funktioniert die App nur, wenn Sie hier den Aktivitätsnamen hinzufügen. Fügen Sie hier " </ activity>" hinzu, wie unten gezeigt.


<Anwendung ~~ weggelassen ~~>
        <activity android:name=".MainActivity">
~~ weggelassen ~~
        </activity>

        <activity android:name=".OutputActivity"></activity>
</application>

Am Ende

Ich habe in ungefähr einem Monat zwei Einführungsbücher fertiggestellt. Obwohl sich mein Verständnis allmählich weiterentwickelt, bin ich immer noch ein Amateur.

Nächstes Mal werde ich den Lebenszyklus zusammenfassen

Recommended Posts

Android App: Lassen Sie uns den Mechanismus des Bildschirmübergangs mit einfachem Code erklären
[Android] Beenden Sie die Aktivität der Übergangsquelle zum Zeitpunkt des Bildschirmübergangs
[Android Studio] [Für Anfänger] Lassen Sie uns den Bildschirm und das Verzeichnis grob erklären
Die Geschichte der Optimierung der Android-App mit libGDX
[Android 9.0 Pie Java] Chat-Listenbildschirm im LINE-Stil → Übergangsanimation für den persönlichen Chat-Bildschirm implementiert (mit Beispiel-App)
Lassen Sie uns den Ablauf der Erteilung des Autorisierungscodes mit Spring Security OAuth-Part 1: Review of OAuth 2.0 erleben
Implementieren Sie iOS14 UICollectionView mit dem minimal erforderlichen Code.
Etwa der Ablauf der Entwicklung von Webanwendungen mit Rails.
Ich werde den Unterschied zwischen der Entwicklung von Android-Anwendungen und der Entwicklung von iOS-Anwendungen aus der Sicht von iOS-Ingenieuren erläutern
Überprüfen Sie die Funktion von zwei Rollen mit einer Chat-Anwendung
Werfen wir einen Blick auf den Bildschirm von Quant Analyzer!
Geben Sie beim Erstellen mit Maven den Zeichencode der Quelle an
Erläutern Sie die Vorzüge des staatlichen Musters anhand des Bewertungsurteils des Films
Schreiben Sie die Zuweisungen der Universität C mit Node.js neu
Android-Entwicklung ~ Bildschirmübergang (Absicht) ~
Bildschirmübergang mit Swing, Java
Ein Memo, das die einfache Chat-Anwendung von Node.js + socket.io enthält
Lassen Sie uns eine TODO-App in Java 5 erstellen. Schalten Sie die Anzeige von TODO um
[Android] Dynamisch die Höhe von ListView mit Kopie einstellen (für Anfänger)
[Anfänger] Versuchen Sie, die REST-API für die Todo-App mit Spring Boot zu schreiben