Dieser Artikel ist der 22. Tagesartikel von "Inobeko Sommerferien Adventskalender 2020", der von Fujitsu Systems Web Technology Co., Ltd. geplant wurde. (Versprechen) Der Inhalt dieses Artikels ist meine eigene Meinung und repräsentiert nicht die Organisation, zu der ich gehöre.
Ich habe die Quelle geschrieben, um ein Bild auszuwählen und es in Andoroid Studio auf dem Bildschirm anzuzeigen. In diesem Artikel werden daher die Quelle, die Prozedur usw. vorgestellt.
Beurteilen Sie anhand des vorherigen Artikels (Lebensmittelfotos mithilfe der Google Cloud Vision-API beurteilen) ausgewählte Fotos mit der API Ich entschied mich für eine App und als ersten Schritt schrieb ich einen Artikel über die Auswahl von Bildern aus der Galerie.
In Bezug auf Folgendes, den Artikel am 16. Tag dieses Adventskalenders "Ich habe eine Android-Anwendung" Hello World "erstellt und versucht, damit frei zu spielen ) ”, Also beziehen Sie sich bitte darauf. Ich werde es hier weglassen.
・ Installation von Android Studio ・ Erstellen Sie ein neues Projekt -Erstelle und starte einen Emulator
Wahrscheinlich ist es standardmäßig in Englisch, also werde ich es ins Japanische übersetzen. Zeigen Sie den Bildschirm [Einstellungen] auf dem Emulator an und wählen Sie [System] - [Sprachen & Eingabe] - [Sprachen]. Ich denke, dass nur Englisch angezeigt wird. Wenn Sie also Japanisch unter [Spracheinstellungen] auswählen, wird Japanisch unter Englisch angezeigt, sodass Sie die Reihenfolge durch Ziehen ändern können, um die japanische Lokalisierung abzuschließen.
Ermöglicht die Anzeige des Bildes auf dem Emulator zur Bildauswahl.
Es gibt zwei Methoden
Drücken Sie die Taste, um die Galerie zu öffnen und das ausgewählte Bild auf dem Bildschirm anzuzeigen.
Intent intent = new Intent(Intent.ACTION_PICK, Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent, 1);
Absicht (Art der Aktion, Ziel-App)
startActivityForResult (Absicht, Anforderungscode)
Sie können die Aktivität in einer anderen App mit der Intent-Klasse starten.
Dieses Mal öffne ich die Galerie (Bilderliste) und erhalte das ausgewählte Bild.
Weitere Informationen zu Absichten finden Sie unter Allgemeine Absichten (https://developer.android.com/guide/components/intents-common?hl=ja).
Der im Argument angegebene Inhalt hat folgende Bedeutung. -Intent.ACTION_PICK: Aktion, die das ausgewählte Element aus den Daten zurückgibt -Media.EXTERNAL_CONTENT_URI: URI, von dem Bilddaten abgerufen werden können
Der im Parameter startActivityForResult angegebene Anforderungscode dient zum Bestimmen der Übergangsquelle. Hier wird 1 durch harte Codierung angegeben, aber ich denke, dass es besser ist, es mit Konstanten zu verwalten.
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1 && resultCode == RESULT_OK && null != data) {
ImageView imgView = findViewById(R.id.imageView);
BufferedInputStream inputStream = null;
try {
inputStream = new BufferedInputStream
(getContentResolver().openInputStream(data.getData()));
imgView.setImageBitmap(BitmapFactory.decodeStream(inputStream));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
Die Methode "onActivityResult" empfängt das Ausführungsergebnis von "startActivityForResult" in der vorherigen Stufe. Setzt das ausgewählte Ergebnis auf die Bildansicht des Bildschirms.
Als Argument requestCode wird auch der in der Methode "startActivityForResult" angegebene Anforderungscode zurückgegeben. Wie im vorherigen Abschnitt erwähnt, kann die Übergangsquelle bestimmt werden, sodass Sie wie folgt schreiben können.
public void button1_onClick(View view) {
Intent intent = new Intent(Intent.ACTION_PICK, Media.INTERNAL_CONTENT_URI);
startActivityForResult(intent, 1);
}
public void button2_onClick(View view) {
Intent intent = new Intent(Intent.ACTION_PICK, Media.INTERNAL_CONTENT_URI);
startActivityForResult(intent, 2);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1) {
//Verarbeitung für button1
} else if (requestCode == 2) {
//Verarbeitung für button2
}
}
Wenn die obigen Quellen auf dem Emulator ausgeführt wurden, wurde der ursprüngliche Zweck "Auswählen eines Bildes und Anzeigen auf dem Bildschirm" erreicht.
① Drücken Sie die Taste ② ③ Wählen Sie ein Bild aus ④ Zeigen Sie das ausgewählte Bild an
Ich habe Andoroid Studio zum ersten Mal verwendet, aber ich hatte keine großen Probleme, da die Quelle der Formularanwendung ähnlich war.
Beim nächsten Mal möchte ich versuchen, die Cloud Vision-API über die Andoroid-App aufzurufen.
Recommended Posts