Hallo Khabrovites!
Wenn Sie Netzwerkanwendungen für die Android-Plattform entwickeln, verstehen Sie, dass die eine und die andere Anwendung einander ähnlich sind. Mit diesem Gedanken initialisiert die Mehrheit der Entwickler einen anderen Gedanken: "Warum verwende ich keine vorgefertigten Lösungen, weil meine Aufgabe offensichtlich nicht neu ist?" Ab diesem Moment beginnt die Suche nach geeigneten Bibliotheken, um das aktuelle Problem zu lösen. Nach einiger Zeit - Gewinn. Alles schien gut zu sein, denn die Bibliothek wurde gefunden und es blieb nur eine Implementierung der Lösung für das aktuelle Problem zu schreiben. Und hier beginnen die Probleme. Sie sind mit der Flusskontrolle verbunden, und tatsächlich war Java nie für seine Kompaktheit bekannt. Die gesamte "Magie" sollte direkt vom Entwickler implementiert werden. Manchmal finde ich darin nur positive Aspekte, weil sich die Logik jedes Projekts radikal voneinander unterscheidet. Sie müssen ständig von Stream zu Stream wechseln, was nicht sehr praktisch und, wie bereits beschrieben, umständlich ist. Die Lösung für dieses Problem wurde früher implementiert, aber nicht so kompakt, wie wir es gerne hätten. Eine Bibliothek für die Arbeit mit HTTP
hilft -
GridmiAPI . Dies ist die kompakteste Lösung, mit der Sie wiederum mit Daten in Echtzeit arbeiten können.
Arbeitsprozess
Alle Bibliotheksarbeiten beginnen mit ihrer Initialisierung. Die Initialisierung ist einmal erforderlich. Die Initialisierung bezieht sich auf die folgende Konstruktion:
GridmiAPI.init("https://habr.com/API/", 8000, JSONObject.class);
- Endpunktadresse für die Anforderungsverarbeitung
- Zeitlimit für Serverantwort
- Die Klasse, in die die Serverantwort umgewandelt werden soll
Das ist alles! Die Bibliothek ist voll einsatzbereit.
Erste Serveranfrage
Um die erste Anfrage an den Server abzuschließen, müssen Sie nur ein paar Codezeilen und die Daten schreiben, die wir von uns benötigen. Glaubst du nicht? Siehe:
GridmiAPI.onRequest(this, new GridmiAPI.Request("profile/get"), new GridmiAPI.Handler.OUT() { @Override protected void onSuccess(GridmiAPI.Response response) { Log.d("TagGridmiAPI", "result = " + ((JSONObject) response.getData()).toString()); } @Override protected void onFailed(Exception exception) { Log.d("TagGridmiAPI", "exception = " + exception.getMessage()); } }).start();
Glückwunsch! Dies ist deine "Hallo Welt!" mit dieser Bibliothek. Schauen wir uns zwei umgeschriebene Methoden der GridmiAPI.Handler.OUT-Klasse an. Zunächst sollte geschrieben werden, dass diese beiden Methoden im Hauptthread aufgerufen werden. Daher ist es nach Abschluss der Anforderung nicht sinnvoll, auf die Aktivität zum Starten des Hauptthreads zuzugreifen. Nehmen Sie zum Beispiel JSON und ändern Sie den Text der Textansicht. Alles ist einfach.
Datei an Server senden
Sehr oft müssen Sie Dateien an den Server senden. Wieder Kopfschmerzen? Auf keinen Fall. Die GridmiAPI-Bibliothek macht das Senden einer Datei sehr einfach und ohne Kopfschmerzen. Etwas mehr Linien als im obigen Beispiel, aber immer noch kompakt. So senden Sie eine Datei:
@Override protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { super.onActivityResult(requestCode, resultCode, data); if (data == null || data.getData() == null) return; try {
Fazit
Wir haben die beliebtesten Aufgaben untersucht. Weitere
Informationen finden Sie auf der Seite dieser Bibliothek auf GitHub -
GridmiAPI . Es ist bequem, mit dieser Bibliothek zu arbeiten. Schätzen Sie sich. Vielen Dank für Ihr Interesse an diesem Artikel!
Referenzen
GridmiAPI-BibliothekDokumentation / ReadMe.md