वॉली एंड्रॉइड नेटवर्किंग लाइब्रेरी


120

मेरी परियोजनाओं में वॉली का उपयोग करने के बारे में मेरे पास कुछ प्रश्न हैं:

  1. क्या यह लाइब्रेरी किसी जावा प्रोजेक्ट या सिर्फ एंड्रॉइड में इस्तेमाल की जा सकती है?
  2. मुझे यहाँ कई शाखाएँ दिखाई देती हैं और कोई भी दस्तावेज़ नहीं है जिस पर शाखा शुरू होनी है। शुरुआत करने के लिए मुझे किस शाखा का उपयोग करना चाहिए?
  3. आप इस लाइब्रेरी को अपने प्रोजेक्ट में कैसे एकीकृत करेंगे? क्या दृष्टिकोण बेहतर है: वॉली को एक स्टैंडअलोन लाइब्रेरी प्रोजेक्ट के रूप में बनाएं और जार को स्पिन करें और इसे अपने प्रोजेक्ट में डालें या अपने प्रोजेक्ट के सभी सोर्स कोड को कॉपी करें?

7
जब भी आप एक गिट रेपो में कई शाखाएँ देखते हैं, तो आपको हमेशा यह मान लेना चाहिए कि वे चाहते हैं कि आप क्लोन करें और मास्टर शाखा का उपयोग शुरू करें। कोई अन्य शाखा गौण है।
इगोरगानपोलस्की

आप वॉली को गिट सबमॉड्यूल के रूप में भी जोड़ सकते हैं। विस्तृत विवरण: gitsubmoduleasandroidtudiomodule.blogspot.in
अर्पित रतन

जवाबों:


204
$ git clone https://android.googlesource.com/platform/frameworks/volley
$ cd volley
$ android update project -p .
$ ant jar

फिर, bin/volley.jarअपने libs/फ़ोल्डर में प्रतिलिपि बनाएँ और बंद तुम जाओ!

स्रोत


8
नोट: आपको इसके लिए अपना PATH वैरिएबल तय करना होगा, ऐसा करने के लिए linux पर निम्नलिखित (अपने .profile में या जहाँ भी आप PATH वैरिएबल डालते हैं): 1. एक्सपोर्ट ANDROID_HOME = <android-sdk-dir>
Johan S

104
यह आश्चर्यजनक है कि मुझे अपने स्वयं के नेटवर्किंग पुस्तकालय को स्थापित करने के निर्देशों को खोजने के लिए 5 अलग-अलग Google परिणामों पर जाना पड़ा।
गोविम

24
गंभीर प्रश्न: वॉली जार फ़ाइल का कहीं भी सीधा डाउनलोड क्यों नहीं है? क्या इसके लिए एक सार्वभौमिक जार फ़ाइल के साथ कुछ समस्या है?
PGMacDesign

5
क्या किसी और को "वॉली एक वाइलड प्रोजेक्ट नहीं है (AndroidManifest.xml नहीं मिला)
Ersen Osman

8
@ChintanSoni, ~ 3 महीने पहले, git सबमिशन c9ef93a कहते हैं, "ग्रैडल से माइग्रेन में माइग्रेट करें।" "एंड्रॉइड अपडेट -p" चलाने के बजाय, आप मावेन कमांड, "मावेन कंपाइल" और फिर "मावेन पैकेज" चलाएं।
जेरेड मैसेंजर

73

में वॉली सबक , गूगल एक Android लाइब्रेरी परियोजना के रूप में या एक के रूप में या तो ऐड वॉली हमारे परियोजना के लिए के रूप में निर्देश देता है .jarफ़ाइल।

एंड्रॉइड स्टूडियो या ग्रहण.jar का उपयोग करके वॉली फ़ाइल बनाने का तरीका इस प्रकार है :

ध्यान दें:

दोनों ही मामलों में मैं .jarफ़ाइल को वॉली की नवीनतम कमेटी की तारीख को फिर से नाम देने का सुझाव देता हूं , अर्थात volley_20150319.jar, सरल संस्करण को रखने के लिए।


