Académique Documents
Professionnel Documents
Culture Documents
Modos de programación:
aumentar cohesión: cada clase tiene su función o objetivo determinado. No realiza diferentes
funciones diferentes. Programación modular.
Disminuir acoplamiento: si cambiamos la propiedad de un objeto, este cambio no tiene que afectar a
los otros objetos.
Fuentes de ingresos:
ver: http://www.greenandroid.es/
4. Crear variables de entorno adb ( crear su PATH). Ver página 9 del pdf: FO – 2. Desarrollo
Android – Arquitectura del sistema
export PATH=$PATH:/home/gerard/eclipse/android-sdk-linux_86/platform-tools/adb
Nota 1: el emulador es un proceso que abre el puerto 5554 para que podamos comunicarnos con el
mediante telnet o mediante la herramienta “adb”.
Creación de un proyecto:
1)File → Android project
2)Sale una ventana donde tenemos que rellenar los siguientes campos:
Project name: nombreProyecto
Seleccionar el API determinada para la version del S.O. Determinada.
Application name: nombreProyecto
Package name: com.nombreEmpresa.nombreProyecto
Create Activity: test
Min SDK version: ponemos la versión mas antigua que queremos que sea compatible, en nuestro
caso pondriamos “4” para indicar que el sistema operativo compatible mas antiguo sea el 1.6.
Estructura de un proyecto:
Consta de los siguientes directorios:
Que es adb?
Adb es android debug bridge, es una herramienta que sirve para comunicarse e interactuar con el
emulador mediante el puerto 5554. Funciona en la consola de linux. Los comandos mas
representativos son:
adb shell, entramos en la consola de comandos del emulador.
adb devices, muestra los emuladores o dispositivos conectados.
adb logcat, muestra las trazas del emulador.
Para poder utilizarlo, tenemos que entrar-lo como variable de entorno mediante el siguiente
comando en la consola bash:
export PATH=$PATH:/home/gerard/android-sdk-linux_86/platform-tools/
Que es DBMS?
Herramienta de eclipse que sirve para debugar la aplicación, ofrece la ventana logcat para ver las
trazas y la ventana console para buscar errores.
ACTIVITY
Un activity es simplemente una pantalla, una aplicación puede tener varias activity's pero hay que
definir una como principal.
Una activity es un thread que tiene un ciclo de de vida cíclico, que hay que tener en cuenta a la hora
de programar. Ver transparencias.
Si una activity esta parcialmente tapada, esta pasa al estado “on pause”.
Si una activity esta totalmente tapada, esta pasa al estado “on stop”.
Lo ideal es liberar recursos (como más mejor, solo los posibles como Sdcard, etc) cuando este en
estado “on pause”. En este estado también hay que guardar los datos introducidos o cambiados.
En estado “on Stop” hay que liberar los recursos visuales.
Cuando una activity se ha quedado colgada durante 5 sg. se aplica automáticamente el ANR
(aplication non responding) que es un mecanismo que lleva la activity al estado “on destroy”
directamente. Para evitar el ANR hay que utilizar “handlers” que son manejadores de eventos y
eventos.
Nota: ListActivity es una Activity que tiene un layout en forma de lista, para listar cosas.
SERVICE:
Es como una activity pero sin pantalla és un thread que trabaja en modo background. No le afecta el
ANR
ANDROID MANIFEST.xml
Es un fichero que indica los componentes que vas ha utilizar en tu proyecto o aplicación.
Declaras los permisos y librerias necesarios para ejecutar la aplicación. En este fichero especificas
la seguridad solo a nivel de permisos de usuario.
INTENTS
Un intent es un mecanismo de paso de mensajes entre objetos. Declara la intención de hacer algo.
Ejemplo:
El sistema android sabe interpretar los intents y sabe que aplicaciones llamar para realizar las
acciones. Este mecanismo permite independizar el objeto que realiza el intent del que lo recibe.
En este ejemplo un explorador de internet determinado por android visitará la dirección (URI).
- Category: sirve para especificar prioridades entre aplicaciones para ejecutar un intent. De la
preferida a la menos deseada.
- Component: sirve para determinar solamente que aplicación debe ejecutar un determinado intent.
- Extras: son los datos que podemos pasar entre los diferentes componentes mediante los intents.
(pares key – value) = = = (variable - 5).
Ejemplos de URI:
http://google.com
contact://contactos/jose
ftp://algo
Un uso muy común de los intents es lanzar una Activity, existen 2 maneras de lanzar una Activity.
(1- startActivity ó 2- startActivityForResult). La primera crea 2 threats bien diferenciados, la
segunda es mas bien un thread.
Activity Activity
#1 #2
StartActivity()
;
(thread 1) (thread 2)
Activity Activity
#1 #2
StartActivityForResult(
SetResult(
);
);
?????
Finish();
?????
OnActivityResult();
(thread 1)
Ejemplo uso de intents para lanzar Activitys :
INTENT_FILTER:
Solamente se definen en el Manifest. Se utilizan para filtrar los intents requeridos por un
componente.
CONTENT-PROVIDER:
PRACTICA #
e-mail: slashtest@hotmail.com
paswd: 1234
PROBELMAS Y FALLOS:
1) Al ejecutar “run as”, da el siguiente error:
[2011-01-01 23:11:16 - Emulator] invalid command-line parameter: wipe-data.
Solución: