Android geliştiricileri sınıfı kullanmayı önerdiğindenHttpURLConnection
, bir bit eşlem "dosyasının" (aslında bellek içi akış) POST yoluyla bir Apache HTTP sunucusuna nasıl gönderileceğine dair bana iyi bir örnek verebilir mi diye merak ediyordum. Tanımlama bilgileri veya kimlik doğrulama veya karmaşık herhangi bir şeyle ilgilenmiyorum, ancak yalnızca güvenilir ve mantıklı bir uygulamaya sahip olmak istiyorum. Burada gördüğüm tüm örnekler daha çok "hadi şunu deneyelim ve belki işe yarıyor" gibi görünüyor.
Şu anda bu koda sahibim:
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();
}
}
showDialog yalnızca bir AlertDialog
(geçersiz bir URL olması durumunda?) göstermelidir.
Şimdi şöyle bir bitmap oluşturduğumu varsayalım: Bitmap image = this.getBitmap()
türetilmiş bir kontrolün içinde View
ve POST ile göndermek istiyorum. Böyle bir şeyi başarmak için doğru prosedür nedir? Hangi sınıfları kullanmam gerekiyor? Bu örnektekiHttpPost
gibi kullanabilir miyim ? Öyleyse, bitmap'im için nasıl oluştururum ? İlk önce bit eşlemi cihazdaki bir dosyada saklamanın gerekli olmasını iğrenç bulabilirim.InputStreamEntity
Orijinal bitmap'in değiştirilmemiş her pikselini sunucuya gerçekten göndermem gerektiğini, bu yüzden onu JPEG'e dönüştüremem gerektiğini de belirtmeliyim.