Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Practicas Android 1y2

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 20

Pasos para crear el primer proyecto en

Android Studio
1. Una vez que iniciamos el entorno del Android Studio aparece el diálogo principal:

Elegimos la opción "Start a New Android Studio project"


2. Ahora aparecerán una serie de ventanas para configurar el proyecto, el primer
diálogo debemos especificar el Nombre de la aplicación, la url de nuestra empresa
(que será el nombre del paquete que asigna java para los archivos fuentes) y la
ubicación en el disco de nuestro proyecto:
3. En el segundo diálogo procedemos a especificar la versión de Android mínima donde
se ejecutará la aplicación que desarrollemos (dejaremos la versión 4.0.3):

4. El tercer diálogo especificamos el esqueleto básico de nuestra aplicación,


seleccionaremos "Empty Activity" si tenemos el Android Studio 2.2:
5. Finalmente el último diálogo tenemos que indicar el nombre de la ventana principal
de la aplicación (Activity Name) y otros datos más que veremos a lo largo del curso
(dejaremos con los nombres por defecto que propone Android Studio):

6. Tenemos finalmente creado nuestro primer proyecto en Android Studio y podemos


ahora ver el entorno del Android Studio para codificar la aplicación:
7. El Android Studio nos genera todos los directorios y archivos básicos para iniciar
nuestro proyecto, los podemos ver en el lado izquierdo del entorno de desarrollo:
Nota: No haremos en este momento un análisis del significado y objetivo de cada uno de
estas secciones y archivos generados, sino a medida que avancemos lo iremos
puntualizando.
La interfaz visual de nuestro programa para Android se almacena en un archivo XML en la
carpeta res, subcarpeta layout y el archivo se llama activity_main.xml. En esta carpeta
tenemos creada nuestra primer pantalla.
Al seleccionar este archivo el Android Studio nos permite visualizar el contenido en
"Design" o "Text" (es decir en vista de diseño o en vista de código):
Vista de diseño:

A partir de la versión 2.2 del Android Studio tenemos la vista "blueprint" que nos nuestra
una interfaz simplificada muy útil cuando tenemos pantallas complejas que veremos más
adelante. Podemos ver solo la vista de diseño o "blueprint" seleccionando alguno de los
botones que aparecen aquí:
Vista de código:

El Android Studio ya insertó un control de tipo RelativeLayout que permite ingresar


controles visuales alineados a los bordes y a otros controles que haya en la ventana (más
adelante analizaremos este layout)
Ya veremos que podemos modificar todo este archivo para que se adapte a la aplicación
que queremos desarrollar.
Más adelante veremos cada una de las secciones con las que cuenta el Android Studio
para implementar la interfaz, codificar en java las funcionalidades de la aplicación, etc.
Antes de probar la aplicación en el emulador de un dispositivo Android procederemos a
hacer un pequeño cambio a la interfaz que aparece en el celular:
a) Borraremos la label que dice "Hello World" (simplemente seleccionando con el
mouse dicho elemento y presionando la tecla delete, podemos seleccionarla de
cualquiera de las dos interfaces "Design" o "blueprint") y de la "Palette"
arrastraremos un "Button" al centro del celular y en la ventana "Properties" estando
seleccionado el "Button" cambiaremos la propiedad "text" por la cadena "Hola
Mundo":
Para ejecutar la aplicación presionamos el triángulo verde o seleccionamos del menú de
opciones "Run -> Run app" y en este diálogo procedemos a dejar seleccionado el emulador
por defecto que aparece (Nexus 5X) y presionamos el botón "OK" (si no tiene ningún
emulador puede crear uno):
Luego de un rato aparecerá el emulador de Android en pantalla (el arranque del emulador
puede llevar más de un minuto), es IMPORTANTE tener en cuenta que una vez que el
emulador se ha arrancado no lo debemos cerrar cada vez que hacemos cambios en nuestra
aplicación o codificamos otras aplicaciones, sino que volvemos a ejecutar la aplicación con
los cambios y al estar el emulador corriendo el tiempo que tarda hasta que aparece
nuestro programa en el emulador es muy reducido.
Cuando terminó de cargarse el emulador debe aparecer nuestra aplicación ejecutándose:
Práctica: Capturar el clic de un botón
Confeccionar un programa que permita la carga de dos números enteros en controles de
tipo EditText (Number). Mostrar dentro de los mismos controles EditText mensajes que
soliciten la carga de los valores. Disponer un Button para sumar los dos valores
ingresados. Mostrar el resultado en un control de tipo TextView.
La interfaz visual debe quedar algo semejante a esto:

Recordar que si queremos ocultar o volver a mostrar el diseño "blueprint" tenemos tres
íconos en la parte superior del diseñador.

Crear un proyecto llamado:proyecto002.


Primero borramos el TextView que aparece por defecto cuando se crea un proyecto con
el Android Studio. Ahora desde la ventana "Palette" seleccionamos de la pestaña "Text
Fields (EditText)" el control "Number" (es de la clase EditText) y lo arrastramos a la
ventana de diseño de nuestra interfaz a la parte superior izquierda:

Ahora lo seleccionamos y en la ventana de propiedades (Properties) especificamos la


propiedad hint, disponemos el texto "Ingrese el primer valor":
También vamos a especificar la propiedad "id", y le asignaremos el valor et1

Hemos entonces asignado como nombre a este objeto: et1 (recordemos que se trata de
un objeto de la clase EditText), este nombre haremos referencia posteriormente desde
el programa en Java.
Efectuamos los mismos pasos para crear el segundo EditText de tipo "Number"
(iniciamos las propiedades respectivas) Definimos el id con el nombre et2 y la propiedad
hint con el mensaje "Ingrese el segundo valor", el resultado visual debe ser algo
semejante a esto:
De la pestaña "Widgets" arrastramos un control de tipo "Button":

Iniciamos la propiedad text con el texto "Sumar" y la propiedad id la dejamos con el


valor ya creado llamado "button":
Para terminar con nuestra interfaz visual arrastramos una componente de tipo
"TextView" de la pestaña "Widgets". Definimos la propiedad id con el valor "tv1" y la
propiedad text con el texto "Resultado":

La interfaz final debe ser semejante a esta:

Si en este momento ejecutamos la aplicación aparece la interfaz visual correctamente


pero cuando presionemos el botón no mostrará la suma.
Hasta ahora hemos trabajado solo con el archivo xml (activity_main.xml) donde se
definen los controles visuales de la ventana que estamos creando.
Abrimos seguidamente el archivo MainActivity.java que lo podemos ubicar en la carpeta
app\java\com\tutorialesprogramacionya\proyecto002\MainActivity:

La clase MainActivity hereda de la clase AppCompatActivity. La clase


AppCompatActivity representa una ventana de Android y tiene todos los métodos
necesarios para crear y mostrar los objetos que hemos dispuesto en el archivo xml.
El código fuente de la clase MainActivity.java es:
package com.tutorialesprogramacionya.proyecto002;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
Como mínimo se debe sobrescribir el método onCreate heredado de la clase
AppCompatActivity donde procedemos a llamar al método setContentView pasando
como referencia una valor almacenado en una constante llamada activity_main
contenida en una clase llamada layout que a su vez la contiene una clase llamada R
(veremos más adelante que el Android Studio se encarga de crear la clase R en forma
automática y sirve como puente entre el archivo xml y nuestra clase MainActivity)
Captura de eventos.
Ahora viene la parte donde definimos variables en java donde almacenamos las
referencias a los objetos definidos en el archivo XML.
Definimos tres variables, dos de tipo EditText y finalmente una de tipo TextView (estas
dos clases se declaran en el paquete android.widget, es necesario importar dichas clases
para poder definir las variables de dichas clases, la forma más fácil de importar las clases
es una vez que definimos el objeto por ejemplo private EditText et1; veremos que
aparece en rojo el nombre de la clase y nos invita el Android Studio a presionar las teclas
"Alt" e "Intro" en forma simultánea. Luego el Android Studio codifica automáticamente la
línea que importa la clase: import android.widget.EditText;):
package com.tutorialesprogramacionya.proyecto002;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

