2012-04-13 8 views
7

मैं एक एंड्रॉइड ऐप विकसित कर रहा हूं जो तीसरे पक्ष के जार का उपयोग करता है। मैं उस पुस्तकालय द्वारा जारी HTTP अनुरोधों की निगरानी और संभवतः संशोधित करना चाहता हूं। आईओएस के तहत, मैं एक कस्टम NSURLProtocol कक्षा पंजीकृत करके ऐसा कर सकता हूं जो ऐप की प्रक्रिया में होने वाले किसी भी नेटवर्क अनुरोध का निरीक्षण और कुशलतापूर्वक उपयोग कर सकता है।आईओएस एसडीके से NSURLProtocol के लिए एंड्रॉइड के बराबर क्या है?

क्या एंड्रॉइड के लिए कुछ भी समान है? मैं मानता हूं, मैं एंड्रॉइड विकास के लिए नया हूं, लेकिन इस समस्या के लिए एक समाधान समाधान खोजने में असमर्थ रहा हूं।

मेरे पास इस जार का स्रोत नहीं है, और मैं इसे कम करने पर भरोसा नहीं कर सकता।

मैं का पता लगाया है योग्य कुछ बातें:

  • एंड्रॉयड ContentProvider। काम नहीं करेगा, क्योंकि समाधान को "http: //" अनुरोधों का समर्थन करना चाहिए, न कि "सामग्री: //" अनुरोध।
  • एक कस्टम org.apache.http.impl.client.DefaultHTTPClient कक्षा बनाना। (यह अंतर्निहित नेटवर्किंग क्लास है जो मेरे बाद के अनुरोधों के लिए उपयोग किया जाता है।) ऐसा लगता है कि यह काम नहीं करेगा, क्योंकि एंड्रॉइड ने इस वर्ग के सिस्टम संस्करण को कैश किया है और हमेशा इसके बजाय लोड करता है, भले ही यह उच्च हो लोड ऑर्डर में।

मैं बहुत अच्छी तरह अपाचे HTTP पुस्तकालय से अधिक देखा है, और जब यह HttpRequestInterceptor, HttpResponseInterceptor कक्षाएं, कि, मुझे बहुत अच्छा काम नहीं करता जैसी चीजों के सभी प्रकार है पुस्तकालय एक DefaultHTTPClient उदाहरण और प्रदान को दर्शाता है के बाद से यह एक निजी सदस्य के भीतर एक निजी सदस्य के लिए है जिसकी मुझे पहुंच नहीं है।

मेरा अंतिम लक्ष्य यूनिट परीक्षण उद्देश्यों के लिए इन अनुरोधों की निगरानी और परिवर्तन करना है। मैं नहीं चाहता कि वास्तविक अनुरोध जारी किए जाएं; मैं एक नकली प्रतिक्रिया की आपूर्ति करना चाहता हूँ।

उत्तर

2

दुर्भाग्य से आप भाग्य से बाहर हैं: एंड्रॉइड ऐप्स पर उपलब्ध इस तरह के ऐप-वाइड इंटरसेप्शन फ्रेमवर्क नहीं हैं।

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

संबंधित मुद्दे

 संबंधित मुद्दे