Android स्टूडियो:

  1. Git के माध्यम से वॉली भंडार का क्लोन।
  2. एंड्रॉइड स्टूडियो में प्रोजेक्ट को आयात करें। (एंड्रॉइड स्टूडियो में आयात करते समय मैं आमतौर पर प्रोजेक्ट की ग्रेडल फ़ाइल का चयन करता हूं)
  3. प्रोजेक्ट बनाएं। (मुझे नवीनतम बिल्ड टूल और ग्रेडल संस्करण को प्रतिबिंबित करने के लिए ग्रेडेल बिल्ड सेटिंग्स को बदलना पड़ा, लेकिन यह आमतौर पर अद्यतित है)।
  4. अपनी फ़ाइल एक्सप्लोरर में, नेविगेट करें [your local path to volley]/build/intermediate/bundles/
  5. दोनों में debugऔर releaseफ़ोल्डरों में आपको एक JAR फाइल मिलेगी classes.jar
  6. या तो JAR फ़ाइल को अपने libs/फ़ोल्डर में कॉपी करें ।
  7. ग्रेड सिंक करें, और आपका काम हो गया।

ग्रहण:

  1. Git के माध्यम से वॉली भंडार का क्लोन।
  2. परियोजना को ग्रहण में आयात करें।
  3. प्रोजेक्ट पर राइट-क्लिक करें और निर्यात चुनें ...
  4. Java / JAR फ़ाइल का चयन करें ।
  5. हम केवल src फ़ोल्डर में रुचि रखते हैं और कुछ नहीं। केवल यह सुनिश्चित करने का सबसे आसान तरीका है कि परियोजना का चयन रद्द करना है और फिर अंदर src फ़ोल्डर का चयन करना है।
  6. एक्सपोर्ट जनरेटेड क्लास फाइल्स और रिसोर्स ऑप्शन को चेक करें ।
  7. वैकल्पिक: यदि आप चाहते हैं कि जावाडॉक दिखाई दे तो एक्सपोर्ट जावा सोर्स फाइल संसाधनों का भी चयन करें ।
  8. JAR फ़ाइल बनाएं और इसे अपने libs/फ़ोल्डर में रखें।

1
यह भी खूब रही। मेरे लिए सबसे महत्वपूर्ण टिप # 5 था (केवल src का चयन करें), क्योंकि इससे अन्य पुस्तकालयों के साथ-साथ मुझे भी शामिल करने की कोशिश की जा रही थी।
wblaschko

1
तुम मुझे एक दिन बचाओ! "केवल चेक src फ़ोल्डर" मेरे लिए काम करता है :)
Wooseong Kim

48

1) क्या इस लाइब्रेरी का उपयोग सामान्य जावा प्रोजेक्ट्स में नेटवर्किंग लाइब्रेरी के रूप में भी किया जा सकता है या यह केवल एंड्रॉइड के लिए सख्ती से है

यह केवल एंड्रॉइड के लिए है, क्योंकि यह एंड्रॉइड-विशिष्ट कक्षाओं पर निर्भर करता है। स्रोत कोड को देखकर आप यह बता सकते हैं, जैसेRequestQueue सामान के लिए

2) मुझे यहाँ कई शाखाएँ दिखती हैं और कोई भी दस्तावेज़ नहीं है जिस पर शाखा शुरू होनी है। शुरुआत करने के लिए मुझे किस शाखा का उपयोग करना चाहिए?

Google I | O प्रस्तुति के निर्देश केवल gitरेपो को क्लोन करने के लिए थे , जो कि masterडिफ़ॉल्ट रूप से शाखा से खींच जाएगा ।

3) इस लाइब्रेरी को अपने प्रोजेक्ट में कैसे एकीकृत करें? क्या दृष्टिकोण बेहतर है: वॉली को एक स्टैंडअलोन लाइब्रेरी प्रोजेक्ट के रूप में बनाएं और जार को स्पिन करें और इसे अपनी परियोजना में डालें या अपने प्रोजेक्ट के सभी स्रोत कोड को कॉपी करें?

Google I | O प्रस्तुति के निर्देश आपके प्रोजेक्ट में स्रोत कोड जोड़ने के लिए थे। व्यक्तिगत रूप से, मुझे यह एक विचित्र दृष्टिकोण लगता है।