private EditText et1;


private EditText et2;
private TextView tv1;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
Recordar que la forma más fácil de importar las clases EditText y TextView es escribir
las tres líneas:
private EditText et1;
private EditText et2;
private TextView tv1;
y luego presionar las teclas "Alt" y "Enter" en cada nombre de clase que se debe
importar
Esto hace que se escriban automáticamente los import:
import android.widget.EditText;
import android.widget.TextView;
Los nombres que le dí a los objetos en este caso coinciden con la propiedad id (no es
obligatorio):
private EditText et1;
private EditText et2;
private TextView tv1;
Para la clase Button no es necesario definir un atributo.
En el método onCreate debemos enlazar estas variables con los objetos definidos en el
archivo XML, esto se hace llamando al método findViewById:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

et1=(EditText)findViewById(R.id.et1);
et2=(EditText)findViewById(R.id.et2);
tv1=(TextView)findViewById(R.id.tv1);
}
Al método findViewById debemos pasar la constante creada en la clase R (recordemos
que se crea automáticamente esta clase) el nombre de la constante si debe ser igual con
el nombre de la propiedad del objeto creado en el archivo XML. Como el método
findViewById retorna un objeto de tipo View luego debemos utilizar el operador cast (es
decir le antecedemos entre paréntesis el nombre de la clase)
Ya tenemos almacenados en las variables las referencias a los tres objetos que se crean
al llamar al método:setContentView(R.layout.main); .
Ahora planteamos el método que se ejecutará cuando se presione el botón (el método
debe recibir como parámetro un objeto de la clase View) En nuestro ejemplo lo llamé
sumar:
package com.tutorialesprogramacionya.proyecto002;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

private EditText et1;


private EditText et2;
private TextView tv1;

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

et1=(EditText)findViewById(R.id.et1);
et2=(EditText)findViewById(R.id.et2);
tv1=(TextView)findViewById(R.id.tv1);
}

//Este método se ejecutará cuando se presione el botón


public void sumar(View view) {

}
}
Debemos importar lar clase View (presionamos las teclas "Alt" y luego "Enter" en forma
simultanea)
Ahora debemos ir al archivo XML (vista de diseño) e inicializar la propiedad onClick del
objeto button con el nombre del método que acabamos de crear (este paso es fundamental
para que el objeto de la clase Button pueda llamar al método sumar que acabamos de
crear):

Finalmente implementaremos la lógica para sumar los dos valores ingresados en los
controles EditText:
public void sumar(View view) {
String valor1=et1.getText().toString();
String valor2=et2.getText().toString();
int nro1=Integer.parseInt(valor1);
int nro2=Integer.parseInt(valor2);
int suma=nro1+nro2;
String resu=String.valueOf(suma);
tv1.setText(resu);
}
Extraemos el texto de los dos controles de tipo EditText y los almacenamos en dos
variables locales de tipo String. Convertimos los String a tipo entero, los sumamos y el
resultado lo enviamos al TextView donde se muestra la suma (previo a convertir la suma
a String)
La clase completa queda entonces como:
package com.tutorialesprogramacionya.proyecto002;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

private EditText et1;


private EditText et2;
private TextView tv1;

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

et1=(EditText)findViewById(R.id.et1);
et2=(EditText)findViewById(R.id.et2);
tv1=(TextView)findViewById(R.id.tv1);
}
//Este método se ejecutará cuando se presione el botón
public void sumar(View view) {
String valor1=et1.getText().toString();
String valor2=et2.getText().toString();
int nro1=Integer.parseInt(valor1);
int nro2=Integer.parseInt(valor2);
int suma=nro1+nro2;
String resu=String.valueOf(suma);
tv1.setText(resu);
}
}
Si ejecutamos nuestro programa podemos ver ahora que los controles EditText muestran
los mensajes "Ingrese primer valor" e "Ingrese segundo valor" (la propiedad hint de los
EditText muestran un mensaje que se borra automáticamente cuando el operador carga
los enteros):

Luego de cargar dos valores al presionar el botón aparece en el TextView el resultado


de la suma de los dos EditText.

También podría gustarte