Ich benutze NanoHTTPD als Webserver in meiner Android App.
Ich übergebe zwei Dateinamen vom Client-Browser an den NanoHTTPD-Server, und ich hoffe, die beiden Dateien gleichzeitig herunterzuladen, aber der folgende Code lädt nur die Datei1, und die Datei2 wird nicht heruntergeladen.
Wie kann ich zwei oder mehrere Dateien gleichzeitig herunterladen?
%Vor% Unter NanoHTTPD Konstruktor erstellt eine asynchrone Aufgabe, wenn Sie im Konstruktor von MyWebServer super(..)
aufrufen.
Die Antwort muss also so lauten, dass pro Operation ein downloadFile()
vorhanden ist. Das heißt, Sie sollten new MyWebServer()
aufrufen, um jede Download-Aufgabe zu starten.
BEARBEITEN:
Wenn Sie zwei Instanzen der MyWebServer-Klasse verwenden, können Sie Clientanforderungen für jeden von zwei Parametern abhören. (Ich habe das nicht versucht, aber es muss funktionieren und ich empfehle Ihnen, mehrere Anfragen auf der Clientseite und eine Webserverinstanz auf der Serverseite zu senden).
%Vor%In MainActivity.java
%Vor% Wenn in Java eine Funktion mehrere Werte zurückgeben soll, müssen Sie diese Werte in ein Objekt einbetten, das Sie zurückgeben.
Sie müssen also eine Klasse definieren (zum Beispiel: ReturnDownlowds
), die zwei Objekte haben könnte:
// füge weitere Felder, Konstruktoren und Accessoren hinzu
}
Und in Ihrer Response-Server-Methode müssen Sie ein Beispiel dieser Klasse wie folgt aufrufen:
%Vor%Ich hoffe, das wäre eine kleine Hilfe.