You are on page 1of 16

Programacin II M.Sc.

Irma Prado

1

ANDROID parte 1
Android es un sistema operativo basado en el kernel de Linux diseado principalmente para
dispositivos mviles con pantalla tctil, como telfonos inteligentes o tabletas.
Android se ejecuta sobre Linux versin 2.6, utiliza Dalvink (versin de Java para mviles), Webkit
como browser integrado, OpenGL para representaciones grficas y SQLite para base de datos.
1. INSTALACION.
a. Se requiere realizar las siguientes instalaciones: JSDK y ADT Bundle, puede
descargarlo de:
http://developer.android.com/sdk/index.html

puede utilizar el software que se entregar en laboratorio.


Instale primero el JDK, luego descomprima el adt (no se instala), esta carpeta de
adt contiene eclipse que ejecutaremos para realizar nuestras aplicaciones Android:

Una vez que ejecute Eclipse de ADT Bundle, note que el cono es .
b. Ahora vamos a instalar las libreras de desarrollo de Android. Ingrese al eclipse
ubicado en la carpeta adt-bundle (note que no es el eclipse que utilizamos
anteriormente, ahora es exclusivo para Android).
Una vez que haya ingresado al eclipse, mediante la barra de men de opciones de
eclipse ingresar a windows/Android SDK Manager y esperamos que se abra el
dilogo.
Programacin II M.Sc. Irma Prado

2



Luego esperamos que abra el dilogo y seleccionamos el API versin 4.1.2, (Las
siglas API provienen de Application Programming Interface y se trata de un
conjunto de librerias de cdigo JAVA compilado. Conviene conocerlos porque
nos facilitarn el trabajo a la hora de programar. Ejemplo: java.lang, java.io,
etc.), luego instalamos:



Luego acepte las licencias que le solicita con X el sistema, luego instale.
Programacin II M.Sc. Irma Prado

3


Espere que se instale todo, luego cierre la ventana del Android SDK Manager y
cierre eclipse para que cuando abran eclipse nuevamente, se carguen las libreras
recientemente instaladas.
c. Ahora vamos a crear el dispositivo virtual, es decir a crear el celular que nos
mostrar eclipse en las aplicaciones. Ingresamos al men de opciones
Windows/Android Virtual Device Manager.

Luego se presenta una ventana con los dispositivos instalados (los avds). En mi
caso tengo varios creados, tal como se ve en la ventana.

Programacin II M.Sc. Irma Prado

4

El AVD que vamos a crear tiene el nombre Celular_Android, tipo de dispositivo Nexus 7,
seleccionamos el API que hemos instalado, CPU , cambiamos la memoria RAM a 768 MB,
seleccionamos una webcam, SD car a 200, seleccionamos Snapshot para optimizar el tiempo de
inicio de AVD.













Finalmente hacemos clic
en ok, esperamos y luego veremos que el AVD ya fue creado. Cerramos la ventana.
Para probar que el AVD funciona correctamente ingresamos nuevamente a
Windows/Android Virtual Device Manager, luego seleccionamos Celular_Android
y hacemos clic en el botn Start.
Programacin II M.Sc. Irma Prado

5


Seleccionamos Scale display to real size para que el AVD tenga el tamao
adecuado de acuerdo a nuestra pantalla, luego clic en Launch. Esperamos (mucho
tiempo) para que se cargue el dispositivo.


Programacin II M.Sc. Irma Prado

6

2. TEORIA.
Componentes de una aplicacin Android.
Una aplicacin Android, tiene los siguientes componentes principales:
a. Vistas
b. Layout
c. Actividades (activities)
d. Servicios (services)
e. Intencin (Intent).
f. Proveedores de contenidos (content providers)
g. Receptores de Broadcast (broadcast receivers)
Vistas son los elementos que componen la interfaz de usuario de una aplicacin. Son por
ejemplo, un botones, una entrada de texto, Todas las vistas van a ser objetos
descendientes de la clase View, y por tanto, pueden ser definidos utilizando cdigo Java.
Layout es un conjunto de vistas agrupadas de una determinada forma. Vamos a disponer de
diferentes tipos de Layouts para organizar las vistas de forma lineal, en cuadrcula o indicando
la posicin absoluta de cada vista. Los Layouts tambin son objetos descendientes de la clase
View.
Activity es una ventana que contiene la interface de usuario (UI). Una aplicacin puede
tener muchas Activitys. El objetivo principal de una Activity es permitir la interaccin con
el usuario. Es decir, que si una aplicacin tiene cinco pantallas, tiene 5 Actividades o
activities. Las activities estn conformadas por dos partes: la parte lgica y la parte grfica.
La parte lgica es una archivo .java que es la clase que se crea para poder manipular,
interactuar y colocar el cdigo de esa actividad. La parte grfica es un XML que tiene
todos los elementos que estamos viendo de una pantalla declarados con etiquetas
parecidas a las del HTML.
Resumiendo, una actividad est conformada por la parte lgica (un archivo Java) y la parte
grfica (un archivo XML).





Programacin II M.Sc. Irma Prado

7