घातक: दूरस्थ त्रुटि: प्रवेश निषेध (अपने देश में उपलब्ध नहीं)! अगर मैं जार डाउनलोड करता हूं और अपने प्रोजेक्ट में जार जोड़ता हूं तो क्या यह मेरे देश में काम करता है? या यहां तक ​​कि मैं जार को कैसे डाउनलोड कर सकता हूं, इसे क्लोन किए बिना ?!
डॉ। अंजेनी

हां, उनके निर्देश 'मास्टर' शाखा का उपयोग करने के लिए सुझाव देते हैं, लेकिन मुझे यह थोड़ा अजीब लगता है कि मास्टर सक्रिय रूप से बदल रहा है। शायद नवीनतम रिलीज शाखा को खोजने के लिए बेहतर होगा।
टॉम

41

आप वॉली.जर डाउनलोड कर सकते हैं

स्रोत: AndroidHive

Volley.jarlibs की प्रतिलिपि बनाएँ

फिर

volley.jar ->लाइब्रेरी के रूप में राइट क्लिक जोड़ें

यहाँ छवि विवरण दर्ज करें


4
इस के लिए बहुत बहुत धन्यवाद। हर कोई बस यही कहता है कि 'जार को अपने काम के फ़ोल्डर में कॉपी करें' और फिर उस पर छोड़ दें।
होसर

cURL का कहना है कि इस जार को 01 मई 2014 से अपडेट नहीं किया गया है
युवैल

एक नए जार के बारे में कैसे?
1347

26

वॉली पुस्तकालय अब Android ओपन सोर्स प्रोजेक्ट द्वारा प्रकाशित किया गया है:

dependencies {
    implementation 'com.android.volley:volley:1.1.0'
}

4
सुनिश्चित करें कि आप अपने लिबर फ़ोल्डर से वॉली.जर को हटा दें, यदि आपके पास वहां है। और, अपने ऐप / build.gradle फ़ाइल से volley.jar के संदर्भ को हटा दें।
सिल्वर सैलेरी

16

अद्यतन: वॉली अब आधिकारिक है और JCenter के माध्यम से उपलब्ध है। इसे आयात करने का तरीका यहां दिया गया है:

compile 'com.android.volley:volley:1.0.0'

निर्धारित वेतन:

यदि आप ग्रैडल का उपयोग कर रहे हैं, तो आप यहां से वॉली का आयात कर सकते हैं

dependencies {
    compile 'com.mcxiaoke.volley:library:1.0.+'
}

ध्यान दें

यह एक अनौपचारिक दर्पण (कुछ मामूली बग सुधार के साथ, देखें चैंज जानकारी के लिए।) के लिए एंड्रॉयड वॉली पुस्तकालय , स्रोत कोड आधिकारिक वॉली भंडार के साथ समय-समय पर सिंक्रनाइज़ किए जाएंगे।


1
फ़ाइल में यह कहाँ होना चाहिए?
ताश पेमहिवा

यदि आप अपना ऐप बनाने के लिए ग्रैडल का उपयोग कर रहे हैं, तो अपने प्रोजेक्ट में build.gradle फ़ाइल होनी चाहिए। यदि आप ग्रेडल का उपयोग नहीं कर रहे हैं, तो यहां पोस्ट किए गए अन्य समाधानों पर एक नज़र डालें।
C0D3LIC1OU5

1
धन्यवाद, लेकिन मेरा मतलब था कि build.gradle फ़ाइल में ऊपर कहां होना चाहिए?
ताश पेमहिवा

जैसा कि द मेटल बियर्ड ने अपनी टिप्पणी में कहा है। निर्भरता के अंदर अगर आप पहले से ही एक घोषित किया है। यदि नहीं, तो इसे फ़ाइल के अंत में घोषित करें, लेकिन इसे एंड्रॉइड टैग के अंदर शामिल न करें
Zsolt Boldizsár

2
नोट: यह आधिकारिक नहीं है। यह वॉली रेपो का दर्पण है।
इताई हंसकी

13

बहुत सारे तरीके

चूंकि एकल दृष्टिकोण के बारे में कई उत्तर हैं, लेकिन कोई भी ऐसा नहीं है जो वॉली को उठने और चलने के विभिन्न तरीकों की तुलना कर रहा है, मैंने अपने दो सेंट भी लगाए हैं। इस उत्तर को संपादित करने / बढ़ाने के लिए स्वतंत्र महसूस करें।

इसे लाइब्रेरी के रूप में जोड़ें - (त्वरित समाधान)

  1. इसे यहां से डाउनलोड करें: androidhive
  2. इसे अपने में रखें [MyProjectPath]/app/libs/ फोल्डर
  3. उस पर एंड्रॉइड स्टूडियो right-clickमें और चुनेंAdd As Library...

गिट से स्रोत फ़ाइलें - (एक बल्कि सरकारी समाधान)

  1. जीआईटी क्लाइंट को डाउनलोड / इंस्टॉल करें (यदि आपके पास अभी तक यह आपके सिस्टम पर नहीं है)git clone https://github.com/git/git ... बुरा एक , लेकिन ^ ^ का विरोध नहीं कर सकता)
  2. निष्पादित git clone https://android.googlesource.com/platform/frameworks/volley
  3. comफ़ोल्डर [path_where_you_typed_git_clone]/volley/srcको अपने प्रोजेक्ट app/src/main/javaफ़ोल्डर में कॉपी करें (या इसके बजाय इसे एकीकृत करें, अगर आपके पास पहले से ही एक कॉम फ़ोल्डर है !!;;)

    फ़ाइलें तुरंत एंड्रॉइड स्टूडियो में दिखाई देती हैं। ग्रहण के लिए आप करना होगा right-clickपर srcफ़ोल्डर और प्रेस refresh(या F5) पहले।

    इसे git के माध्यम से करना वह है जो आधिकारिक रूप से एंड्रॉइड ट्यूटोरियल्स में सुझाया गया है ( यहां देखें )।

एक "अनौपचारिक" दर्पण के माध्यम से ग्रेड - (गतिशील समाधान)

  1. अपने प्रोजेक्ट की src/build.gradleफ़ाइल में निम्नलिखित वॉली निर्भरता जोड़ें:

        dependencies {
            compile fileTree(dir: 'libs', include: ['*.jar'])
            // ...
    
            compile 'com.mcxiaoke.volley:library:1.+'
        }
  2. उस पर क्लिक करें, Try Againजिसे तुरंत फ़ाइल के शीर्ष पर दिखाई देना चाहिए, या बस Buildअगर यह नहीं है

    यहां मुख्य "लाभ" यह है कि यह संस्करण को आपके लिए अद्यतित रखेगा, जबकि अन्य दो मामलों में आपको मैन्युअल रूप से वॉली अपडेट करना होगा।

    "डाउनसाइड" पर यह आधिकारिक तौर पर Google से नहीं है, लेकिन एक तृतीय पक्ष साप्ताहिक दर्पण है।

    लेकिन ये दोनों बिंदु, वास्तव में आप क्या चाहते हैं / चाहते हैं के सापेक्ष हैं। इसके अलावा अगर आप अपडेट नहीं चाहते हैं, तो उदाहरण के लिए केवल वांछित संस्करण वहां रखें compile 'com.mcxiaoke.volley:library:1.0.7'


11

यदि आप अपने स्वयं के कोड प्रबंधन के लिए GIT का उपयोग करते हैं, तो बस इसे प्रोजेक्ट के लिए सबमॉड्यूल के रूप में क्यों न जोड़ें ...

git submodule add https://android.googlesource.com/platform/frameworks/volley -b master Volley

इस तरह, जैसा कि वॉली कोड आधार अपडेट किया जाता है, अपडेट करना आसान है ...

git submodule git pull

आप संशोधन के लिए अपनी खुद की परियोजना में मुख्य वॉली वर्ग का विस्तार कर सकते हैं, जो आपको वॉली ढांचे के अद्यतन होने पर हर बार अपने परिवर्तनों को कोडित करने से रोकते हैं।


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

