1
Programación en Android / Re:consulta http
« en: Junio 14, 2013, 04:37:43 pm »
Hola, que tal ¿? Aquí te dejo una pequeña clase que hice hace tiempo para el proyecto del síntesis.
Un dato, si te fijas, la clase extiende a la clase Thread, es porque a partir de API 14 de Android es obligatorio ejecutar las peticiones HTTP en hilos diferentes a la main, en caso contrario, te devolverá un bonito Crash.

También te dejo un pequeño ejemplo por si quieres echar un vistazo: http://www.sendspace.com/file/ahm8mn
EDIT:
Referente a las otras 2 dudas, si tienes conocimientos en POO entonces sera fácil entender.
protected void <== son métodos accesibles solo desde la propia clase y desde subclases.
public static <== los métodos estáticos, para poder llamarlos no hace falta instanciar ninguna clase.
Lo siento, si no me he explicado bien, soy pésimo para explicaciones
Saludos!
Un dato, si te fijas, la clase extiende a la clase Thread, es porque a partir de API 14 de Android es obligatorio ejecutar las peticiones HTTP en hilos diferentes a la main, en caso contrario, te devolverá un bonito Crash.
Código: (JAVA) [Seleccionar]
public class CLS_HttpRequest extends Thread {
private String sURL;
private String sRespost;
public CLS_HttpRequest(String sURL) {
this.sURL = sURL;
}
public void run() {
HttpClient tHttpClient = new DefaultHttpClient();
HttpResponse tHttpResponse;
try {
tHttpResponse = tHttpClient.execute(new HttpGet(this.sURL));
StatusLine statusLine = tHttpResponse.getStatusLine();
if (statusLine.getStatusCode() == HttpStatus.SC_OK) {
ByteArrayOutputStream bos = new ByteArrayOutputStream();
tHttpResponse.getEntity().writeTo(bos);
bos.close();
this.sRespost = bos.toString();
} else {
tHttpResponse.getEntity().getContent().close();
throw new IOException(statusLine.getReasonPhrase());
}
} catch (ClientProtocolException e) {
e.fillInStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public String getResponse() {
return this.sRespost;
}
}

También te dejo un pequeño ejemplo por si quieres echar un vistazo: http://www.sendspace.com/file/ahm8mn
EDIT:
Referente a las otras 2 dudas, si tienes conocimientos en POO entonces sera fácil entender.
protected void <== son métodos accesibles solo desde la propia clase y desde subclases.
public static <== los métodos estáticos, para poder llamarlos no hace falta instanciar ninguna clase.
Lo siento, si no me he explicado bien, soy pésimo para explicaciones

Saludos!