2010-01-20 14 views
23

मैं कुछ डाउनलोड की प्रगति जानना चाहता हूं।
जब मैं इंटरनेट से कुछ संसाधन, इस तरह हो रही है:एंड्रॉइड डाउनलोड प्रगति

 String myFeed = request.getURI().toString(); 
     URL url = new URL(myFeed); 
     URLConnection connection = url.openConnection(); 
     HttpURLConnection httpConnection = (HttpURLConnection) connection; 
     int responseCode = httpConnection.getResponseCode(); 
     if (responseCode == HttpURLConnection.HTTP_OK) { 

      InputStream in = httpConnection.getInputStream(); 
      // Process the input stream 
     } 

जब "= httpConnection.getInputStream() में InputStream," कहा जाता है,
फ़ाइल की सभी सामग्री एक बार में डाउनलोड की जाती है।

अगर मैं का उपयोग करें:

 htttpResponse = httpClient.execute(httpRequestBase); 

समस्या एक ही है।

मैं डाउनलोड की वास्तविक प्रगति का पता कैसे लगा सकता हूं?

सभी को धन्यवाद!

उत्तर

9

मुझे लगता है कि यह answered here रहा है।

संक्षेप में: "सामग्री-लंबाई" का उपयोग करें जो हेडर फ़ील्ड में होना चाहिए।

संपादित करें: क्षमा करें, मैं बिल्कुल सवाल का जवाब नहीं दे रहा था। असल में एक बार जब आप अपेक्षित कुल सामग्री की लंबाई को जानते हैं तो आप ट्रैक कर सकते हैं कि आपने कितना डेटा प्राप्त किया है और प्रतिशत को पूरा करने की गणना करें।

यह भी देखें: How to create a download manager

+1

मैं पहले से ही फ़ाइल आकार पता है, getContentLength के माध्यम से()। मुझे नहीं पता कि सामग्री पहले से प्राप्त सामग्री की प्रगति कैसे प्राप्त करें। मैं सिर्फ एक फाइल के बारे में बात कर रहा हूँ। – Tsimmi

+0

ओह मैं देखता हूँ। ठीक है, अच्छी तरह से "डाउनलोड प्रबंधक कैसे बनाएं" लिंक देखें। क्या उससे मदद हुई? – GaZ

+0

क्षमा करें! मैंने पहले उस लिंक को नहीं देखा था। – Tsimmi

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