Network Android

//package androtv.utils;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.util.Date;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
class SiteClientUtil {
  private SiteClientUtil() {
  }
  public static String getSiteUrl() {
    return "http://json.protv.md/featured?ctr=_" + new Date().getTime();
  }
  public static String getNews() {
    HttpClient httpclient = new DefaultHttpClient();
    // TODO: format url wit current date
    String url = getSiteUrl();
    HttpGet httpget = new HttpGet(url);
    HttpResponse response;
    String result = null;
    try {
      response = httpclient.execute(httpget);
      // Get hold of the response entity
      HttpEntity entity = response.getEntity();
      // If the response does not enclose an entity, there is no need
      // to worry about connection release
      if (entity != null) {
        // A Simple Response Read
        InputStream instream = entity.getContent();
        result = convertStreamToString(instream);
        // Closing the input stream will trigger connection release
        instream.close();
      }
    } catch (ClientProtocolException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    } catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
    return result;
  }
  public static Bitmap getImage(String url) throws MalformedURLException,
      IOException {
    Bitmap bitmap = null;
    InputStream in = null;
    try {
      in = OpenHttpConnection(url);
      bitmap = BitmapFactory.decodeStream(in, null,
          new BitmapFactory.Options());
      in.close();
    } catch (IOException e1) {
    }
    return bitmap;
  }
  public static String getVideoUrl(String url) throws IOException {
    InputStream stream = OpenHttpConnection(url);
    String html = convertStreamToString(stream);
    int startIndex = html.indexOf("$('#video').flash(");
    if (startIndex == -1) {
      return null;
    }
    startIndex = html.indexOf("file:", startIndex);
    int endIndex = html.indexOf(",", startIndex);
    if (endIndex == -1) {
      return null;
    }
    return html.substring(startIndex + 5, endIndex);
  }
  private static InputStream OpenHttpConnection(String url)
      throws IOException {
    InputStream inputStream = null;
    URL _url = new URL(url);
    URLConnection conn = _url.openConnection();
    try {
      HttpURLConnection httpConn = (HttpURLConnection) conn;
      httpConn.setRequestMethod("GET");
      httpConn.connect();
      if (httpConn.getResponseCode() == HttpURLConnection.HTTP_OK) {
        inputStream = httpConn.getInputStream();
      }
    } catch (Exception e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
    return inputStream;
  }
  private static String convertStreamToString(InputStream is) {
    /*
     * To convert the InputStream to String we use the
     * BufferedReader.readLine() method. We iterate until the BufferedReader
     * return null which means there's no more data to read. Each line will
     * appended to a StringBuilder and returned as String.
     */
    BufferedReader reader = new BufferedReader(new InputStreamReader(is),
        8192);
    StringBuilder sb = new StringBuilder();
    String line = null;
    try {
      while ((line = reader.readLine()) != null) {
        sb.append(line + "\n");
      }
    } catch (IOException e) {
      e.printStackTrace();
    } finally {
      try {
        is.close();
      } catch (IOException e) {
        e.printStackTrace();
      }
    }
    return sb.toString();
  }
}