चूंकि एंड्रॉइड डेवलपर्स उपयोग करने की सलाह देते हैंHttpURLConnection
वर्ग , इसलिए मैं सोच रहा था कि कोई भी मुझे एक अच्छा उदाहरण प्रदान कर सकता है कि कैसे एक बिटमैप "फ़ाइल" (वास्तव में एक इन-मेमोरी स्ट्रीम) को पोस्ट करने के लिए एक अपाचे एचटीटीपी सर्वर के माध्यम से। मुझे कुकीज़ या प्रमाणीकरण या कुछ भी जटिल नहीं है, लेकिन मैं सिर्फ एक विश्वसनीय और तर्क कार्यान्वयन करना चाहता हूं। सभी उदाहरण जो मैंने अपने आस-पास देखे हैं, वे अधिक "जैसे चलो यह कोशिश करते हैं और शायद यह काम करता है"।
अभी, मेरे पास यह कोड है:
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 को केवल एक AlertDialog
(अमान्य URL के मामले में?) प्रदर्शित करना चाहिए ।
अब, मान लें कि मैं एक बिटमैप उत्पन्न करता हूं: Bitmap image = this.getBitmap()
अंदर से प्राप्त नियंत्रण के अंदर View
और मैं इसे POST के माध्यम से भेजना चाहता हूं। ऐसी चीज हासिल करने के लिए उचित प्रक्रिया क्या होगी? मुझे किन वर्गों का उपयोग करने की आवश्यकता है? क्या मैं इस उदाहरणHttpPost
में उपयोग कर सकता हूं ? यदि हां, तो मैं अपने बिटमैप के लिए निर्माण कैसे करूंगा ? मुझे लगता है कि डिवाइस पर किसी फ़ाइल में बिटमैप को संग्रहीत करने के लिए इसे बगावत करना आवश्यक होगा।InputStreamEntity
मुझे यह भी उल्लेख करना चाहिए कि मुझे वास्तव में मूल बिटमैप के हर अनछुए पिक्सेल को सर्वर पर भेजने की आवश्यकता है, इसलिए मैं इसे जेपीईजी में परिवर्तित नहीं कर सकता।