Gerade jetzt, wenn mein Projekt am Ende einen Web-Service hat. Ich bin es gewohnt, mein Projekt mit dieser Struktur / Muster zu erstellen.
Projekt
Der Code, den ich in meinen JAVA-Dateien geschrieben habe, ist
IPostResponse.java
%Vor%HttpGetThread.java
%Vor% Gleicher Weg in HttpPost
und HttpMultipartPost
Klassen durch Erweitern von Thread
und mit einem Konstruktor und einer run Methode.
Dann,
Ich implementiere die Schnittstelle zu einer Aktivität und erweitere diese Hauptaktivität auf alle anderen Aktivitäten und erhalte Antwort und mache Aufruf, indem ich ein Objekt von Http-Klassen mit Parametern erzeuge und obj.start();
Ich glaube immer noch, dass mir viele Dinge fehlen oder diese Struktur sehr schlecht ist.
Ich muss wissen, dass für eine Android-Anwendung, Web-Service zu implementieren, Aufrufe in fast allen Aktivitäten und Code-Wiederverwendbarkeit welches Muster / Struktur soll ich folgen ?
Ich habe gerade gesehen, wie Facebook einen Web-Service-Anruf macht, zum Beispiel um sich anzumelden / abzumelden, es hat Login- und Logout-Listener.
Gibt es einen Blog / Artikel / Antworten, der für das gleiche gut dokumentiert ist? Kann jeder Benutzer seine ausgezeichnete Erfahrung und Lösung für dasselbe mitteilen?
Ich interessiere mich mehr für " Wie sollte meine Klasse und Schnittstelle aussehen, welche Art von Methoden sollte sie haben? "
1. und für die meisten Vorschläge ist, warum Sie schmerzloses Threading nicht verwenden AsyncTask
Jetzt zweite Sache erstellen Sie einen wiederverwendbaren Code wie unten, Sie können so viele wie Methoden mit Request-Parameter erstellen.
%Vor%Ich weiß, dass dies eine alte Frage ist, aber dennoch möchte ich sie beantworten, um zu erzählen, was ich an meinen eigenen Projekten gemacht habe, und ich werde Vorschläge von der Community zu meinem Ansatz lieben.
HttpClient
Wenn Sie sich HttpClient ansehen (als Entity, um die Anfrage an Endpunkte zu stellen), dreht sich alles um Anfrage und Antwort. Think auf diese Weise.Das Verhalten des HTTP-Protokolls für "Senden von Anfrage" erfordert die Methode, Header (optional), Körper (optional). In ähnlicher Weise erhalten wir als Antwort auf die Anfrage die Antwort mit dem Statuscode, den Kopfzeilen und dem Hauptteil. So können Sie Ihren HttpClient einfach als:
haben %Vor% Auf diese Weise müssen Sie keine Klasse für die separate Anfrage erstellen. Stattdessen verwenden wir einfach HtttpClient
. Sie müssen die API in einem anderen Thread (nicht im Haupt-Thread von Android) aufrufen.
API-Struktur
Nehmen wir an, Sie haben eine Ressource namens Benutzer, und Sie benötigen CRUD in Ihrer App. Sie können die Schnittstelle UserRepository und die Implementierung UserRepositoryImpl
erstellen %Vor%Bitte beachten Sie, dass Sie die Benutzeroberfläche auf dem UI-Thread von Android aktualisieren sollten [die obige Implementierung macht sich darüber keine Gedanken]
Tags und Links java android design-patterns