2015-11-07 12 views
6

लटका हुआ है, मैंने एक आरएसएस रीडर को एक साथ रखा है जो कि काम करता है, लेकिन, मैं HttpUrlConnection विधि का उपयोग कर आरएसएस यूआरएल से कनेक्शन सेटअप करना चाहता हूं। जब मैं इसे करने की कोशिश, कार्यक्रम बंद होने के बाद मैं पढ़ें आरएसएस बटन क्लिक किया:रुपये रीडर में HttpUrlconnection का उपयोग करने से Android को

private class getRssFeedTask extends AsyncTask<String, Void, String> { 
    @Override 
    protected String doInBackground(String... params) { 
     try { 
      URL rssUrl = new URL(params[0]); 
      HttpURLConnection urlIn = (HttpURLConnection) rssUrl.openConnection(); 
      InputStream in = new BufferedInputStream(urlIn.getInputStream()); 
      String line; 
      feed = ""; 
      while ((line = in.toString()) != null) { 
       feed += line; 
      } 
      in.close(); 
      return feed; 
     } catch (MalformedURLException ue) { 
      System.out.println("Malformed URL"); 
     } catch (IOException ioe) { 
      System.out.println("The URL is unreachable"); 
     } 
     return null; 
    } 

} 

यह कनेक्शन पद्धति मैं अटक उपयोग कर रहा हूँ जो काम करता है:

private class getRssFeedTask extends AsyncTask<String, Void, String> { 
    @Override 
    protected String doInBackground(String... params) { 
     try { 
      URL rssUrl = new URL(params[0]); 
      BufferedReader in = new BufferedReader(new InputStreamReader(rssUrl.openStream())); 
      String line; 
      feed = ""; 
      while ((line = in.readLine()) != null) { 
       feed += line; 
      } 
      in.close(); 
      return feed; 
     } catch (MalformedURLException ue) { 
      System.out.println("Malformed URL"); 
     } catch (IOException ioe) { 
      System.out.println("The URL is unreachable"); 
     } 
     return null; 
    } 

} 

किसी भी मदद प्रदान कर सकते हैं के लिए धन्यवाद!

उत्तर

4

आप क्या करने की जरूरत है कि यह एक स्ट्रिंग मैं कहा जाता है यह परिणाम में डाल दिया है। मैंने doInBackground के लिए अपना कोड संलग्न किया है। इसे एक स्ट्रिंग में जोड़कर फ़ीड को स्टोर करने के लिए एक जगह है। और यह आरएसएस पाठक के लिए काम करता है।

public String doInBackground(String... urls){ 

     String result = ""; 
     try{ 
      URL url = new URL(urls[0]); 
      HttpURLConnection conn = (HttpURLConnection) url.openConnection(); 
      InputStream in = conn.getInputStream(); 
      BufferedReader reader = new BufferedReader(new InputStreamReader(in)); 
      String line = ""; 

      while((line = reader.readLine()) != null){ 
       result = result + line; 
      } 

      conn.disconnect(); 
     } 
     catch(Exception e){ 
      Log.e("ERROR Fetching ", e.toString()); 
     } 
     return result; 
    } 
संबंधित मुद्दे