यह मेरा कोड है:एंड्रॉइड ओकेएचटीपी का उपयोग कर कॉलबैक से प्रतिक्रिया स्ट्रिंग कैसे प्राप्त करें?
OkHttpClient okHttpClient = new OkHttpClient();
Request request = new Request.Builder().url("http://publicobject.com/helloworld.txt").build();
Callback callback = new Callback() {
@Override
public void onFailure(Request request, IOException e) {
}
@Override
public void onResponse(Response response) throws IOException {
}
};
okHttpClient.newCall(request).enqueue(callback);
String responseString;
उपरोक्त कोड में, मैं() response.body का मूल्य संग्रहीत करना चाहते हैं चर responseString में onResponse() विधि से स्ट्रिंग(), हालांकि मैं यह कर सकते हैं '। इसे एक्सेस नहीं करते हैं।
मैं उलझन में हूं कि आप यहां क्या करने की कोशिश कर रहे हैं। यदि यह कोड किसी स्थानीय फ़ंक्शन में मौजूद है तो एसिंक्रोनस कॉलबैक का उपयोग करने और कॉलिंग फ़ंक्शन में घोषित वैरिएबल को स्टोर करने के लिए यह कितना अच्छा करता है? आप तब तक इसका उपयोग नहीं कर पाएंगे जब तक आप पहले ब्लॉक नहीं करते। आप प्रतिक्रिया को क्लास इंस्टेंस वैरिएबल में स्टोर कर सकते हैं और यह ठीक काम करेगा। संभावना से अधिक हालांकि आप इस बारे में गलत तरीके से जा रहे हैं। –
@ मैटवॉल्फ आप शायद सही हैं, मैं एंड्रॉइड विकास के लिए नया हूं। जो मैं करने की कोशिश कर रहा हूं उसे इस तरह के कुछ डेटा मिलते हैं [link] (https://hacker-news.firebaseio.com/v0/topstories.json), इसे एक चर में सहेजें, इसे पार्स करें और फिर स्क्रीन पर प्रदर्शित करें एक दृश्य का उपयोग कर। एक आवृत्ति चर में डेटा संग्रहीत करना ऐसा करने का सही तरीका होगा या कोई और तरीका है? धन्यवाद। –
मुझे आपकी गतिविधि/खंड लागू होगा कॉलबैक: फिर करें: okHttpClient.newCall (अनुरोध) .enqueue (यह); फिर अपने ऑनस्पॉन्स में इसे पार्स करें और आप परिणाम स्क्रीन पर प्रदर्शित कर सकते हैं। –