- José Enrique Amaro Soriano
- Android
- index_split_005.html
1. INTRODUCCIÓN
1.1. Acerca de este
libro
Aunque el
sistema operativo Android tiene apenas unos años de vida, la
librería Java de Android consiste ya en más de 150 paquetes (APIs),
que contienen miles de clases, métodos, interfaces y constantes.
Todas estas clases están documentadas en la página web de
Android
Developers. La vasta extensión
del software de desarrollo de Android (SDK) puede resultar
extremadamente abrumadora para el que se acerca por primera vez a
este sistema, especialmente si también es nuevo en el lenguaje de
programación Java. La bibliografía existente tiende a estar
dirigida a profesionales y los pocos libros introductorios están
enfocados a construir completas aplicaciones de telefonía, que por
su extensión y complejidad contribuyen a incrementar la frustración
del principiante. En muchos casos se requiere un conocimiento
avanzado de Java. Los manuales de Android ilustran todo tipo de
aplicaciones para controlar sensores, enviar SMS, utilizar el GPS,
acceso a servicios de internet, juegos, telefonía, fotografía,
video, música, etc. Pero en general se pasa por alto que los
dispositivos Android son verdaderos ordenadores que pueden
utilizarse también para cálculo numérico y aplicaciones científicas
y técnicas, tanto para docencia como para uso profesional e
investigación. Con Android es posible realizar aplicaciones de
cálculo y literalmente llevárselas en el
bolsillo.
En este libro
pretendemos hacer un acercamiento distinto a Android. No
introduciremos toda la artillería de Android necesaria para
escribir complejas aplicaciones de calidad profesional para
publicarlas en el mercado Android. Se trata de presentar en pocas
páginas las herramientas necesarias para poder realizar en poco
tiempo programas sencillos de computación para uso científico y
técnico, aunque no se descartan otras aplicaciones en los estudios,
en el trabajo, artísticas o, simplemente, para ocio o disfrute
personal.
1.2. A quién va
dirigido
Este libro
está dirigido al principiante con escasos o nulos conocimientos de
Java, que quiere escribir rápidamente programas para uso personal.
En particular, podrán beneficiarse de este libro los estudiantes,
profesores, científicos o profesionales de cualquier tipo, con
conocimientos previos de algún lenguaje de programación, que
pretendan utilizar sus dispositivos Android para ejecutar sus
propias aplicaciones.
Siguiendo la
filosofía de que un ejemplo vale más que mil palabras, introducimos
los conceptos mediante ejemplos que consisten en pequeñas
aplicaciones que ilustran algún aspecto concreto de Android. Todos
los ejemplos se acompañan con capturas de la pantalla. El resultado
es un acercamiento rápido y práctico al
sistema.
1.3. Resumen de los
contenidos
En las
primeras noventa páginas (capítulos 2 a
8), se introducen los
conceptos esenciales para escribir completas aplicaciones Android
con funciones de entrada y salida de datos, lectura y escritura de
ficheros, y herramientas gráficas, utilizando sólo un pequeño
conjunto de clases y métodos de la librería de Android. A
continuación, se introducen otras herramientas no esenciales,
aunque igualmente asequibles, como gráficos interactivos
(capítulo 9), manejo de
imágenes (capítulo 10), sonido
(capítulo 11), temas
(capítulo 12) y
recursos (capítulo 13).
El capítulo 14 introduce
ya conceptos más avanzados, incluyendo procesos, controladores,
diálogos de progreso y notificaciones. Finalmente el
capítulo 15 describe
cómo realizar animaciones gráficas, con aplicación directa a
simulaciones.
El libro se
complementa con un apéndice de introducción al lenguaje de
programación Java, usando exclusivamente Android (apéndice A). El lector
que no conozca Java podrá adquirir las nociones básicas de este
lenguaje estudiando el apéndice A, a la vez que avanza en el
estudio del capítulo 2.
Aunque en este
libro no se describe el software específico para desarrollo de
Android (editores, compiladores, emuladores, etc), el apéndice B
contiene algunas notas sobre el uso de estas herramientas, que
pueden ser útiles en algún momento.
Finalmente, en
el apéndice C aplicamos los conceptos y técnicas introducidas en
este libro para realizar un programa completo de cálculo
científico.
Algunos de los
ejemplos de este libro pueden descargarse de la página web del
autor:
http://www.ugr.es/~amaro/android
Estas
aplicaciones podrán ser instaladas directamente en un dispositivo
Android, o podrán ser examinadas y modificadas por el usuario,
puesto que se proporciona su código fuente.
1.4. Requerimientos
Para poder
seguir los ejemplos de este libro, el lector debe instalar
el Android
Software Development Kit (SDK)
en su ordenador. Este software funciona con todos los sistemas
operativos y se puede descargar gratuitamente de la página web
de Android
Developers:
http://developer.android.com/sdk/index.html
La instalación
del Android SDK está perfectamente documentada siguiendo los links
de dicha página, o directamente en:
http://developer.android.com/sdk/installing.html
En particular,
puesto que Android utiliza Java, también será necesario instalar
previamente el kit de desarrollo de Java, o JDK
(Java
Development Kit) de la página
web de oracle:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
Se recomienda
seguir los ejemplos de este libro usando el programa Eclipse.
Eclipse es un entorno de desarrollo interactivo (IDE) que facilita
el desarrollo de aplicaciones Java y Android. Permite editar,
compilar, ejecutar y depurar las aplicaciones Android. Eclipse es
gratuito y se descarga de la página de Eclipse
Foundation:
http://www.eclipse.org
Además,
Eclipse importa automáticamente los paquetes de Java necesarios
para nuestra aplicación y permite corregir sobre la marcha errores
de programación.
En la página
de Android
Developers se explica cómo
crear una nueva aplicación de Android usando Eclipse. En
particular, recomendamos encarecidamente, como primer paso para
programar en Android, visitar primero la siguiente
página, donde se documenta con
todo detalle cómo crear la aplicación básica de Android
hello-world:
http://developer.android.com/resources/tutorials/hello-world.html
Siguiendo
todas las instrucciones indicadas en esta página, el lector será
capaz de ejecutar, desde Eclipse, su primera aplicación de Android
en el emulador, la cual será el punto de partida del
capítulo 2.
1.5. Créditos y
Agradecimientos
El material de
este libro fue inicialmente concebido para un proyecto de
innovación docente de la Universidad de Granada, dirigido por el
autor en el Departamento de Física Atómica, Molecular y
Nuclear.
Sus contenidos
conforman también el material didáctico para un curso de la Escuela
de Posgrado de la Universidad de Granada, titulado
Desarrollo de
Aplicaciones de Android para Científicos. El curso está dirigido a universitarios de las ramas
de Ciencias, Ingenierías y Arquitectura y tiene una carga lectiva
de 75 horas totales y 30 horas presenciales, correspondientes a 3
créditos ECTS.
Todos los
programas y ejemplos son originales del autor. Todas las
fotografías, excepto las indicadas, son propiedad del
autor.
Las
fotografías de los físicos Bohr, Plank, Pauli y Schrödinger
utilizadas en el ejemplo 8.3 están en el dominio público y han sido
descargadas de la Wikipedia, donde están almacenadas como archivos
de Wikimedia Commons.
Todos los
dibujos y gráficos son obra del autor.
Agradezco a
Enrique Ruiz Arriola y Rodrigo Navarro su permiso para adaptar a
Android y publicar en el Apéndice C el programa de ajuste de la
interacción neutrón-protón y el cálculo de la energía del núcleo de
helio-4. Dicho programa ha sido realizado en el ámbito del proyecto
de investigación del Plan Nacional de I+D+i, del Ministerio de
Ciencia e Innovación, titulado Dinámica de Sistemas Hadrónicos en
Física Nuclear a Energías Intermedias.
Finalmente,
agradezco a Miguel Ángel por haber convertido a Word todo el libro
desde su formato original en LaTeX.