Get Video from URL
//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();
}
}
Related examples in the same category