title: How do I decode URL in Android Application?
body: <p>I am trying to write an Android app, and it's supposed to retrieve the content of a CDN URL, which are always URLEncoded. For the sake of example, I am using a youtube URL, because they are formatted the same way.</p>
  <pre><code>    public static String getText(String url) throws Exception {
      URL website = new URL(url);
      URLConnection connection = website.openConnection();
      BufferedReader in = new BufferedReader(
                              new InputStreamReader(
                                  connection.getInputStream()));
  
      StringBuilder response = new StringBuilder();
      String inputLine;
  
      while ((inputLine = in.readLine()) != null) 
          response.append(inputLine);
  
      in.close();
  
      return response.toString();
  }
  
  /**
   * @param args the command line arguments
   */
  public static void main(String[] args) {
      try {
      String page = getText(&quot;http://www.youtube.com/watch?v=QH2-TGUlwu4&quot;);
      String[] temper = page.split(&quot;flashvars=\&quot;&quot;);
      page = temper[1];
      temper = page.split(&quot;\&quot;     allowscriptaccess=\&quot;always\&quot;&quot;);
      page = temper[0];
      temper = page.split(&quot;url_encoded_fmt_stream_map=&quot;);
      page = temper[1];
      temper = page.split(&quot;fallback_host&quot;);
      page = temper[0];
      page = page.replaceAll(&quot;url%3D&quot;, &quot;&quot;); **
      page = URLDecoder.decode(page, &quot;UTF-8&quot;); **
      page = page.replaceAll(&quot;hd720&amp;&quot;, &quot;hd720&quot;); **
      System.out.println(page);
      
          // TODO code application logic here
      } catch (Exception ex) {
          Logger.getLogger(app.class.getName()).log(Level.SEVERE, null, ex);
      }
  }
  </code></pre>
  <p>The code that is starred is (probably) where it is giving me trouble. The system.out.println outputs</p>
  <pre><code>http%3A%2F%2Fo-o.preferred.ord08s01.v3.lscache1.c.youtube.com%2Fvideoplayback%3Fsparams%3Did%252Cexpire%252Cip%252Cipbits%252Citag%252Csource%252Cratebypass%252Ccp%26fexp%3D909708%252C907322%252C908613%26itag%3D44%26ip%3D99.0.0.0%26signature%3D2889261E861AF0E724519652960C1BF31DA5BABD.A621580215B6416151470893E2D07BDE7AFF081E%26sver%3D3%26ratebypass%3Dyes%26source%3Dyoutube%26expire%3D1327316557%26key%3Dyt1%26ipbits%3D8%26cp%3DU0hRTFNMVF9KUUNOMV9LRlhGOlNaUzBvTG1tdEp2%26id%3D407dbe4c6525c2ee&amp;quality=large&amp;
  </code></pre>
  <p>I want that URL decoded in a way that I can wrap it in a method to download it.</p>
  <p>I have already tried the string.replaceAll() method. In short, It doesn't work</p>
  <p>Please help me regarding this.</p>