Android-Laden Sie Bilddateien in den Azure Blob-Speicher in Java hoch

Vorstellen

Ich bin Fumiya Kume, eine Studentin im zweiten Jahr an der Daido University. Ich spiele mit Xamarin.

Was ist Azure Blob-Speicher?

Azure Blob Storage bietet Kapazität pro Führungskraft und extrem hohe Skalierbarkeit, sodass es einfach und kostengünstig ist, Hunderte bis Milliarden von Objekten in der Hot- oder Cool-Ebene zu platzieren, je nachdem, wie oft Sie auf die Daten zugreifen müssen. Kann aufbewahrt werden. Sie können alle Arten von unstrukturierten Daten speichern, einschließlich Bilder, Videos, Audio und Dokumente.

Zitiert aus https://azure.microsoft.com/ja-jp/services/storage/blobs/

Es ist genau, aber schwer zu lesen, deshalb werde ich es ein wenig aufschlüsseln. Einfach ausgedrückt ist es ein Speicher, in dem jede Datei gespeichert werden kann, egal ob es sich um Bilder, Text oder Videos handelt.

Wenn Sie damit die von Benutzern auf SNS usw. veröffentlichten Daten speichern, ist es einfacher zu verstehen, wenn Sie sich das vorstellen können.

Die Kosten für das Speichern von Dateien und das Übertragen aus der Cloud betragen

Es ist wie es ist. Ich finde es billig.

Referenz: Azure-Speicherpreis

Was ist diesmal zu tun?

Laden Sie Bilder von Android in den Azure Blob-Speicher hoch.

Vorbereitung

Was ich getan habe

1. Erstellen Sie ein Android-Projekt

Ich denke, es ist in Ordnung, wenn Sie die Vorlage "Leere Aktivität" auswählen.

studio64_2017-03-31_23-08-29[1].png

2. Platzieren Sie eine Taste

// Da es sich um einen grundlegenden Teil handelt, wird der Code weggelassen

Die ID sollte ** button ** sein.

3. Bereiten Sie sich auf der Azure-Seite vor

Greifen Sie auf das Azure-Portal zu

chrome_2017-03-31_23-11-25[1].png

Blob-Speicher erstellen

Klicken Sie oben rechts auf die Schaltfläche ** + ** und geben Sie ** Blob ** in das Suchfeld ein, das Azure Blob Storage vorschlägt. Klicken Sie darauf.

chrome_2017-03-31_23-12-23[1].png

Fahren Sie mit dem Einrichten des Azure Blob-Speichers fort

Geben Sie allen Benutzern in Azure einen eindeutigen Namen. Geben Sie der Ressourcengruppe für jeden einzelnen Benutzer einen eindeutigen Namen. Abonnements können nicht mit den von Imagine bereitgestellten Abonnements erstellt werden. Sie können daher auch an von MSP gesponserten Veranstaltungen usw. teilnehmen. ** Azure Pass ** Bitte benutzen Sie etc.

Klicken Sie abschließend auf ** An Dashboard anheften ** und dann auf Fertig stellen, um die Einstellung abzuschließen.

chrome_2017-03-31_23-16-07[1].png

Azure Blob-Speicher erstellt

Ich denke, der folgende Bildschirm wird geöffnet.

chrome_2017-03-31_23-21-54[1].png

Öffnen wir den ** Blob ** -Teil der Servicekategorie

chrome_2017-03-31_23-35-49[1].png

chrome_2017-04-01_00-05-23[1].png

Möglicherweise haben Sie eine Nachricht erhalten, dass der Container noch nicht erstellt wurde.

Container ... wie ist es?

Schauen wir uns nun an, wie Azure Blob Storage funktioniert.

blob1[1].png

Zitiert aus Verwenden von Azure Blob-Speicher mit .NET

Es mag auf den ersten Blick schwer zu verstehen sein, aber warum nicht durch die gewohnte Computerterminologie ersetzen?

Konto = USB-Speicher Container = Ordner im USB-Speicher BLOB = Bildersammlung und Videosammlung im Ordner

Ich habe das Gefühl, du verstehst, oder?

Erstellen Sie einen Container für Azure Blob

Erstellen Sie einen Container über die Schaltfläche oben links.

chrome_2017-04-01_00-38-25[1].png