आपको अपने IDE में Volley को एक लाइब्रेरी के रूप में सेट करना होगा।
साइमन.पॉन्डर

ऐसा करने से परियोजना की संपत्ति संशोधित हो जाएगी और इसलिए सबमॉडल राज्य में "संशोधित" हो जाएगा। उसकी वजह से मैं इस समाधान का उपयोग नहीं करना चाहता हूं। "सही ढंग से परिभाषित" एक परियोजना के साथ, मैं सबमॉड्यूल का उपयोग करता हूं लेकिन वॉली के लिए नहीं। मैंने अब तक वॉली का एक जार बनाया।
निकोलस लाउक्विन

1
परिवर्तन करने के बाद भी आप Google स्रोत से खींच सकते हैं। यदि आप उनके कोड को संशोधित करना चाहते हैं और स्टोर करते हैं, तो इसे क्लोन करें, अपने स्थानीय रेपो संदर्भ को दो अलग-अलग रीमोट करें, और उनमें से एक को खींचने के लिए उपयोग करें, और दूसरा उस कोड को पुश करने के लिए जिसे आप स्टोर करना चाहते हैं। मुझे यकीन नहीं है कि यह आपको संशोधित के रूप में एक सबमॉड्यूल के लिए परेशान क्यों करता है, अगर आप अपनी परियोजना को कहीं भी संग्रहीत कर रहे हैं, और आप मूल परियोजना से धक्का देते हैं, तो कहीं भी सबमॉड्यूल किए बिना, आप अभी भी सबमॉड्यूल की प्रतिबद्धता के संदर्भ में धक्का देंगे। जब आपने इसे जोड़ा।
साइमन.पॉन्डर

8

वॉली एचटीपी अनुरोध के लिए यहां एक छोटा क्विकस्टार्ट है, यह एकीकृत करना बेहद आसान है।

  • आपको एक विस्तृत आवेदन की आवश्यकता है वॉली RequestQueue:

    1. private static RequestQueue reqQueue;

आप इसे अपने एप्लिकेशन वर्ग में रख सकते हैं और इसे getRequestQueue () के माध्यम से वैधानिक रूप से उपलब्ध करा सकते हैं।

  • फिर आप वॉली के साथ पहले अनुरोध को निष्पादित करने के लिए पहले से ही RequestQueue.add () विधि का उपयोग कर सकते हैं।

    2. reqQueue.add(...)
  • किसी एकल ऑब्जेक्ट के लिए क्वेरी करने के लिए JsonObjectRequest का उपयोग करें, ऑब्जेक्ट की सूची के लिए JsonArrayRequest से क्वेरी का उपयोग करें।

    queue.add(new JsonArrayRequest(URL, new Listener<JSONArray>() {
    
        @Override
        public void onResponse(JSONArray response) {
            //SUCCESS
        }}, new ErrorListener() {
    
        @Override
        public void onErrorResponse(VolleyError error) {
            //ERROR
        }}));
  • याद रखें कि एचटीपी एक्सपायर हेडर को अपने सर्वर-साइड पर सही ढंग से सेट करें ताकि वॉली इसका इंटीग्रेटेड कैशिंग फीचर बना सके


2
RequestQueue api का उपयोग करने से पहले, आपको इस लाइब्रेरी को अपनी परियोजना में जोड़ने की आवश्यकता है ...
इगोरगानपोलस्की

2

यहाँ Android स्टूडियो कोण ग्रेड के साथ एक और तरीका है:

आपको अपने प्रोजेक्ट के बिल्ड में आगे की आवश्यकता है (अपनी ऐप संरचना स्तर में):

repositories {
    maven {
        url 'https://github.com/Goddchen/mvn-repo/raw/master/'
    }
    mavenCentral()
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    // You must install or update the Support Repository through the SDK manager to use this dependency.
    compile 'com.android.support:support-v4:20.+'
    compile 'com.android:volley:1.+'
}

यह करने के लिए बुरा विचार। वहां की लाइब्रेरी 1 साल पुरानी है। और संदेह यह अद्यतन हो जाएगा ;-)
पैट्रिक बूस

1

पहले Git से प्रोजेक्ट को क्लोन करें