Una Activity pasa por varias etapas, conocido como: El ciclo de vida de una Activity, est
conformado por los siguientes mtodos:
a. onCreate(). Se ejecuta cuando la Activity es iniciada por primera vez, mediante el
uso de Intent. Configura la ventana que es la UI definida en su archivo XML
b. onStart(). Se ejecuta luego de onCreate() o luego de onRestart(), se encarga de
mostrar al usuario la actividad.
c. onResume().Inicia o reinicia el hilo del loop main.
d. onPause().El mtodo onPause(), se ejecuta cuando una actividad va a dejar de
estar en primer plano, para dar paso a otra, cambia su color a un tono gris y
guarda la informacin de su ltimo estado en el mtodo: onSaveInstanceState()
para poder ser restaurada, mediante el mtodo onResume()
e. onStop().Si la actividad pasa a un segundo plano, por un largo periodo. El sistema
puede llegar a liberar el espacio que ocupa en caso de sentir necesidad de mas
espacio de memoria, adems casi siempre elimina la activity que ms tiempo se
encuentre en pausa. Sin embargo, tambin puede volver a primer plano antes de
ser eliminado, ejecutando el mtodo: onRestart()
f. onDestroy().Cuando el sistema considera que la Activity ya no es necesaria, es
liberada de la memoria, en consecuencia ya no puede ser recuperada, tendr que
esperar una nueva llamada desde origen, para que nuevamente se ejecute su
mtodo onCreate()
Servicios. No tienen interface de usuario, se ejecutan independientes en background,.
Por ejemplo podemos escuchar los temas seleccionados de msica, a pesar de que el
actvity que los creo no mantiene el foco.
Intencin (Intent). Una intencin representa la voluntad de realizar alguna accin; como
realizar una llamada de telfono, visualizar una pgina web. Se utiliza cuando se necesite:
lanzar una actividad
lanzar un servicio
enviar un anuncio de tipo broadcast
Comunicarnos con un servicio
Los componentes lanzados pueden ser internos o externos a nuestra aplicacin. Tambin
utilizaremos las intenciones para el intercambio de informacin entre estos componentes.
Proveedores de contenido. Se utilizan para almacenar o recuperar datos y hacerlos
accesibles para todas las aplicaciones. Ejemplo la lista de contactos, lista de canciones, etc.
Programacin II M.Sc. Irma Prado

8

Broadcast receivers. Son aplicaciones que no tienen interfaces de usuario, responden
anuncios del sistema, por ejemplo batera baja, pueden crear una barra de estado para
alertar al usuario.

AndroidManifest.xml
Es archivo que proporciona al sistema Android informacin acerca de la aplicacin.
Describe componentes utilizados en la aplicacin
Permisos requeridos para ejecutar la aplicacin
Especifica el API mnimo requerido por la aplicacin

Adicionalmente se explicarn otros conceptos en el desarrollo de los ejemplos

3. EJEMPLOS

Ejemplo 1.- Programa para desplegar HOLA MUNDO
Iniciamos creando un nuevo proyecto en eclipse de ADT-Bundle:

Luego escribimos el nombre del proyecto y clic en next :
Programacin II M.Sc. Irma Prado

9


Luego next:

Seleccionamos el cono, forma y color, luego next, las siguientes ventanas dejamos todo por
defecto haciendo clic sobre next y finalmente finish.
Una vez que tenemos creado el proyecto, podemos ver su estructura:
Programacin II M.Sc. Irma Prado

10



Programacin II M.Sc. Irma Prado

11

Antes de ejecutar el programa inicie el AVD en Windows/Android Virtual Device Manager,
seleccione el avide, luego clic en start y espere a que el AVD se active y cierre la ventana
de dialogo para iniciar el AVD.
Para ejecutar ubique el cursor sobre el nombre del proyecto, luego clic en botn derecho y
ejecutar como aplicacin Android. En nuestro ejemplo:

Deje el AVD activo, para las siguientes aplicaciones.
Note que en este ejemplo se ha generado el cdigo necesario automticamente, puede
ver los archivos indicados en la figura:

Programacin II M.Sc. Irma Prado

12

Ejemplo 2.- Desplegar el nombre de una persona
Creamos un nuevo proyecto llamado Ejemplo2:



Next, next
Programacin II M.Sc. Irma Prado

13


Next, next, finish
Con lo que se ha generado la estructura bsica de nuestro ejemplo.

Ahora vamos agregar cdigo que necesitamos, en el archivo activity_main.xml ubicado en la
carpeta layout:
Programacin II M.Sc. Irma Prado

14



Este es el cdigo generado:
<RelativeLayout 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"
tools:context=".MainActivity" >

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="@string/hello_world" />

</RelativeLayout>
Agregamos algunos lneas en <TextView:
android:textSize="40dp"
android:id="@+id/mensajito"

Estamos cambiando el tamao de la letra a 40 dp, vamos a programar en java mensajito y el texto
debe salir centrado. Entonces con los cambios queda:
<RelativeLayout 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"
tools:context=".MainActivity" >

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:textSize="40sp"
android:id="@+id/mensajito"
android:text="@string/hello_world" />

</RelativeLayout>
Ahora vamos hacer las modificaciones en MainActivity.java ubicado en src:
Programacin II M.Sc. Irma Prado

15


Agregamos cdigo (resaltado con amarillo):
package com.example.ejemplo2;

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

public class MainActivity extends Activity {

TextView mensajito;
StringBuilder builder = new StringBuilder();

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//creamos el objeto mensajito
mensajito=(TextView)findViewById(R.id.mensajito);
//llamamos a la funcin salida enviando un string
salida("Irma Prado");

}
public void salida(String m)
{
builder.append(m + "\n");
mensajito.setText(builder.toString());

}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
} }
Programacin II M.Sc. Irma Prado

16

Salvamos el proyecto y ejecutamos como aplicacin de Android:

Para subir la aplicacin al celular Android, ingrese a la carpeta del proyecto, luego a la carpeta bin,
copie el archivo con extensin apk a su celular, instale la aplicacin en su celular y la aplicacin
est lista para utilizar.
Laboratorio
1. Descargue e instale el software necesario.
2. Crear un AVD con su nombre.
3. Siga el procedimiento de los ejemplos y luego exporte las carpetas para presentarlas
4. Crear un apk con su nombre, suba e instale en su celular.