Beachten Sie beim Benennen von Azure Blob-Speichercontainern, dass alle Kleinbuchstaben angegeben werden müssen

Außerdem sollte der Zugriffstyp Blob sein

Azure ist jetzt bereit.

4. Erstellen einer Logik für die Verbindung mit Azure Blob Storage auf der Android-Seite

Öffnen Sie ** MainActivity.java ** auf Android. Geben Sie dann den folgenden Code ein


//Import weggelassen

public class MainActivity extends AppCompatActivity {

    public Button Button;

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

        Button = (Button) findViewById(R.id.button);
        Button2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //Wenn Sie eine umfangreiche Verarbeitung über das Netzwerk im UI-Thread ausführen, führt dies zu Problemen. Führen Sie sie daher in einem anderen Thread aus
                AsyncTask<Void, Void, Void> task = new AsyncTask<Void, Void, Void>() {
                    @Override
                    protected Void doInBackground(Void... params) {
                        //Zeichenfolge für die Verbindung mit Azure Blob Storage, Cho wichtig. Es ist genauso wichtig wie das Passwort des Root-Kontos.
                        String storageConnectionString = "Connection String";
                        //Holen Sie sich den Pfad zu DCIM
                        File dir = new File(Environment.getExternalStorageDirectory() + "/" + Environment.DIRECTORY_DCIM);
                        //Legen Sie den Pfad zur Bilddatei in DCIM fest
                        File file = new File(dir.getAbsolutePath() + "/image.jpeg ");
                        //Protokollausgabe, um zu überprüfen, ob der Pfad zum richtigen Bild verwendet wird
                        Log.d("Derjenige, der das Bild anzeigt", file.getPath());
                        try {
                            //Stellen Sie eine Verbindung zum Azure-Speicherkonto her
                            CloudStorageAccount storageAccount = CloudStorageAccount.parse(storageConnectionString);

                            //Lassen Sie einen Client eine Verbindung zu Blob im Azure-Speicherkonto herstellen
                            CloudBlobClient blobClient = storageAccount.createCloudBlobClient();

                            //Holen Sie sich den Container von Blob, geben Sie den Container mit einer Zeichenfolge an
                            CloudBlobContainer container = blobClient.getContainerReference("mspjp");

                            //Die im Argument von getBlockBlobReference übergebene Zeichenfolge wird zum in Blob gespeicherten Dateinamen.
                            //Wenn bereits eine gleichnamige Datei vorhanden ist, wird diese überschrieben.
                            CloudBlockBlob blob = container.getBlockBlobReference("myimage.jpg ");
                            //Beenden Sie die Funktion, wenn die Datei nicht vorhanden ist
                            if (!file.exists()) return null;
                            //In Azure Blob-Speicher hochladen
                            blob.upload(new java.io.FileInputStream(file), filelength());
                        } catch (Exception e) {
                            //Spuckt Stapelspuren zur Analyse, wenn ein Fehler auftritt
                            e.printStackTrace();
                        }
                        return null;
                    }
                };

                try {
                    //In einem separaten Thread ausführen
                    task.execute();
                } catch (Exception e) {
                    Handler handler = new Handler();
                    handler.post(new Runnable() {
                        //Ich möchte eine Fehlermeldung auf dem Toast anzeigen, wenn ein Fehler auftritt.
                        //Wenn es sich nicht um einen UI-Thread handelt, kann der Toast nicht angezeigt werden, sodass er im UI-Thread ausgeführt wird
                        @Override
                        public void run() {
                            Toast.makeText(MainActivity.this, "Faild: Upload blob storage", Toast.LENGTH_LONG).show();
                        }
                    });
                }
            }
        });

    }
}

5. Platzierung von Bildern zum Hochladen

Verbinden Sie Android mit Ihrem PC, öffnen Sie den externen Speicher von Android und legen Sie die Bilddatei ** image.jpeg ** im Ordner ** DCIM ** ab.

6. Einstellen von storageConnectionString

Der storageConnectionString ist für jeden Benutzer unterschiedlich (Speicherkonto). Lassen Sie uns ihn jetzt herunterladen.

Öffnen Sie zunächst den zuvor erstellten Azure Blob-Speicherbildschirm.

Klicken Sie auf den Teil mit der Bezeichnung Zugriffsschlüssel

chrome_2017-04-01_01-03-35[1].png