$git clone https://android.googlesource.com/platform/frameworks/volley
  • ग्रहण में आयात वॉली।
  • अपने प्रोजेक्ट पर राइट क्लिक करें-> संपत्ति-> Android
  • लाइब्रेरी जोड़ें-> वॉली चुनें (यदि आपको वहां वॉली दिखाई नहीं दे रही है, तो वॉली लाइब्रेरी, गेटो प्रॉपर्टी और एंड्रॉइड और क्लिक लाइब्रेरी देखें)
  • लाइब्रेरी में बतौर वॉली जोड़ने के बाद आप इसे अपने एप्लिकेशन में इस्तेमाल करना शुरू कर सकते हैं।

वॉली के कुछ बुनियादी वर्ग जो आपको पता होना चाहिए

  • RequestQueue
  • JsonArrayRequest
  • JsonObjectRequest

वॉली का उपयोग करने के लिए सबसे पहले आपको RequestQueue का ऑब्जेक्ट बनाना होगा

RequestQueue mQueue = Volley.newRequestQueue(getApplicationContext());

दूसरा -> JsonArrayRequest या JsonObjectRequest का उपयोग करके अनुरोध करें

JsonArrayRequest mJsonRequest = new JsonArrayRequest(url, 
            new Listener<JSONArray>() {

                @Override
                public void onResponse(JSONArray response) {
                    // here you can parse response and use accordingly
                }
            }, new ErrorListener() {

                @Override
                public void onErrorResponse(VolleyError error) {
                    // here you will receive errors and show proper message according to error type

                }
            });

और आखिर में अनुरोध कतार में रखा। अर्थात

mQueue.add(mJsonRequest);

इसके अलावा मैं आपको RequestQuery का एक सिंगलटन बनाने का सुझाव दूंगा।


1

एंड्रॉइड स्टूडियो 1.0.2 में वॉली जार (या कोई जार) जोड़ना अब काफी आसान है। बाहर एंड्रॉयड स्टूडियो से, कॉपी volley.jarमें <yourproject>/app/libs(जो पहले से मौजूद हो)। क्योंकि डिफ़ॉल्ट ग्रेड सेटअप में यह लाइन शामिल है:

 compile fileTree(dir: 'libs', include: ['*.jar'])

... अब सब कुछ सेट हो गया है। ऐसा प्रतीत नहीं हो सकता है क्योंकि डिफ़ॉल्ट प्रोजेक्ट स्ट्रक्चर दृश्य निर्देशिका (File -> Project Structure)नहीं दिखाता है libs। इसे देखने के लिए, आपको बदलने के Androidलिए प्रोजेक्ट संरचना दृश्य के ठीक ऊपर स्पिनर का उपयोग करना होगा Project

आप देख सकते हैं कि यह ऐप का निर्माण करके काम कर रहा है (यह आवश्यक नहीं हो सकता है), और फिर इस तरह से कुछ कोड टाइप करना शुरू कर सकता है:

 RequestQueue request

आप देखेंगे कि Android Studio आपको पूर्णता के साथ संकेत देता है RequestQueue (com.android.volley)


1

यह भी बहुत आसान एक डिबग आरा बनाया अगर आपकी पसंद thats।

git clone https://android.googlesource.com/platform/frameworks/volley

फिर एक अलग निर्देशिका में एक नया एंड्रॉइड स्टूडियो प्रोजेक्ट (बस एक नियमित ऐप प्रोजेक्ट) बनाएं। एक बार पूरा होने के बाद, एक नया सबमॉड्यूल (फ़ाइल | नया मॉड्यूल) जोड़ें। आयात मौजूदा परियोजना विकल्प चुनें और उस निर्देशिका को इंगित करें जहां आपने वॉली की जांच की थी। एक बार जब आप अपने मॉड्यूल बना सकते हैं और यह अनार फ़ाइल बनाएगा।


1

