Vous êtes sur la page 1sur 7

Unidad 1

DESARROLLO DE APLICACIONES
1.1. Plataforma para las aplicaciones.

Android SDK y NDK
Las aplicaciones en Android se ejecutan sobre la Dalvik Virtual
Machine (que es una implementacin independiente de una
maquina virtual de Java pero con una arquitectura diferente),
pero tambin se pueden crear aplicaciones que se ejecuten
directamente sobre el sistema operativo (llamadas
aplicaciones Nativas).
Las aplicaciones se pueden desarrollar tanto de Java (para la DVM) como en
C++ (aplicaciones nativas) a partir de sus respectivas herramientas de
desarrollo:
Android SDK para crear aplicaciones con Java
Android NDK para crear aplicaciones con C++
Para la publicacin de aplicaciones, los desarrolladores deben estar
registrados en elAndoird Market y pagar una cuota de registro de US$25.
Crea tu primera aplicacin para Android y de paso experimenta con
las aplicaciones nativas que vienen con el NDK.

1.1.1. Arquitectura de los mviles.











1... 1.1.2 Sistema Operativo.
2... Un sistema operativo mvil o SO mvil es un sistema operativo que controla
un dispositivo mvil al igual que losPCs utilizan Windows o Linux entre otros. Sin
embargo, los sistemas operativos mviles son mucho ms simples y estn ms
orientados a la conectividad inalmbrica, los formatos multimedia para mviles y las
diferentes maneras de introducir informacin en ellos.
3... Algunos de los sistemas operativos utilizados en los dipositivos moviles estn basado en
el modelo de capas.
A medida que los telfonos mviles crecen en popularidad, los sistemas operativos con los que
funcionan adquieren mayor importancia. La cuota de mercado de sistemas operativos mviles en el
segundo trimestre de 2013 era el siguiente:
1

1. Android 80% (En pases como Espaa las diferencias son ms significativas, donde
Android tiene el 90,8% de la cuota de mercado.
2
)
2. iOS 13,2%
3. Windows Phone 3%
4. BlackBerry OS 2,9%
5. Linux u otros 0,8%
6. Symbian OS 0,2%
7. Firefox OS Disponible
8. Ubuntu Touch que est en desarrollo
Android tiene la mayor cuota, desde enero 2011, con ms de la mitad del mercado, experiment un
creciente aumento y en solo dos aos (2009 a comienzos de 2011) ha pasado a ser el SO mvil
ms utilizado.

1.1.3 Mquina virtual. Ciclo de desarrollo de Elementos de infraestructura.
Dalvik es una mquina virtual intrprete que ejecuta archivos en el formato Dalvik
Executable (*.dex), un formato optimizado para el almacenamiento eficiente y
ejecucin mapeable en memoria. Su objetivo fundamental es el mismo que cualquier
mquina virtual, permite que el cdigo sea compilado a un bytecode independiente de
la mquina en la que se va a ejecutar, y la mquina virtual interpreta este bytecode a
la hora de ejecutar el programa. Una de las razones por las cules no se opt por
utilizar la mquina virtual de Java es la necesidad de optimizar al mximo los recursos
y enfocar el funcionamiento de los programas hacia un entorno dnde los recursos de
memoria, procesador y almacenamiento son escasos.

Dalvik est basada en registros y puede ejecutar clases compiladas (vlgase la
redundancia) por un compilador Java y que posteriormente han sido convertidas al
formato nativo usando la herramienta dx. El hecho de que corra sobre un kernel
Linux le permite delegar las tareas relacionadas con la gestin de hilos y memoria a
bajo nivel.
Otra caracterstica importante de Dalvik es que ha sido optimizada para que mltiples
instancias de ella puedan funcionar al mismo tiempo con un impacto muy bajo en el
rendimiento de la memoria del dispositivo. El objetivo de esto es proteger a las
aplicaciones, de forma que el cierre o fallo inesperado de alguna de ellas no afecte de
ninguna forma a las dems.


1.1.4 Configuracin de las aplicaciones

