Tutorial de programación Google Android: Activity, Intent, Layout y Eclipse

La programación Android involucra varias tecnologías, especialmente Java y XML. Para empezar a programar apps para Android, hay que entender los fundamentos del framework: cómo se presentan los elementos de tu app a los usuarios. Activities, Intents y Layouts son elementos clave en proyectos Java iniciales. Eclipse proporciona herramientas para desarrollo Android.

Clase principal (Main Class)

Al crear proyectos Android con Eclipse IDE (oficial), Eclipse automatiza partes del proceso. Al crear un nuevo proyecto, crea automáticamente una clase principal, que es una clase Activity. Una Activity representa una pantalla dentro de la app, con elementos visuales y controles UI. La Activity principal se lanza al ejecutar la app. Ejemplo típico:

public class MyApp extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}}

Activities

Los desarrolladores pueden crear una Activity por pantalla. El esquema es similar: extender Activity y proporcionar método "onCreate". Dentro, implementan procesamiento al lanzar la Activity, normalmente estableciendo el layout:

setContentView(R.layout.help);

Instruye a Android a usar el layout XML en "help.xml" (guardado en "res/layout" en el paquete). Cada Activity debe aparecer en "AndroidManifest.xml":

<activity android:name=".Help"></activity>

Refleja un archivo Java Activity llamado "Help".

Intents

Al crear archivos Activity, se pueden instanciar esas clases desde otros puntos del proyecto. Ej.: lanzar una Activity pulsando un botón en otra. Añade código en la Activity lanzadora, especificando la Activity a lanzar con Intents:

startActivity(new Intent(this, Help.class));

Inicia la Activity guardada como "Help". "startActivity" puede aparecer en cualquier otra clase Activity. Ej.: lanzar Activity con info de ayuda desde otras pantallas.

Layouts

Cada Activity puede asociarse a un layout. Se pueden definir en Java, pero los recursos oficiales recomiendan XML. El paquete de la app tiene directorio "res/layout" para estos XML. El código XML incluye items UI y visuales, y especificaciones de cómo colocarlos relativos entre sí:

<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView android:id="@+id/sample"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Here is some text" />
</LinearLayout>

Este layout de ejemplo tiene un solo item UI: un campo de texto.