En esta publicación hablaré sobre los componentes principales de las aplicaciones Android.
Cuando desarrollamos aplicaciones Android contamos con los siguientes elementos básicos:
- Activities
- Intents
- Services
- Manifest
Activities
Una activity es un componente muy importante dentro de una aplicación Android, ya que representa a una ventana. Algo similar a las ventanas de las aplicaciones de escritorio. Por ejemplo una aplicación de correo electrónico puede tener una activity para presentar los correos recibidos, otra activity para presentar los correos enviados, etc. En la siguiente figura se muestra una activity de una aplicación para mejor comprensión.

Cabe indicar que una activity debe estar asociada a un archivo de Layout para poder ser mostrada en la pantalla.
¿Como crear una actividad?
Para crear una activity, se debe crear una clase que instancie a la clase Activity e implementar los métodos necesarios. El método más importante que se debe implementar es:
- onCreate(): El sistema llama a este método al crear la activity. Dentro de la implementación, se deben inicializar los componentes necesarios de la activity. Lo mas importante dentro de este método es asociar el layout utilizando el método setContentView().
La siguiente porción de código nos muestra la creación de una Activity
public class GastosApplicationActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
Algo muy importante que hay que recordar, es que, cuando se crea una actividad, esta debe ser agregada al archivo AndroidManifest.xml para poder se accedida por el sistema. Mas adelante se dará una explicación de este archivo.
Intents
Los Intents son mensajes que permiten a los componentes como actvities, services, etc; comunicarse entre si. Por ejemplo se puede llamar de una activity a otra a través de los intents. Algo importante que se debe tener en cuenta que con los intents también se puede enviar datos de una activity a otra. En la siguiente figura se muestra la estructura de varias activies a través de Intents.
Existen 2 tipos de intents que se pueden utilizar:
- Intents Explicitos: En los intents explícitos se nombra explícitamente valga la redundancia, a la clase del componente que va a ser llamado. Este nombramiento se lo hace instanciando a la clase Intent. En el siguiente codigo de ejemplo se crea un intent y se envía datos a través del mismo.
Intent intent1 = new Intent(this, Activity2.class);
intent1.putExtra("nombres", nombres);
intent1.putExtra("apellidos", apellidos);
startActivity(intent1);
- Intents Implicitos: En los intents implicitos no se especifica la clase de componente que va a ser llamado. En vez de ello se especifica la acción que se debe realizar y opcionalmente especificar una URI que se debe utilizar para dicha acción. Por ejemplo
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com"));
Services
Los servicios son componentes que no cuentan con una interfaz gráfica, pero que realizan operaciones importantes y continuación corriendo en modo silencio. Por ejemplo un servicio puede manejar transacciones de red, tocar musica, etc; todo esto lo hace de forma silenciosa e invisible para los usuarios.
Un servicio solamente puede tener 2 formas:
- Started o Iniciado: Un servicio está "iniciado" cuando un componente de la aplicación (por ejemplo una activity) lo inicia llamando al método startService(). Una vez iniciado el servicio, este se puede ejecutar de forma indefinida, incluso si el componente que lo llamo es destruido. Por lo general, un servicio realiza una sola operación y no devuelve un resultado al componente que lo llama. Por ejemplo, un servicio puede descargar un archivo a través de la red. Cuando la operación se realiza, el servicio debe detenerse.
- Bind u obligado: Un servicio está "obligado" cuando un componente de la aplicación se une a el llamando al método bindService(). Un servicio obligado ofrece una interfaz de cliente-servidor que permite a los componentes interactuar con el servicio, enviar solicitudes, obtener resultados, etc. Un servicio obligado sólo se ejecuta mientras otro componente de la aplicación está obligado a el. Varios componentes se pueden enlazar con el servicio a la vez, pero cuando todos ellos se termina, el servicio se destruye.
Al igual que las activities son declaradas en el archivo manifest.xml, los servicios también deben ser declarados.
Manifest
El archivo manifest es un elemento muy importante dentro de Android, ya que en el se declaran todos los componentes como activities, intents o services que serán utilizados dentro de todas las aplicaciones que realizemos.
Cabe indicar que este es un archivo xml en el cual se agregan todos los componentes. El siguiente código nos muestra el archivo manifest de una aplicación para una mayor comprensión.
Con esto terminamos de hablar sobre los componentes básicos para desarrollar aplicaciones Android.