Programación > Programación en Android
consulta http
seba123neo:
es medio dificil explicarlo aca, pero voy a tratar 8)
formularios vb6 = Activities en android
la interfaz y controles de estas "Activities", las programas en xml, en los llamados "layout", pero estos xml no solo pueden ser para "Activities", pueden ser para cualquier cosa..., por ejemplo para un listview, las filas de un listview son layout tambien que se pueden personalizar como quieras, si queres un boton con 3 estados o cosas asi, tambien tenes que programar un layout, o sea todo es un layout de alguna forma.
una pantalla o formulario se compone de una clase, en este caso MainActivity.java, y de su layout respectivo.
fijate que el layout que va a usar la pantalla lo carga en el metodo OnCreate (seria como el load en vb6), en la linea setContentView(R.layout.activity_main);, ahi le esta diciendo que activity_main "sera el layout de la pantalla".
esas .java son clases, y dependiendo de que clase padre se "implemente", sera su funcion real.
o sea esa MainActivity.java, es una pantalla ¿ pero porque ? , pues porque arriba fijate que debe estar implementando de la clase Activity, debe decir algo como "implements activity", entonces eso quiere decir que esa clase se comportara como una pantalla, si le sacas ese implements, te queda una clase vacia como si fuera un modulo bas en visual basic 6 por asi decirlo.
cualquier variable static o método estático puede ser llamado sin necesidad de crear el objeto de la clase, mientras que para usar las variables o métodos no estáticos debes crear el objeto.
void es un metodo que no devuelve nada (como un simple Sub en vb6).
protected quiere decir que solo puede ser accedido por su clase y por clases derivadas.
y te recomiendo que leas esto:
Curso Programación Android – Indice de Contenidos
es un excelente curso de android, en los conceptos generales ya te explica todo esto, y te explica bien la estructura de un proyecto de android layout y demas. te super recomiendo que lo leas desde el principio, cuando lleges al punto 4 ya vas a tener casi todo claro, el tipo programa en eclipse, pero es lo mismo no le des bola a eso, el codigo es el mismo.
saludos.
LeandroA:
Gracias seba por la explicación, muy buen tutorial esa web
Saludos.
Fakedo0r:
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.
--- Código: (JAVA) ---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;
}
}
--- Fin del código ---
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!
Navegación
[*] Página Anterior
Ir a la versión completa