Am Abend, ich teste gerade einige JSON-Code für mein Android-Projekt, und ich frage mich, ob mehrere offene httpurlconnections, die alle ausgeführt werden, sicher ist?Java mehrere HttpURLConnections über Iteration?
Die API, für die ich Daten anfordere, hat einen einfachen Endpunkt, der auch ein json-Element für die nächste Datenseite enthält. dh. ... api/songs/ist die erste Seite; Innerhalb dieser ersten Seite gibt es ein Element für eine URL-Zeichenfolge zu einer anderen Seite von Daten: .../api/songs /? page = 2 und so weiter, bis es ein Null-Element ist.
Angenommen, ich habe diese try-catch-finally-Funktion, die eine Verbindung herstellt, Fehler abfängt und sie am Ende schließt. Innerhalb des try-Blocks erinnere ich mich an die gleiche Funktion, solange es ein nächstes Element im geparsten json gibt; Jeder Aufruf öffnet eine neue URLConnection, die für eine einzelne Anforderung pro Verbindung ausgelegt ist, wenn ich mich nicht irre.
Wenn ich den Punkt erreiche, an dem das nächste Objektelement null ist, würde ich etwa 14 HttpURLConnections öffnen und schließen, sobald es zum ursprünglichen Aufruf zurückkehrt. Ist das sicher? Es scheint zu funktionieren, da ich bereits Code ohne Absturz geschrieben habe.
try {
//Open HTTLURLConnection with given uri argument
//read and store the results within a StringBuffer
//if StringBuffer(when parsed to a json element) has a next element,
//call this try block again
catch(IO/JSON exceptions...) {}
finally{
//close URIConnection if not null
}
dass über pseudo code sollte kein Problem sein, glaube ich.
Es gibt kein Problem mit dem Öffnen mehrerer URLConnections. Gehen Sie nicht davon aus, dass sie in Ordnung sind. –
Wenn Sie es richtig codiert haben, sollte alles funktionieren, es gibt kein Problem mit mehreren URLConnections, nur sicherstellen, dass Sie sie in jedem Fall richtig schließen, denn sonst könnte es zu Speicher-/Ressourcenlecks kommen. –