Schreiben Sie den Code neu, um die Verbindungszeichenfolge für ** key1 ** zu kopieren, und weisen Sie sie ** storageConnectionString ** zu

chrome_2017-04-01_01-04-31[1].png

Lauf

Versuchen Sie nach Abschluss der Codierung, sie auszuführen.

Öffnen Sie nach dem Ausführen den Azure Blob-Speichercontainer, und die hochgeladenen Bilder werden angezeigt.

chrome_2017-04-01_01-08-23[1].png

Impressionen

Referenzmaterial

Recommended Posts

Android-Laden Sie Bilddateien in den Azure Blob-Speicher in Java hoch
Bearbeiten des Azure Blob-Speichers in Java (SAS-Token, Dateimanipulation)
Java-How zum Vergleichen von Bilddateien in Binärform
Konvertieren Sie SVG-Dateien in Java in PNG-Dateien
Laden Sie Notizen in Java in den Azure-Speicher hoch und laden Sie sie herunter
Azure funktioniert in Java
Wie kann ich IBM Mainframe-Dateien in Java eingeben / ausgeben?
Lesen Sie Binärdateien in Java 1
Erstellen Sie Azure-Funktionen in Java
Lesen Sie Binärdateien in Java 2
Hängen Sie mit Azure BlobStorage SDK Java V8 Text an BlobItem an
Einfaches Lesen von Textdateien in Java (Java 11 & Java 7)
Multithreaded passend zur [Java] Vorlage
So zerlegen Sie eine Java-Klassendatei
Führen Sie Java-Anwendungen in Azure Batch aus
Wie man JAVA in 7 Tagen lernt
Protokollausgabe in Datei in Java
So dekompilieren Sie eine Java-Klassendatei
Wie verwende ich Klassen in Java?
So benennen Sie Variablen in Java
Versuchen Sie, Yuma in Java zu implementieren
So verketten Sie Zeichenfolgen mit Java
So implementieren Sie den Kalman-Filter mit Java
Versuchen Sie, Project Euler in Java zu lösen
Einfach, Slack Bot mit Java zu machen
Java-Referenz zum Verständnis in der Abbildung
Versuchen Sie, n-ary Addition in Java zu implementieren
* Android * Speichern / Laden von Dateien in den internen Speicher
[Java] Wie man Dateien ausgibt und schreibt!
Ändern Sie die Liste <Optional <T >> in Java in Optional <Liste <T >>
So erzwingen Sie Codierungskonventionen in Java
Einbetten von Janus Graph in Java
Spielen Sie RAW-, WAV- und MP3-Dateien in Java ab
Hinzufügen eines Dokuments zum Azure Search Service (Java)
So erhalten Sie das Datum mit Java
Fügen Sie Word-Dokumenten in Java Fußnoten hinzu
Erstellen von Java-Webanwendungen für Azure-Webanwendungen
[Java Bronze] 5 Probleme zu beachten
Beispiel zum Entpacken einer gz-Datei in Java
Von Java nach C und von C nach Java in Android Studio
Lesen und Schreiben von GZIP-Dateien in Java
Schritte zum Registrieren einer Java-Datei auf GitHub
Fügen Sie dem Cookie in Java das SameSite-Attribut hinzu
Versuchen Sie, mit Scala mithilfe der Standardbibliothek von Java Text zu einem Bild hinzuzufügen
Upsert von Java SDK zu Azure Cosmos DB
Zwei Möglichkeiten, einen Thread in Java + @ zu starten
[Rails] Verschiedene Möglichkeiten zum Schreiben in Seed-Dateien
Ich möchte eine E-Mail in Java senden.
Stellen Sie Java-Webanwendungen mit maven in Azure bereit
CORBA scheint in Java SE 11 entfernt zu sein. .. ..
Code zum Escapezeichen von JSON-Zeichenfolgen in Java
Versuchen Sie, ein Bulletin Board in Java zu erstellen
So erhalten Sie eine Klasse von Element in Java
Ich wollte (a == 1 && a == 2 && a == 3) in Java wahr machen
So aktualisieren Sie eine vorgefertigte Datei in einem Docker-Container
So verbergen Sie Nullfelder als Antwort in Java
Bibliothek "OSHI" zum Erfassen von Systeminformationen mit Java
Ich habe versucht, neunundneunzig in Java auszugeben