2011-06-28 11 views
12

Estoy trabajando en un proyecto para obtener código fuente html en una cadena en vb.net usando dom parser para obtener el código fuente de una página.¿Cómo obtener el código fuente HTML de la url en android?

1) Quiero implementar lo mismo en Android, ¿cuál será el enfoque para obtener el código fuente de la página web al llamar a una url en Android. 2) Tendría dos diseños para el código fuente en un diseño y otro para la página web. Si estoy cambiando el valor de la etiqueta del título en el diseño del código fuente, debe actualizarse automáticamente en la página web real.

¿Cuál sería el mejor enfoque para hacer eso en Android?

Cualquier tipo de ayuda será muy apreciada.

Respuesta

27

Con el fin de obtener el código fuente de una URL que puede utilizarse la siguiente:

HttpClient httpclient = new DefaultHttpClient(); // Create HTTP Client 
HttpGet httpget = new HttpGet("http://yoururl.com"); // Set the action you want to do 
HttpResponse response = httpclient.execute(httpget); // Executeit 
HttpEntity entity = response.getEntity(); 
InputStream is = entity.getContent(); // Create an InputStream with the response 
BufferedReader reader = new BufferedReader(new InputStreamReader(is, "iso-8859-1"), 8); 
StringBuilder sb = new StringBuilder(); 
String line = null; 
while ((line = reader.readLine()) != null) // Read line by line 
    sb.append(line + "\n"); 

String resString = sb.toString(); // Result is here 

is.close(); // Close the stream 

También puede agregar algunos parametros a la HttpClient para gestionar el tiempo de espera y otras cosas por el estilo. Ex:

HttpParams httpParameters = new BasicHttpParams(); 
HttpConnectionParams.setConnectionTimeout(httpParameters,3000); // 3s max for connection 
HttpConnectionParams.setSoTimeout(httpParameters, 4000); // 4s max to get data 
HttpClient httpclient = new DefaultHttpClient(httpParameters); 
+0

gracias por ur sugerencia, Lyrkan – mH16

+0

Para la segunda parte de su pregunta, creo que no debería ser un problema para manejar eso. Quiero decir, para el diseño que muestra la página web (y no la fuente), supongo que usarás una vista web, por lo que solo tendrás que actualizar su contenido dándole el código fuente actualizado. – Lyrkan

+0

No está funcionando. Se produjo un problema de página web no disponible. –

2

Puede obtener el código HTML de cualquier URL mediante el uso de la biblioteca de iones.

Vaya a la estructura del proyecto, haga clic en la aplicación, haga clic en Dependencias, haga clic en '+', simplemente escriba ion verá com.koushikdutta.ion: ion: 2.1.8 haga clic en él y haga clic en Aceptar. Ahora puede usar la biblioteca de iones para obtener el código html de la URL.

public class HtmlCode extends Activity { 
    TextView tv; 

    public void onCreate(Bundle s) 
    { 
     super.onCreate(s); 
     setContentView(R.layout.httpexample); 

     tv = (TextView)findViewById(R.id.tvHttp); 
     Ion.with(getApplicationContext()).load("http://www.your_URL.com").asString().setCallback(new FutureCallback<String>() { 
      @Override 
      public void onCompleted(Exception e, String result) { 

       tv.setText(result); 
      } 
     }); 
    } 
} 
Cuestiones relacionadas