Professional Documents
Culture Documents
ÍNDICE
INTRODUCCIÓN ................................................................................................................ 3
GENERALIDADES Y CONCEPTOS ....................................................................................... 4
Mapa de arquitectura ................................................................................................... 4
Application Framework ................................................................................................ 5
Bloques de construcción de Aplicación ........................................................................ 6
ORÍGENES ......................................................................................................................... 7
Adquisición por parte de Google .................................................................................. 8
Estructura del Sistema Operativo Android. .................................................................. 8
REQUERIMIENTOS PARA DESARROLLO DE PROGRAMAS ................................................ 9
Desarrollo ..................................................................................................................... 9
Programación ............................................................................................................... 9
Arquitectura................................................................................................................ 10
Diagrama de Android.................................................................................................. 10
PROGRAMAS BÁSICOS .................................................................................................... 11
NadaList .......................................................................................................................... 12
ESQUELETO DE UNA APLICACIÓN PARA ANDROID ........................................................ 13
INSTALACIÓN DE APLICATIVOS ....................................................................................... 14
Como instalar el SDK de Android................................................................................ 14
CONCLUSIÓN .................................................................................................................. 15
INTRODUCCIÓN
El siguiente trabajo ha sido creado para dar a conocer a sus lectores los aspectos
generales de la programación en Android, desde cómo instalar los aplicativos
necesarios para su funcionalidad, hasta cómo crear su primera aplicación.
También se darán a conocer algunos conceptos básicos, cómo fue su origen y cómo se
compone la estructura del sistema operativo Android.
GENERALIDADES Y CONCEPTOS
Mapa de arquitectura
Los mapas de arquitectura tienen mucha importancia. Estos mapas explican las capas
de las que está formada el sistema y la dependencia entre ellas. Cada una de las capas
se encapsula y provee una interfaz de comunicación suficiente para que cada capa
cumpla con su requisito obviando las de la capa anterior. Además también muestra las
herramientas que te ofrece la arquitectura.
Héctor A. Alvarenga.
Ingeniería de Software I.
4
Programación en ANDROID.
UFG – Ingeniería y Arquitectura.
Application Framework
Esta capa es la que nos interesa, proporciona los bloques de construcción que se utiliza
para crear aplicaciones. Las partes más interesantes de esta capa son los siguientes:
Héctor A. Alvarenga.
Ingeniería de Software I.
5
Programación en ANDROID.
UFG – Ingeniería y Arquitectura.
Resource Manager: Los recursos son algo que va con su programa que no es
código.
Location Manager: Android siempre sabe tu localización.
Notification manager: Eventos como mensajes recibidos, citas, alertas de
proximidad, las invasiones exóticas, y más se pueden presentar en una manera
discreta para el usuario.
Aunque tampoco hay que olvidar la gestión de llamadas, gestor de paquetes y el
gestor de pantallas.
Activity
Una actividad es una sola, se centra en acciones que el usuario pueda hacer. Cuando
necesitas interaccionar con el usuario debes usar una actividad, esta se encarga de
crear una ventana y gestionarla. Para no dar el toston hablaré del más importante de
sus metodos y la idea de cómo funciona.
Views
Una visión es un objeto que sabe cómo aparecer en pantalla. Se usa cuando necesitas
crear algún gráfico diferente a los que vienen con el SDK.
Intents
Una intención es un mensaje simple objeto que representa una "intención" de hacer
algo. Por ejemplo, si su aplicación necesita para mostrar una página web, expresa su
"intención" para ver la URI de Intención mediante la creación de una instancia y que la
entrega fuera del sistema. El sistema detecta algún otro fragmento de código (en este
caso, el navegador) que sabe cómo manejar esa intención, y lo ejecuta. Intenta
también se puede utilizar para transmitir eventos interesantes (por ejemplo, una
notificación) en todo el sistema.
Héctor A. Alvarenga.
Ingeniería de Software I.
6
Programación en ANDROID.
UFG – Ingeniería y Arquitectura.
Services
Notifications
Una notificación es un pequeño icono que aparece en la barra de estado. Los usuarios
pueden interactuar con este icono para recibir información. Los más conocidos son las
notificaciones de mensajes SMS, llamadas y correo de voz, pero las aplicaciones
pueden crear sus propias.
ContentProviders
Hay que tener claro los tipos de bloques, su función para poder usarlos cuando sean
necesarios en la aplicación.
ORÍGENES
Google liberó la mayoría del código de Android bajo la licencia Apache, una licencia
libre y de código abierto. Actualmente Android posee el 32,9% de cuota de mercado a
escala mundial de los teléfonos inteligentes, por delante de Symbian que tiene 30,6%.
En tercer lugar se sitúa Apple con cuota de mercado del 16%.
Héctor A. Alvarenga.
Ingeniería de Software I.
7
Programación en ANDROID.
UFG – Ingeniería y Arquitectura.
En julio de 2005, Google adquirió Android Inc., una pequeña compañía de Palo Alto,
California. Entre los cofundadores de Android que se fueron a trabajar a Google están
Andy Rubin (co-fundador de Danger), Rich Miner (co-fundador de Wildfire
Communications, Inc.), Nick Sears (alguna vez VP en T-Mobile), y Chris White (quien
encabezó el diseño y el desarrollo de la interfaz en WebTV). En ese entonces, poco se
sabía de las funciones de Android, Inc. fuera que desarrollaban software para teléfonos
móviles. Esto dio pie a rumores de que Google estaba planeando entrar en el mercado
de los teléfonos móviles.
En Google, el equipo liderado por Rubin desarrolló una plataforma para dispositivos
móviles basada en el kernel de Linux que fue promocionado como a fabricantes de
dispositivos y operadores con la promesa de proveer un sistema flexible y actualizable.
Se informó que Google había alineado ya una serie de fabricantes de hardware y
software y señaló a los operadores que estaba abierto a diversos grados de
cooperación por su parte.
Héctor A. Alvarenga.
Ingeniería de Software I.
8
Programación en ANDROID.
UFG – Ingeniería y Arquitectura.
Desarrollo
Android, al contrario que otros sistemas operativos para dispositivos móviles como iOS
o Windows Phone, se desarrolla de forma abierta y se puede acceder tanto al código
fuente como al listado de incidencias donde se pueden ver problemas aún no resueltos
y reportar problemas nuevos.
El que se tenga acceso al código fuente no significa que se pueda tener siempre la
última versión de Android en determinado móvil, porque el código para soportar el
hardware (controladores) de cada fabricante normalmente no es público, así que
faltaría un «trozo» básico del firmware para poder hacerlo funcionar en dicho
terminal, y porque que las nuevas versiones de Android suelen requerir más recursos,
por lo que los modelos más antiguos quedan descartados por razones de memoria
(RAM), velocidad de procesador, etc.
Programación
En la actualidad existen más de 200.000 aplicaciones para Android y se estima que
sobre 300.000 teléfonos móviles se activan diariamente.
Héctor A. Alvarenga.
Ingeniería de Software I.
9
Programación en ANDROID.
UFG – Ingeniería y Arquitectura.
Arquitectura
Los componentes principales del sistema operativo de Android (cada sección se
describe en detalle):
Diagrama de Android.
Núcleo Linux: Android depende de Linux para los servicios base del sistema como
seguridad, gestión de memoria, gestión de procesos, pila de red y modelo de
controladores. El núcleo también actúa como una capa de abstracción entre el
hardware y el resto de la pila de software.
Héctor A. Alvarenga.
Ingeniería de Software I.
10
Programación en ANDROID.
UFG – Ingeniería y Arquitectura.
PROGRAMAS BÁSICOS
2. TableDB. Una librería en Java para Android mediante la cual podremos administrar
nuestra base de datos del programa de una manera sencilla y eficaz, todo a través
de archivos XML donde se escribe la estructura de las tablas.
Mediante esta librería se podrá gestionar una base de datos SQLite dentro Android
de una manera sencilla. Simplemente tendremos que crear un archivo XML y la librería
se encargará de crear las tablas y ofrecernos una API mediante la cual podremos crear,
modificar y eliminar registros de una manera sencilla y eficaz en nuestra aplicación. A
continuación se explica cómo integrar esta librería dentro de nuestro proyecto y algunos
ejemplos de cómo podemos usarla:
Con TableDB no tenemos que crear las sentencias SQL para creación de tablas, los archivos
XML se encargan de esta tarea. El sistema se encargará, la primera vez que se abre la
aplicación, de crear la base de datos y las tablas, además de tener la posibilidad de realizar
una primera carga de registros en las tablas.
Héctor A. Alvarenga.
Ingeniería de Software I.
11
Programación en ANDROID.
UFG – Ingeniería y Arquitectura.
Para ello TableDB trabaja con dos archivos XML que deben de ser guardados dentro de los
recursos de la aplicación en la carpeta "xml" con un nombre específico. Estos son:
NadaList
NadaList es una pequeña utilidad mediante la cual podremos guardar notas en nuestro
móvil con Android. Este programa nace como una ampliación del Tutorial
Oficial de Android mejorando las posibilidades de ese ejemplo,
además de hacer uso de TableDB para la gestión de la Base de
Datos en SQLite.
Título
Descripción de la nota
Categoría. Podremos crear nuestras propias categorías en el
programa
Prioridad. Se le podrá dar una prioridad a las notas del 1 al 5
Geolocalizar las notas. Podemos buscar la posición GPS en cualquier momento
y añadirla como información a una nota. Posteriormente podremos ver en un
mapa la posición.
En el programa podemos acceder a las notas mediante un listado que podremos filtrar
por categorías y que podemos ordenar por diferentes criterios.
Héctor A. Alvarenga.
Ingeniería de Software I.
12
Programación en ANDROID.
UFG – Ingeniería y Arquitectura.
Una aplicación de Android tiene el siguiente esqueleto básico, que hay que
comprender para saber adónde ir cuando quieres crear alguna app:
Directorio Assets: En este directorio se ponen cualquier tipo de fichero externo que
sea necesario en cualquier momento por la aplicación por ejemplo: HTML para el Web
Browser sin necesidad de conexión, tipografias, jar’s de terceros. Es un repositorio de
archivos.
Layout: Ficheros de diseño de las interfaz de usuario. Ficheros xml que describen las
interfaces.
Héctor A. Alvarenga.
Ingeniería de Software I.
13
Programación en ANDROID.
UFG – Ingeniería y Arquitectura.
INSTALACIÓN DE APLICATIVOS
Con descargar la versión Eclipse IDE for Java Developers (85 MB) es suficiente.
Una vez descargado, extraer el zip en la carpeta deseada.
3.1- Añadir Site a instalar plugin: Ir al menu Help/Software Updates aparecerá una
ventana ir a la pestaña Avaliable Updates, Add site y añadir la siguiente
dirección: https://dl-ssl.google.com/android/eclipse/ (Estos pasos dependen de la
versión de Eclipse)
3.2- Instalar el plugin: Una vez añadido la url, podrás seleccionar Developer Tools y
darle a instalar.
IMPORTANTE: Una vez instalado tienes que reiniciar Eclipse para aplicar los
cambios.
Héctor A. Alvarenga.
Ingeniería de Software I.
14
Programación en ANDROID.
UFG – Ingeniería y Arquitectura.
CONCLUSIÓN
Se puede concluir que Android es uno de los sistemas operativos para teléfonos
inteligentes más usados y el de mayor popularidad en el mundo.
Programar para Android puede parecer algo fácil, pero en realidad tiene su
complejidad como todos los lenguajes de programación.
Se puede considerar a Android como una de las industrias que más dinero da, ya que
cada día se pueden observar más teléfonos móviles con una tecnología muy avanzada,
también los gadgets, como los iPad, iPod Touch, TabletsPC, etc. Y la mayoría de estos,
utilizan el sistema operativo Android.
Héctor A. Alvarenga.
Ingeniería de Software I.
15