[JAVA] Android-Entwicklung ~ Bildschirmübergang (Absicht) ~

Einführung

Hallo. Ich bin Wataku, ein serverseitiger Programmierer, der an einer bestimmten Schule Programmieren studiert. : entspannt: Lassen Sie uns auch dieses Mal Android entwickeln. Das Thema ist diesmal * "Intent" *.

Zielperson

Zwei Arten von Absichten

Nun wollen wir sehen, wie man damit umgeht.

Explizite Absicht

Führen Sie die folgenden Schritte aus, um einen Bildschirmübergang mit expliziter Absicht durchzuführen. ** 1) Registrieren Sie die Aktivität in AndroidManifest.xml **

<?xml version="1.0" encoding="utf-8"?>
<manifest ...... >

    <application ........ >
        <activity>

~ Hauptaktivität ~

        </activity>

        <!--hinzufügen-->
        <activity android:name="Paketname + Klassenname">

    </application>

</manifest>

*Wenn sich die Aktivitätsklasse direkt unter dem Stammpaket befindet, "."Klassenname" ist OK!

** Es ist praktisch, wenn Sie das obige Verfahren unter "Datei> Neu> Aktivität> Leere Aktivität" erstellen. * *

** 2) Startbildschirm ** ○ So starten Sie einen anderen Bildschirm vom aktuellen Bildschirm aus. (1) Absichtliche Objekterzeugung.

~~~~~~~~ = new Intent(Kontext,Aktivität gestartet)

② Führen Sie die Methode ** startActivity () ** mit ① als Argument aus.

** 3) Datenübergabe ** ○ Verwenden Sie ** putExtra ("Name", Wert) **, um Daten an die Startaktivität zu übergeben.

** 4) Daten empfangen ** ○ Die Methode zum Empfangen von Daten in der Startaktivität lautet wie folgt. ① Objekt abrufen

Intent intent = getIntent();

② Bundle-Objekt abrufen

Bundle extra = intent.getExtra();

③ Abrufen von Daten mithilfe der Methode zum Abrufen des Datentyps von Bundle ForResult ○ Bei der Verarbeitung mit der ursprünglichen Aktivität nach Beendigung der Startaktivität ** 1) Die folgende Methode zum Starten der Aktivität **

startActivityForResult(Absichtsobjekt,Anfrage Code)

** 2) Die folgende Methode unmittelbar vor Beendigung () der Startaktivität **

setResult(Ergebniscode,Absichtsobjekt)

** Ergebniscode *

** 3) Führen Sie 1) und 2) aus und führen Sie die folgende Methode in der ursprünglichen Aktivität aus. ** ** **

onActivityResult()

3 Argumente

--int requestCode: 1) Ganzzahliger Wert, der durch das zweite Argument angegeben wird

Beispielcode

ForResultSampleActivity.java(Quelle starten)


Intent intent = new Intent(ForResultSampleActivity.this,RatingEvaluateActivity.class);
inten1.putExtra("name", name);
startActivityForResult(intent, RATING_EVALUATE);

RatingEvaluateActivity.java(Startziel)


Intent intent = getIntent();
String name = intent.getStringExtra("name");

Implizite Absicht

Das Verfahren zum Starten anderer Apps mit impliziter Absicht ist wie folgt. ** 1) Erstellen Sie ein URI-Objekt. ** ** **

Uri uri = Uri.porse(URI-Zeichenfolge(Siehe unten));

** 2) Erstellen Sie ein Intent-Objekt. ** ** **

Intent intent = new Intent(Eine Konstante, die eine Aktion darstellt.(Siehe unten), uri);

** 3) Starten Sie die Aktivität. ** ** **

startActivity(intent) ;

URI Der URI der Android OS-Standardanwendung lautet wie folgt.

・ Browser → http: // ....., https: // ..... ・ Karte → Geo: Breite, Länge geo: o, o? g = Suchzeichenfolge

(Hinweis) Japanische Suchbegriffe sind Codieren Sie mit URLEncoder.encode ([Schlüsselwort], [Codierungsformat (URF-8 usw.)]).

・ Telefon → Tel: Telefonnummer

Aktion

Verwenden Sie konstante Felder der Intent-Klasse.

--ACTION_VIEW → Bildschirmanzeige --ACTION_CALL → Tätigen Sie einen Anruf basierend auf den Daten. --ACTION_DIAL → Zeigen Sie den Bildschirm an, um einen Anruf zu tätigen --ACTION_SEND → Mail / SMS senden

Beispielcode

① Übergang zur Kartenanwendung

try {
     TextView etKeyword = findViewById(R.id.etKeyword);
     String keyword = etKeyword.getText().toString();
     keyword = URLEncoder.encode(keyword, "utf-8");
     Uri uri = Uri.parse("geo:0,0?q=" + keyword);
     Intent intent = new Intent(Intent.ACTION_VIEW, uri);
     startActivity(intent);
} catch(UnsupportedEncodingException ex) {
     Log.e("MapSearchActivity", "Fehler bei der Keyword-Konvertierung", ex);
}

② Übergang zum Browser

String url = "http:://www.~~~.~~";
Uri uri = Uri.parse(url);

Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);

das ist alles. Wenn Sie Vorschläge wie etwas falsches haben, kontaktieren Sie uns bitte. Vielen Dank für das Lesen bis zum Ende.

Recommended Posts

Android-Entwicklung ~ Bildschirmübergang (Absicht) ~
Bildschirmübergang mit Intent in Kotlin
Bildschirmübergangsmethode
Bildschirmübergangsmemorandum
Android-Entwicklung app_preparation
JavaFX8-Bildschirmübergang
[Android Studio] Bildschirmübergang über die Schaltfläche [Java]
Zusammenfassung des Android-Entwicklungslinks
Vorbereitung der Android-App-Entwicklung 7/15
Android-Entwicklungsreferenzseite
[Android / Java] Bildschirmübergang und Rückgabeverarbeitung in Fragmenten
Der iOS-Ingenieur startet die Android-Entwicklung
Startschuss für die persönliche Entwicklung der Android-App
Einführung in die Android App-Entwicklung
ROS App Entwicklung auf Android
[Android] Beenden Sie die Aktivität der Übergangsquelle zum Zeitpunkt des Bildschirmübergangs
Bildschirmübergang Memorandum zur Informationsübertragung
Animationseinstellungen zum Zeitpunkt des Bildschirmübergangs
Bildschirmübergang mit Swing, Java
Über die Grundlagen der Android-Entwicklung
[Schienen] So verhindern Sie den Bildschirmübergang
Erste Android-Entwicklung für vielbeschäftigte Menschen
Bildschirmübergang nach Post-Methode [Java]
Eine Sammlung von Bibliotheken, die für die Android-Entwicklung nützlich sind
[Java Swing] Bildschirmübergang durch CardLayout
Hinweise für Anfänger in der Android-Anwendungsentwicklung
Eine Reihe von Problemen in der Android Studio-Entwicklung
[Android] Empfangen Sie die Absicht mit Broadcast Reciever
Android App: Lassen Sie uns den Mechanismus des Bildschirmübergangs mit einfachem Code erklären
[Entwicklung von Android-Anwendungen] Anzeigen im Vollbildmodus (Benachrichtigungsleiste ausgeblendet)