ich eine Frage habe, Bild Zeigen auf Android ~Bilddateien auf Android zu zeigen, würde ich, ob diese Art und Weise wissen, wie
Ich versuche werden die konvertierten Dateien zu senden in einem einzigen Inputstream ByteArray auf Android
mein Plan ist
- Dateien konvertieren einen Separator byte [] (On Server)
- hinzufügen für jede Datei konvertiert. und steckte sie in den einzigen response.Outstream (On Server)
- Holen Sie sich das Input (auf Android)
- Separator verwenden, erhalten eine jede byteArray von Input und wandeln sie in Bitmap-Datei
BitmapFactory.decodeByteArray()
verwenden und nicht gespeichert sie (auf android)
Sever:
OutputStream outputstream = response.getOutputStream();
imageDownload_fewfiles aa = new imageDownload_fewfiles();
DataOutputStream outputstream2 = new DataOutputStream(outputstream);
outputstream2.writeBytes("[email protected]###[email protected]###");
outputstream2.write(aa.image_files());
outputstream2.writeBytes("[email protected]###[email protected]###");
android:
InputStream inputStream = http.getInputStream();
DataInputStream dataInputStream = new DataInputStream(http.getInputStream());
Ist das möglich? wenn möglich, wie bekomme ich jedes byteArray von inputStream ??
Bitte geben Sie mir einige Ratschläge .. Ich will nicht einen dritten Teil
Machen Sie einfach eine Schleife lesen Chunks von diesem Eingangsstrom. Fügen Sie die Chuncks zu einem Byte-Array hinzu oder speichern Sie sie direkt in der Datei. Überprüfen Sie vor dem Hinzufügen, ob das Trennzeichen empfangen wurde (Sie erhalten möglicherweise nur einige wenige Bytes des Separators). – greenapps
Es wäre ein viel einfacheres Protokoll, wenn Sie zuerst die Größe in Bytes des Bytearrays senden. Anstelle eines Trennzeichens. Wenn der Empfänger die Größe des Byte-Arrays zuerst erhält, ist es viel einfacher, genau so viele Bytes in einer Schleife zu lesen, wie angezeigt. – greenapps
WARUM möchten Sie Bitmaps aus den empfangenen Daten machen? Sie werden viel Speicher kosten. Was wirst du mit ihnen machen? – greenapps