ग्रहण लूना का उपयोग करने के लिए आपको निम्न करना होगा:

  • जीआईटी से इसे क्लोन किया।
  • नियमित Android प्रोजेक्ट की तरह SRC फ़ोल्डर के नीचे JAVA फ़ोल्डर के अंतर्गत फ़ोल्डर COM को काटें (कॉपी करें और हटाएं)।
  • प्रोजेक्ट को बदलें। 8 के बजाय 15 को लक्ष्य।
  • परियोजना का निर्माण।
  • स्रोत सहित जार फ़ाइल के रूप में प्रोजेक्ट निर्यात करें - निर्यात टूल का उपयोग करें।
  • निर्यात किए गए जार में केवल COM फ़ोल्डर और META-INF फ़ोल्डर में रखें, अन्य सभी फ़ोल्डर हटाएं - जार की सामग्री को हटाने के लिए ज़िप उपकरण का उपयोग करें।
  • अपने जार परियोजना के रूप में इस जार का उपयोग करें।
  • अपने गंतव्य एंड्रॉइड प्रोजेक्ट के काम के फ़ोल्डर में वॉली जार रखो।

1

यदि आप एंड्रॉइड स्टूडियो का उपयोग कर रहे हैं जो आपको इस लाइन को ग्रेडेल फ़ाइल में करना चाहिए

compile 'com.mcxiaoke.volley:library:1.0.15'

यदि आप GET विधि का उपयोग करना चाहते हैं तो आपके पास ऐसा कुछ होना चाहिए।

private void weatherData() {
    JsonObjectRequest jsonObjReq = new JsonObjectRequest(
        Request.Method.GET,
        "URL with JSON data",
        new Response.Listener<JSONObject>() {
             @Override
             public void onResponse(JSONObject response) {
                 try {
                      //Your code goes here      
                 } catch (JSONException e) {
                      Log.e("TAG", e.toString());
                 }
             }
        }, 
        new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
            }
        });
    // Adding request to request queue
    AppController.getInstance().addToRequestQueue(jsonObjReq);
}

लेकिन अगर आप सर्वर में डेटा पोस्ट करना चाहते हैं, तो आपको एक HashMap का निर्माण करना चाहिए और वॉली लाइब्रेरी सर्वर में पोस्ट करने से पहले उन प्रमुख / जोड़ी मूल्यों को JSON ऑब्जेक्ट्स में कनवर्ट करता है। यहाँ एक उदाहरण है।

final HashMap<String, String> postParams = new HashMap<String, String>();
postParams.put("username", username);
postParams.put("password", password);

Response.Listener<JSONObject> listener;
Response.ErrorListener errorListener;
final JSONObject jsonObject = new JSONObject(postParams);

JsonObjectRequest jsonObjReq = new JsonObjectRequest(
    "YOUR URL WITH JSON DATA", 
    jsonObject,
    new com.android.volley.Response.Listener<JSONObject>() {
        @Override
        public void onResponse(JSONObject response) {
            Log.d("TAG", response.toString());
            try {
                if (response.getString("status").equals("fail")) {

                } else if (response.getString("status").equals("success")) {

                } catch (JSONException e) {
                     Log.e("TAG", e.toString())
                }
            }
        }, 
        new com.android.volley.Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
             //VolleyLog.d("TAG", "Error: " + error.getMessage());
            //pDialog.dismiss();

        }
    }) {
        @Override
        public String getBodyContentType() {
            return "application/json; charset=utf-8";
        }
    };
    // Adding request to request queue
    AppController.getInstance().addToRequestQueue(jsonObjReq, tag_json_obj);

    VolleySingleton.getInstance(getApplicationContext()).
    addToRequestQueue(jsonObjRequest);
 }

0

मैंने वॉली प्रोजेक्ट पर क्लोन किया और कॉन्फ़िगरेशन फ़ाइलों को जोड़ा, जो ग्रैडल के साथ लाइब्रेरी बनाने की अनुमति देता है।

इसके साथ आप लाइब्रेरी को अपने स्थानीय मावेन रिपॉजिटरी में स्थापित कर सकते हैं और इसे ग्रैडल के माध्यम से एक एंड्रॉइड प्रोजेक्ट से संदर्भित कर सकते हैं।

आवश्यकताएँ

  1. Maven
  2. Gradle

कैसे इस्तेमाल करे

  1. क्लोन मेरा भंडार
  2. वॉली लाइब्रेरी का निर्माण और स्थापना
  3. एक Android परियोजना में पुस्तकालय का संदर्भ लें