Es muy importante en este tipo de aplicaciones el
crear programas separados por cada uno de los posibles
usos que se le d a la aplicacin. De esta manera cada
programa ser ms pequeo y se adaptar mucho mejor
a las caractersticas de los dispositivos mviles. Por tanto,
a la hora del diseo nos plantearemos esta tarea
seriamente, pues finalmente sern varias las ventajas de
hacerlo as. Ya en la fase de implementacin se tendr
que establecer un mecanismo que controle las diferentes
aplicaciones.
En cuanto al diseo del interfaz de usuario, debemos
decidir la correspondencia entre la aplicacin y la
pantalla. Los diseadores en esta fase no deben
considerar cmo los usuarios operarn con el dispositivo
para llevar a cabo una tarea, o cmo se notificar a la
aplicacin las acciones del usuario. Se deben concentrar
slo en el objetivo de la pantalla y en la tarea que
permitir llevar a cabo. Sun recomienda en esta etapa
que se haga un "story board" conteniendo en cada vieta
los requerimientos para la pantalla correspondiente. En
otra fase se decidir qu tipo de controles vamos a utilizar
para realizar entradas de datos y cmo vamos a presentar
la informacin. En este punto, las caractersticas
generales en cuanto a pantalla del dispositivo pueden
marcar claramente el tipo de diseo de interfaz: lo que en
uno se puede disponer en una nica pantalla, en otro
podremos necesitar varias.
El almacenamiento persistente es un aspecto a tener
en cuenta en nuestro diseo. La pregunta a responder es:
qu datos deben sobrevivir a la finalizacin de la
aplicacin y estar disponibles para la siguiente vez que se
vaya a ejecutar? Otra cuestin, que no se debe plantear
en esta fase sino en la de implementacin es qu utilizar
para realizar ese almacenamiento. Una primera respuesta
es aquel formato que se emplee para enviar y recibir
datos entre el dispositivo J2ME y el sistema externo. Con
esto evitamos una fase de conversin de formatos. Si el
dispositivo posee sistemas de ficheros, entonces podemos
optar por la creacin de un fichero con una estructura ms
o menos compleja y usar las bibliotecas de Java para
acceder a ellos. Otra alternativa tambin puede ser
emplear sistemas de gestin de bases de datos
relacionales, aunque en el caso de tener que tener que
almacenar un gran volumen de datos y realizar gran
cantidad de accesos.
Finalmente, debemos tener en cuenta dentro del
diseo aspectos relacionados con la conectividad y con la
entrada / salida, ya que son puntos muy importantes que
van a determinar la portabilidad de la aplicacin. Por
tanto, en este momento deberemos tomar decisiones en
un nivel de abstraccin alto, que luego se concretarn
cuando determinemos claramente el tipo de dispositivo y
sus prestaciones.

1.1.5 El emulador de mvil. Trabajar con un dispositivo fsico. Carga y depuracin de
las aplicaciones
las SDK de Android incorporan otras herramientas muy tiles que
harn las delicias de todo aquel que desee examinar todas las
novedades que incorporan las ltimas versiones de Android a medida
que Google las va lanzando.
Una herramienta muy interesante es el emulador, con el cual, e
incluso aunque no tengamos un telfono o dispositivo Android,
podremos probar todas las versiones existentes de Android en
nuestro ordenador con Windows, Mac OS X o Linux. En Xataka Android
intentaremos echaros una mano en este artculo especial con un
tutorial por cada sistema operativo y uno general para finalizar
la configuracin del emulador en todos ellos. Comencemos.

Todas las versiones del SDK de Android son muy sencillas de
instalar, pero cada una tiene sus lgicas peculiaridades al
dirigirse a plataformas distintas. Para comenzar hemos de visitar
la web oficial de Android Developers, en su apartado dedicado a
las SDK, para proceder a seleccionar y descargar la de nuestro
sistema operativo. Veamos como se hace en cada uno de ellos paso a
paso.


1.1.6 Entender la transformacin de los programas en Java a la configuracin ejecutable
en el mvil.
Desarrollo de Programas para Android se hace habitualmente con el lenguaje de
programacin Java y el conjunto de herramientas de desarrollo ( SDK, Software Development Kit ),
pero hay otras opciones disponibles. En Abril del 2011 existan ms de 200.000 aplicaciones
contabilizadas para Android, con unos 3 millardos de descargas.
2

3
La plataforma Android ha
crecido hasta ser una de las preferidas por los desarrolladores para plataformas mviles. Un
estudio de junio del 2011 indica que el 67% de los desarrolladores para mviles utilizaban la
plataforma en el momento de la publicacin del estudio.
4










1.1.7 Audio y Video. Capacidades de concurrencia