IhsAdke.com

Android पर HTTP पोस्ट अनुरोध को कार्यान्वित कैसे करें

इंटरनेट का उपयोग करने वाले किसी भी एंड्रॉइड एप्लिकेशन के लिए HTTP पोस्ट अनुरोध आवश्यक हैं। आपको बस इतना करना है कि कार्यक्षमता को लागू करना है

चरणों

NameValuePair का उपयोग करना

चित्र शीर्षक एंड्रॉइड में HTTP पोस्ट अनुरोध निष्पादित करें चरण 1
1
AndroidManifest को निम्न पंक्ति जोड़कर मैनिफ़ेस्ट पर इंटरनेट अनुमतियां घोषित करें।एक्सएमएल। यह आपके आवेदन को किसी भी इंटरनेट कनेक्शन का उपयोग करने की अनुमति देगा।

  • चित्र शीर्षक एंड्रॉइड में HTTP पोस्ट अनुरोध निष्पादित करें चरण 2
    2



    पोस्ट अनुरोध को निष्पादित करने के लिए अपने एचटीटीपी क्लाइंट और एचटीटीपी पोस्ट ऑब्जेक्ट बनाएं। पता ऑब्जेक्ट POST गंतव्य का प्रतिनिधित्व करने वाला स्ट्रिंग है, जैसे कि PHP पेज

    एचटीटीपी क्लाइंट क्लाइंट = नया DefaultHttpClient () -
    एचटीटीपी पोस्ट पोस्ट = नया एचटीटीपी पोस्ट (पता) -
  • एंड्रॉइड के चरण 3 में HTTP पोस्ट अनुरोध निष्पादित शीर्षक वाला चित्र
    3
    पोस्ट डेटा को कॉन्फ़िगर करें यह आपके एचटीटीपीपोस्ट की इकाई के रूप में NameValuePairs की एक सूची बना और कॉन्फ़िगर करके किया जाता है। HttpPost.setEntity () द्वारा फेंक दिया असमर्थित एन्कोडिंग अपवाद को जोड़ना सुनिश्चित करें

    सूची जोड़े = नया ArrayList() -
    pairs.add (नया BasicNameValuePair ("key1", "value1"))
    pairs.add (नया BasicNameValuePair ("key2", "value2")) -
    post.setEntity (नई UrlEncodedFormEntity (जोड़े)) -
  • 4
    पोस्ट अनुरोध निष्पादित करें यह एक एचटीटीपीआरपीएसपॉइस ऑब्जेक्ट देता है जिसकी तारीख निकाली जा सकती है और पार्स किया जा सकता है। फेंक दिया क्लाइंट प्रोटोकॉल एक्स्प्लेशन और आईओएक्सप्शन अपवाद की पकड़ को लागू करना सुनिश्चित करें।

    एचटीपीआरस्पॉन्स प्रतिक्रिया = client.execute (पोस्ट) -

  • विधि 2: एक जेसन ऑब्जेक्ट का उपयोग करना कदम: NameValuePair का उपयोग करने के बजाय, आप बस एक json ऑब्जेक्ट बना सकते हैं और उसे भेजने पर स्ट्रिंग में कनवर्ट कर सकते हैं।


    यदि आपको पोस्ट अनुरोध भेजने की आवश्यकता है जैसे मानों और चाबियों की एक जोड़ी के लिए यह सरल अनुरोध, तो उदाहरण देखें:
    {
    "ईमेल": "[email protected]",
    "पुराना_पासवा": 306,
    "use_id": 123,
    "new_passw": 456
    }


    1 एक जेसन ऑब्जेक्ट बनाएं और सर्वर के मान और कुंजी जोड़े को मैप करें।
    JSONObject jsonobj = नया JSONObject () -
    jsonobj.put ("ईमेल", "[email protected]") -
    jsonobj.put ("old_passw", "306") -
    jsonobj.put ("use_id", "123") -
    jsonobj.put ("new_passw", "456") -


    2 एक http क्लाइंट और पोस्ट यूआरएल बनाएं
    DefaultHttpClient httpclient = नया DefaultHttpClient () -
    HttpPost httppostreq = नया HttpPost ("your_server_url") -


    3 एक स्ट्रिंग बनाएं स्ट्रिंग यूआरएल को HTTP POST द्वारा अनुरोधित स्वरूप में जोड़ दिया जाएगा।


    स्ट्रिंगइन्टीटी यदि = नया स्ट्रिंग एंटेन्टिटी (jsonobj.toString ()) -


    4 यह हिस्सा वैकल्पिक और उन्नत है और यदि आप एक वर्णसेट घोषित करना बहुत ज़रूरी नहीं हैं, तो आप उसे छोड़ सकते हैं।
    se.setContentType ("application / json-charset = UTF-8") -
    se.setContentEncoding (नया बेसिक हेडर (HTTP.CONTENT_TYPE, "एप्लिकेशन / जेएसएन-वर्णसेट = यूटीएफ -8"))


    5 पोस्ट अनुरोध में इकाई को कॉन्फ़िगर करें
    httppostreq.setEntity (से) -


    6 पोस्ट अनुरोध निष्पादित करें
    HttpResponse httpresponse = httpclient.execute (httppostreq) -


    7 HTTP POST निष्पादित होने के बाद सर्वर से प्रतिक्रिया प्राप्त करने के लिए। ट्रेंच कैच ब्लॉक में टाइप करें
    स्ट्रिंग प्रतिक्रिया पाठ = नल-
    कोशिश {
    प्रतिक्रिया पाठ = EntityUtils.toString (httpresponse.getEntity ()) -
    } पकड़ (ParseException ई) {
    e.printStackTrace () -
    लॉग। I ("पार्स अपवाद", और + "") -


    } 8 नई जेएसओएन ऑब्जेक्ट और उसके मूल्यों में प्रतिक्रिया स्ट्रिंग प्राप्त करें। हो गया! ` हो गया! ` JSONObject json = नया JSONObject (responseText) -


    यदि आपको मुख्य संरचना के अंदर ऑब्जेक्ट के साथ एक पोस्ट अनुरोध की आवश्यकता है, तो ऐसा करें:
    {
    "अनुरोध": {
    "ईमेल": "[email protected]",
    "पुराना_पासवा": 306,
    "use_id": 123,
    "new_passw": 456
    }
    }


    इस तरह से पहला कदम बदलें 1 `एक आंतरिक जेएसएएन ऑब्जेक्ट बनाएं और इसमें भरें।`
    JSONObject हेडर = नया JSONObject () -
    header.put ("ईमेल", "[email protected]") -
    header.put ("old_passw", "306") -
    header.put ("use_id", "123") -
    header.put ("new_passw", "456") -


    2 एक नया जेएसओएन ऑब्जेक्ट बनाएं ("अनुरोध" कुंजी के साथ बाहरी) और अंदर की जेएसओएन को "अनुरोध" कुंजी के मान के रूप में रखें


    JSONObject jsonobj = नया JSONObject () -
    jsonobj.put ("अनुरोध", शीर्षलेख) -

    आवश्यक सामग्री

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

    संबद्ध
    © 2021 IhsAdke.com