कंप्यूटर प्रोग्राम या प्रणाली में बग को दूर करना

कृपया ध्यान रखें कि वहाँ विभिन्न क्लोन हैं जो पुस्तकालय के लिए सुधार हैं । यह आवश्यक हो सकता है कि उन्हें एकीकृत करें और लाइब्रेरी के अपने निजी संवर्धित संस्करण को संकलित करें।

लाभ

लाइब्रेरी के अलावा स्वयं बिल्ड स्क्रिप्ट JavaDoc और स्रोत अभिलेखागार उत्पन्न करती है ।


0

मुझे एक समस्या का सामना करना पड़ा जब समर्थन पुस्तकालय को दूसरी पंक्ति में सूचीबद्ध किया गया था। इन दोनों कथनों को पुनः व्यवस्थित करना मेरे लिए काम कर गया।

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.mcxiaoke.volley:library:1.0.6'
    compile 'com.android.support:support-v4:20.+'
}

0

वॉली को आपके वर्तमान प्रोजेक्ट रेपो में गिट सबमॉड्यूल के रूप में जोड़ा जा सकता है। यह git सबमॉडल Volley के आधिकारिक git रेपो को इंगित करेगा। इसलिए आप सबमॉडल पॉइंटर को अपडेट करके सिर्फ आधिकारिक git रेपो से अपडेट प्राप्त कर सकते हैं।

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

इसे प्राप्त करने के लिए नीचे दिए गए चरणों का पालन करें:

चरण I:

Android एप्लिकेशन प्रोजेक्ट GIT रेपो में सबमॉडल के रूप में वॉली जोड़ें। git सबमॉड्यूल ऐड-बी मास्टर https://android.googlesource.com/platform/frameworks/volley लाइब्रेरी / वॉली

चरण II:

Settings.gradle में, स्टूडियो प्रोजेक्ट मॉड्यूल के रूप में वॉली को जोड़ने के लिए निम्नलिखित जोड़ें। शामिल हैं:: वॉली 'प्रोजेक्ट (': वॉली ')। प्रोजेक्टडिअर = नई फ़ाइल (' ../ लाइब्रेरी / वॉली ')

चरण III:

एप्लिकेशन / build.gradle में, वॉली संकलन परियोजना को संकलित करने के लिए निम्नलिखित पंक्ति जोड़ें (': वॉली')

वह सब होगा! वॉली को परियोजना में सफलतापूर्वक जोड़ा गया है।

हर बार जब आप Google आधिकारिक वॉली के रेपो से नवीनतम कोड प्राप्त करना चाहते हैं, तो बस नीचे दिए गए कमांड को चलाएं

git submodule foreach git pull

अधिक विस्तृत जानकारी के लिए: https://gitsubmoduleasandroidtudiomodule.blogspot.in/

GIT रेपो नमूना कोड: https://github.com/arpitratan/AndroidGitSubmoduleAsMoreule


0

भविष्य के पाठकों के लिए

मुझे वॉली के साथ काम करना बहुत पसंद है । विकास के समय को बचाने के लिए मैंने अपने प्रोजेक्ट के साथ वॉली को सेटअप करने के लिए छोटे काम के पुस्तकालय Gloxey Netwok Manager को लिखने का प्रयास किया । इसमें JSON पार्सर शामिल है और विभिन्न अन्य विधियां शामिल हैं जो नेटवर्क उपलब्धता की जांच करने में मदद करती हैं।

लाइब्रेरी प्रदान करता ConnectionManager.classहै जिसमें वॉली स्ट्रिंग और वॉली जेन्सन अनुरोधों के लिए विभिन्न तरीके उपलब्ध हैं। आप हेडर के साथ या उसके बिना GET, PUT, POST, DELETE के अनुरोध कर सकते हैं । आप यहाँ पूर्ण प्रलेखन पढ़ सकते हैं ।

बस इस लाइन को अपनी gradle फ़ाइल में रखें।

निर्भरताएँ {

   compile 'io.gloxey.gnm:network-manager:1.0.1'

}

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.