Karena pengembang Android merekomendasikan untuk menggunakan HttpURLConnection
kelas ini, saya bertanya-tanya apakah ada yang bisa memberi saya contoh yang baik tentang cara mengirim "file" bitmap (sebenarnya aliran dalam memori) melalui POST ke server HTTP Apache. Saya tidak tertarik dengan cookie atau otentikasi atau sesuatu yang rumit, tetapi saya hanya ingin memiliki implementasi yang andal dan logis. Semua contoh yang saya lihat di sekitar sini lebih terlihat seperti "mari kita coba ini dan mungkin berhasil".
Sekarang, saya memiliki kode ini:
URL url;
HttpURLConnection urlConnection = null;
try {
url = new URL("http://example.com/server.cgi");
urlConnection = (HttpURLConnection) url.openConnection();
} catch (Exception e) {
this.showDialog(getApplicationContext(), e.getMessage());
}
finally {
if (urlConnection != null)
{
urlConnection.disconnect();
}
}
di mana showDialog seharusnya hanya menampilkan AlertDialog
(jika ada URL yang tidak valid?).
Sekarang, katakanlah saya menghasilkan bitmap seperti ini: Bitmap image = this.getBitmap()
di dalam kontrol yang diturunkan dari View
dan saya ingin mengirimkannya melalui POST. Apa prosedur yang tepat untuk mencapai hal seperti itu? Kelas apa yang perlu saya gunakan? Bisakah saya menggunakan HttpPost
seperti dalam contoh ini ? Jika demikian, bagaimana saya membuat InputStreamEntity
untuk bitmap saya? Saya akan merasa menjijikkan jika diminta untuk menyimpan bitmap terlebih dahulu dalam sebuah file di perangkat.
Saya juga harus menyebutkan bahwa saya benar-benar perlu mengirim setiap piksel yang tidak diubah dari bitmap asli ke server, jadi saya tidak dapat mengubahnya menjadi JPEG.