Empezando a programar en Android V.III – Mi primera aplicación Android

3
primerAplicacionAndroid

Es hora de crear nuestra primera aplicación en Android. Así podremos ver todo el proceso que hay que seguir para tener una app totalmente funcional.

Nuestra aplicación va a ser bastante simple ya que la finalidad de este artículo es introducir algunos conceptos básicos.

Antes de nada debemos saber que es un Activity en Android. El Activity es la conexión entre la interfaz de usuario y el código Java y este contiene los elementos de nuestra aplicación como pueden ser los botones, etiquetas, o el texto que compone la interfaz. Hablando claro, los Activitys son cada una de las pantallas diferentes que nuestra aplicación tendrá. Cada Activity cuenta con un fichero XML asociado donde colocaremos los elementos de los que se compone nuestra pantalla.

Como vimos en el artículo “Estructura de una aplicación” estos archivos están situados en la carpeta res/ .

Nuestra aplicación constará de un Activity principal donde el usuario introducirá su nombre en un campo de texto y de un botón que al pulsarlo nos mandará a otro Activity donde se saludará al usuario.

Android app

La primera Activity la crearemos escribiendo el siguiente código (o arrastrando elementos a la pantalla) en nuestro archivo /res/layout/activity_main.xml:

[xml]
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".MainActivity"
android:background="#ffefac"
android:orientation="vertical">

<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">

<EditText

android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textPersonName"
android:text="Usuario"
android:ems="10"
android:id="@+id/editText"
android:layout_gravity="center"
android:layout_marginTop="30dp"
android:singleLine="false" />

<Button

android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Saludar"
android:id="@+id/button"
android:layout_gravity="center"
android:layout_marginTop="100dp"
android:paddingLeft="40dp"
android:paddingRight="40dp" />

<LinearLayout/>

<LinearLayout/>

[/xml]

También crearemos la segunda pantalla donde se saludará al usuario en un nuevo archivo XML. Lo podemos llamar activity_saludo.xml:

[xml]

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#83c1ff">

<LinearLayout

android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">

<TextView

android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hola"
android:id="@+id/textView"
android:layout_gravity="center"
android:layout_marginTop="30dp" />

</LinearLayout>

</LinearLayout>

[/xml]

Ya tenemos nuestras dos pantallas implementadas. Ahora debemos de implementar la lógica de nuestra aplicación. Empezaremos a programar en Java en el archivo MainActivity.java:

[java]

import android.content.Intent;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends Activity {
@Override

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

//Declaramos las variables del botón y el campo de texto

final Button boton_saludo = (Button)findViewById(R.id.button);
final EditText texto_usuario = (EditText)findViewById(R.id.editText);

//Listener para el boton de Saludo

boton_saludo.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {

//Creamos el Intent

Intent intent = new Intent(MainActivity.this, SaludoActivity.class);

//Creamos la información a pasar entre actividades

Bundle b = new Bundle();
b.putString("NOMBRE", texto_usuario.getText().toString());

//Añadimos la información al intent

intent.putExtras(b);

//Iniciamos la nueva actividad

startActivity(intent);

}

});

}

[/java]

En este trozo de código anterior lo que hemos hecho ha sido coger los elementos que hemos puesto en nuestro Activity (el campo de texto y el botón) y decir que cuando pulsemos en el botón se mande la información que escribamos en el campo de texto a la siguiente pantalla.

En la siguiente pantalla será donde recojamos esta información, para ello nos creamos una nueva clase llamada SaludoActivity.java y contendrá el siguiente código:

[java]

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class SaludoActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_juego);

//Localizar los controles

TextView texto_saludo = (TextView)findViewById(R.id.textView);

//Recuperamos la información pasada en el intent

Bundle bundle = this.getIntent().getExtras();

//Construimos el mensaje a mostrar

texto_saludo.setText("Hola " + bundle.getString("NOMBRE"));
}

}

[/java]

Como se puede ver, en la variable “texto_saludo” hemos recuperado el texto que nos manda la Activity anterior por medio de un “Bundle”.

Con esto ya tenemos nuestra primera aplicación funcionando. Ya sólo queda conectar nuestro Smartphone por USB y ejecutar la aplicación.

En artículos siguientes configuraremos un emulador para no tener que estar conectando nuestro móvil cada vez que compilemos nuestra aplicación. Aunque yo recomiendo testear nuestras apps en nuestro propio Smartphone ya que es mucho más fluido y real, además de otras ventajas. Pero para aquellos que no dispongan de un Smartphone a mano es una buena herramienta.

¿Pensáis que debemos bajar el nivel de nuestras explicaciones? O por el contrario, ¿queréis que avancemos en aspectos más avanzados? Déjanos en los comentarios tu experiencia con Android para adaptarnos a vuestras necesidades 😉

3 comentarios on "Empezando a programar en Android V.III – Mi primera aplicación Android"

  1. unconexo

    El nivel pieso que se puede aumentar poco a poco, pero vendría bien, al menos al principio ir comentando,
    instrucción/función un poco mejor. Me explico:
    ————————–
    //Listener para el boton de Saludo
    boton_saludo.setOnClickListener(new View.OnClickListener() { // Esta función “espera” a que se pulse el botón
    @Override // Esto ni idea
    public void onClick(View view) { // Asigna la clase publica a la funcion OnClick..
    —————————-
    Bueno eso es lo que he entendido yo que no estoy muy seguro, por eso sugiero desmenuzar ahora al principio estas cosas, ya si luego está la ayuda del compilado/IDE xD

Leave a Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *