एंड्रॉइड में HTTP पोस्ट अनुरोध कैसे निष्पादित करें

Http पोस्ट एक बहिष्कृत HTTP वर्गों का हिस्सा है जैसे कि संगठन.अमरीका की एक मूल जनजाति.एंड्रॉइड 5 के रूप में http और androidhttpclient.1. अपने कोड को httpurlconnection कक्षाओं में माइग्रेट करें जिसमें पोस्टिंग कार्यक्षमता शामिल है.Http पोस्ट का उपयोग जावा में अनुरोध करने के लिए किया जाता है कि एक विशिष्ट वेब सर्वर एक अनुरोध फॉर्म के भीतर सबमिट डेटा प्राप्त और स्टोर डेटा प्राप्त करता है. डेटा नाम-मूल्य जोड़े में जमा और संग्रहीत किया जाता है. जोड़े के उदाहरणों में शामिल हैं: ईमेल- आपका ईमेल पता- उपयोगकर्ता नाम- आपका उपयोगकर्ता नाम- और पासवर्ड- आपका पासवर्ड.

कदम

2 का भाग 1:
एक कोशिश ब्लॉक और httpurlconnection वस्तु का निर्माण
1. एंड्रॉइड मैनिफेस्ट में इंटरनेट अनुमतियां जोड़ें. एंड्रॉइड मेनिफेस्ट एक एक्सएमएल फ़ाइल है जो एंड्रॉइड सिस्टम को महत्वपूर्ण जानकारी प्रदान करती है जो डिवाइस संगतता और सुविधाओं तक पहुंच निर्धारित करती है. "AndroidManifest में.XML "फ़ाइल, इंटरनेट का उपयोग प्रदान करने के लिए निम्न पंक्ति दर्ज करें.
 एंड्रॉइड: नाम ="एंड्रॉयड.अनुमति.इंटरनेट" />
  • 2. एक कोशिश ब्लॉक बनाएँ. जावा में, एक आज़म कथन एक अपवाद हैंडलर है जो प्रोग्राम को क्रैश होने से रोक देगा यदि यह एक क्रिया करने में सक्षम नहीं है. क्योंकि इसे किसी नेटवर्क स्थान से कनेक्शन की आवश्यकता होगी, एक आज़मांस कथन एक अपवाद को पकड़ लेगा अगर यह कनेक्शन स्थापित करने में सक्षम नहीं है. आप इसे एक नई जावा विधि में जोड़ सकते हैं.
    कोशिश करें {// विवरण दर्ज करें जो अपवादों का कारण बन सकते हैं}
  • 3. HttpurllConnection और URL ऑब्जेक्ट्स बनाएं. जावा एक वस्तु उन्मुख भाषा है. एक वस्तु में राज्यों और व्यवहारों का समावेश होता है जो एक वर्ग का एक उदाहरण है. HttpurlConnection ऑब्जेक्ट इंटरनेट पर डेटा भेजता है और प्राप्त करता है. आपके कोड में, एक यूआरएल ऑब्जेक्ट बनाकर अपनी नई विधि शुरू करें और इसे प्राप्त करने के लिए httpurllonnection ऑब्जेक्ट के लिए इसे एक यूआरएल असाइन करें.
    URL URL = नया URL ("http: // efationurl.com / ") - httpurlconnection क्लाइंट = (httpurllconnection) यूआरएल.OpenConnection ()-
  • सर्वोत्तम अभ्यास के लिए, अपवादों को पकड़ने में आसान बनाने के लिए प्रयास ब्लॉक के बाहर यूआरएल और httpurlconnection ऑब्जेक्ट्स स्थापित करें.
  • URL URL = नया URL ("http: // efationurl.com / ") - httpurlconnection क्लाइंट = null-try {क्लाइंट = (httpurlconnection) URL.OpenConnection () -}
    2 का भाग 2:
    आउटपुट अनुरोध पोस्ट करना और अपवादों को संभालना
    1. पोस्ट करने के लिए अनुरोध विधि सेट करें. सर्वर को जानकारी भेजने के लिए, आपको httpurllconnection ऑब्जेक्ट के प्रकार को पोस्ट करने के लिए सेट करना होगा और सेटडोउटपुट () का उपयोग करके आउटपुट को सही सेट करना होगा. एक सामान्य अनुरोध संपत्ति सेट करने के लिए setrequestproperty () फ़ंक्शन का उपयोग करें जिसके लिए दो तत्वों की आवश्यकता होती है, सर्वर से ज्ञात अनुरोध के साथ एक कुंजी और एक मान संबंधित कुंजी के भीतर निहित है.
    • SetrequestProperty () फ़ंक्शन का उपयोग स्वीकृति-एन्कोडिंग अनुरोध शीर्षलेख के रूप में स्वचालित डिकंप्रेशन को अक्षम करने के लिए किया जाता है.
    ग्राहक.setrequestmethod ("पोस्ट") - ग्राहक.setrequestproperty ("कुंजी", "मान") - ग्राहक.setdooutput (सत्य)-
  • 2. सर्वर को स्ट्रीम आउटपुट करें. आउटपुट स्ट्रीम, या पोस्ट पर लिखने में सक्षम होने के लिए आपको सर्वर से आउटपुट स्ट्रीम का अनुरोध करना होगा, फिर समाप्त होने पर स्ट्रीम को फ्लश और बंद करें.
    आउटपुटस्ट्रीम आउटपुटपोस्ट = नया bufferedoutputstream (ग्राहक).GetOutputstream ()) - Writestream (आउटपुटपोस्ट) -outputpost.फ्लश () - आउटपुटपोस्ट.बंद करे()-
  • प्रदर्शन कारणों से, सर्वर को यह बताने के लिए एक अच्छा विचार है कि सामग्री में बाइट्स में कितना बड़ा होगा. सबसे अच्छी विधि setfixedlengthstreamingmode (int) होती है जब शरीर की लंबाई ज्ञात होती है, जबकि setchunkedstreamingmode (int) का उपयोग किया जाता है यदि इसकी लंबाई ज्ञात नहीं होती है. पिछले विधियों में से किसी एक का उपयोग न करने से httpurlconnection ऑब्जेक्ट को प्रसारित होने से पहले पूर्ण शरीर को स्मृति में बफर करने का कारण बनता है.
  • ग्राहक.setfixedlengthstreamingmode (आउटपुटपोस्ट.Getbytes ().लंबाई).setchunkedstreamingmode (0)-
  • 3. किसी भी अपवाद को पकड़ें. आज़म कथन के बाद, IoException के साथ इनपुट और आउटपुट के लिए अपवाद की जांच करने के लिए कैच ब्लॉक का उपयोग करें, malformedUrl अपवाद के साथ एक यूआरएल त्रुटि पकड़ें और जांचें कि क्या यूआरएल सॉकेटमाइट अपवाद के साथ समय में प्रतिक्रिया प्रदान नहीं करता है.
    कैच (malformedurelesception त्रुटि) {// गलत तरीके से दर्ज यूआरएल को संभालता है} कैच (सॉकेटटाइमऑट अपवाद त्रुटि) {// हैंडल यूआरएल एक्सेस टाइमआउट.} पकड़ (ioException त्रुटि) {// हैंडल इनपुट और आउटपुट त्रुटियां}
  • 4. URL से डिस्कनेक्ट करें. आपके यूआरएल कनेक्शन के साथ समाप्त होने के बाद, आपको यूआरएल से डिस्कनेक्ट करने की आवश्यकता होगी. यह जांचना सुनिश्चित करें कि डिस्कनेक्ट करने का प्रयास करने से पहले आप एक यूआरएल से जुड़े हुए हैं.
    अंत में {यदि (ग्राहक) != null) // सुनिश्चित करें कि कनेक्शन शून्य नहीं है.ग्राहक.डिस्कनेक्ट () -}
  • टिप्स

    चीजें आप की आवश्यकता होगी

    • जावा विचार
    • एंड्रॉइड विकास उपकरण (एसडीके, एमुलेटर, आदि.)
    • एंड्रॉइड डेवलपर का फोन या अन्य एंड्रॉइड संचालित डिवाइस (परीक्षण के लिए वैकल्पिक)
    • इंटरनेट कनेक्शन (परीक्षण के लिए)
    सामाजिक नेटवर्क पर साझा करें:
    समान