Hey guys having some troubles here with screen scraping just wondering whats causing it not to pick up the string from the webpage it throws an error. any help would be appreciated thanks
package com.lati.latifoodmenu; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLConnection; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.webkit.WebView; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // get http string from URL String strText = DownloadText( "http//:www.lakeareatech.edu/current/services/foodservice/index.html"); // if string is empty, use local address if (strText.equals("")) { strText = DownloadText( "http://10.10.0.110/current/services/foodservice/index.html"); } // find starting and ending points in string int iStart = strText.indexOf("<h2> </h2>") + 15; int iEnd = strText.indexOf("</div>", iStart); // get a handle to the web view WebView wv = (WebView)findViewById(R.id.webView1); // load web view with html wv.loadData("<html><body style='color:#ffffff;background-color:#000000;'>" + "<h2>LATI Menu Specials</h2>" + strText.substring(iStart, iEnd).replace("<p>", "").replace("\n"," ") + "</body></html>" , "text/html", "UTF-8"); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.activity_main, menu); return true; } private InputStream OpenHttpConnection(String urlString) throws IOException { InputStream in = null; int response = -1; URL url = new URL(urlString); URLConnection conn = url.openConnection(); if (!(conn instanceof HttpURLConnection)) throw new IOException("Not an HTTP connection"); try { HttpURLConnection httpConn = (HttpURLConnection) conn; httpConn.setAllowUserInteraction(false); httpConn.setInstanceFollowRedirects(true); httpConn.setRequestMethod("GET"); httpConn.connect(); response = httpConn.getResponseCode(); if (response == HttpURLConnection.HTTP_OK) { in = httpConn.getInputStream(); } } catch (Exception ex) { ex.printStackTrace(); throw new IOException("Error connecting" + ex.getMessage()); } return in; } private String DownloadText(String URL) { int BUFFER_SIZE = 2000; InputStream in = null; try { in = OpenHttpConnection(URL); } catch (IOException e1) { e1.printStackTrace(); return ""; } InputStreamReader isr = new InputStreamReader(in); int charRead; String str = ""; char[] inputBuffer = new char[BUFFER_SIZE]; try { while ((charRead = isr.read(inputBuffer))>0) { //---convert the chars to a String--- String readString = String.copyValueOf(inputBuffer, 0, charRead); str += readString; inputBuffer = new char[BUFFER_SIZE]; } in.close(); } catch (IOException e) { e.printStackTrace(); return ""; } return str; } }