1. INTRODUCCIàN ............................................................................................... 11
1.1. Acerca de este libro ................................................................................... 11
1.2. A qui?n va dirigido ..................................................................................... 11
1.3. Resumen de los contenidos ...................................................................... 12
1.4. Requerimientos ......................................................................................... 13
1.5. Cr?ditos y Agradecimientos ...................................................................... 14
2. ESCRIBIR Y MANIPULAR TEXTO ............................................................... 15
2.1. Actividad b sica: Hola Android ................................................................. 15
2.2. Color de fondo y formato del texto ............................................................ 16
2.3. Modificando el texto desde Java ............................................................... 18
2.4. Modificando el color desde Java ............................................................... 19
2.5. A¿adir texto adicional con addView .......................................................... 20
2.6. Definir un m?todo print() .......................................................................... 21
2.7. Escribiendo resultados de operaciones .................................................... 23
2.8. Ejemplo: una tabla del seno ...................................................................... 25
2.9. A¿adir texto con Append() ........................................................................ 25
2.10. Extendiendo la pantalla con ScrollView .................................................... 26
3. BOTONES ........................................................................................................... 29
3.1. Definici¢n de un bot¢n en el layout ........................................................... 29
3.2. Caso de dos botones ................................................................................ 32
3.3. Uso de Toast para mostrar un mensaje emergente ................................. 34
3.4. Cambiar el texto de un bot¢n .................................................................... 36
3.5. Cambiar el color de los botones ................................................................ 37
3.6. Calculadora ............................................................................................... 39
4. INTRODUCCIàN DE TEXTOS ....................................................................... 47
4.1. TextField .................................................................................................... 47
4.2. OnKeyListener ........................................................................................... 49
4.3. Forma alternativa de implementar OnKeyListener ................................... 52
5. GUARDAR DATOS CON SharedPreferences ................................................. 54
6. ACTIVIDADES ................................................................................................... 59
6.1. Uso de Intent para iniciar actividades ....................................................... 59
6.2. Pasar valores num?ricos entre actividades .............................................. 62
7. MANEJO DE FICHEROS .................................................................................. 64
7.1. Escribir datos en un fichero en la tarjeta SD ............................................. 64
7.2. Leer un fichero en el directorio res ............................................................ 67
8. GRµFICOS .......................................................................................................... 70
8.1. Dibujando en un Canvas ........................................................................... 70
8.2. Formato del texto ...................................................................................... 72
8.3. Altura del canvas ....................................................................................... 74
8.4. Dimensiones del canvas .......................................................................... 76
8.5. Formas geom?tricas .................................................................................. 78
8.6. Curvas ....................................................................................................... 80
8.7. Traslaciones y rotaciones ......................................................................... 82
8.8. Texto siguiendo una curva ........................................................................ 83
8.9. Caracteres Unicode ................................................................................... 85
8.10. LayoutParams ........................................................................................... 87
9. GRµFICOS INTERACTIVOS .......................................................................... 91
9.1. Evento ACTION_DOWN ........................................................................... 91
9.2. Evento ACTION_UP .................................................................................. 93
9.3. Evento ACTION_MOVE ............................................................................ 94
9.4. Dibujar en la pantalla ................................................................................. 96
9.5. Mover objetos ............................................................................................ 98
10. IMµGENES ....................................................................................................... 101
10.1. Insertar una imagen en el layout ............................................................. 101
10.2. Controlando las im genes en Java ......................................................... 102
10.3. Botones con im genes ............................................................................ 106
10.4. Insertar im genes en un canvas ............................................................. 110
10.5. Ajustar imagen a las dimensiones de la pantalla .................................... 113
11. REPRODUCIR SONIDO ................................................................................. 116
11.1. Uso de MediaPlayer ................................................................................ 116
11.2. Reproducir efectos de sonido ................................................................. 117
12. APLICANDO TEMAS ...................................................................................... 121
12.1. Tema por defecto .................................................................................... 121
12.2. Tema NoTitleBar ..................................................................................... 123
12.3. Tema Dialog ............................................................................................ 124
12.4. Tema Light .............................................................................................. 125
13. RECURSOS ....................................................................................................... 127
13.1. El recurso string ...................................................................................... 127
13.2. El recurso color ....................................................................................... 129
13.3. Usando recursos en un Layout ............................................................... 131
14. HILOS Y CONTROLADORES ....................................................................... 137
14.1. Ejecuciones en background con Thread ................................................. 137
14.2. Di logos de progreso .............................................................................. 141
14.3. Interfaz Runnable .................................................................................... 145
14.4. Notificaciones .......................................................................................... 149
15. ANIMACIONES ................................................................................................ 155
15.1. Movimiento uniforme. La bola botadora .................................................. 155
15.2. Movimiento acelerado. La bola botadora II ............................................. 159
15.3. Conservaci¢n de la energ¡a .................................................................... 161
15.4. Simulaci¢n de ca¡da con ligadura ........................................................... 163
APNDICE A ............................................................................................................. 173
ELEMENTOS DE JAVA ................................................................................... 173
A.1. Programa b sico de Java con Android ..................................................... 173
A.2. Variables ................................................................................................... 177
A.3. Conversi¢n de variables............................................................................ 179
A.4. Operaciones con variables ....................................................................... 181
A.5. Funciones matem ticas ............................................................................ 183
A.6. Bloque if-else ............................................................................................ 186
A.7. Bucles for .................................................................................................. 188
A.8. Bucle while ................................................................................................ 189
A.9. Bloques switch .......................................................................................... 192
A.10. M?todos .................................................................................................. 193
A.11. Clases y objetos ...................................................................................... 196
A.12. Sub-clases .............................................................................................. 203
A.13. Variables y m?todos est ticos y finales .................................................. 206
A.14. Arrays ..................................................................................................... 208
A.15. Arrays 2D ................................................................................................ 210
A.16. Cadenas .................................................................................................. 213
A.17. Formato num?rico ................................................................................... 217
A.18. Manejo de Excepciones .......................................................................... 220
A.19. Interfaces ................................................................................................ 223
A.20. Clases an¢nimas ..................................................................................... 227
A.21. Otras caracter¡sticas de Java ................................................................. 232
A.21.1. Paquetes .............................................................................................. 232
A.21.2. Clases p£blicas .................................................................................... 232
A.21.3. Privilegios de acceso de los m?todos y variables ............................... 232
A.21.4. Clases y m?todos abstractos ............................................................... 233
APNDICE B ............................................................................................................. 234
HERRAMIENTAS DE DESARROLLO DE ANDROID ..................................... 234
B.1. Eclipse ..................................................................................................... 234
B.1.1. Problemas en la instalaci¢n ................................................................... 234
B.1.2. Importar una clase Java de otro proyecto ............................................. 234
B.1.3. Importar un proyecto completo ya existente .......................................... 235
B.2. Android Virtual Device (AVD) .................................................................... 236
B.3. Dalvik Debug Monitor Server (DDMS) ...................................................... 236
B.4. Instalar driver dispositivo Android de Samsung en Linux (Ubuntu
Jaunty) ..................................................................................................... 237
APNDICE C ............................................................................................................. 238
APLICACIONES ............................................................................................... 238
C.1. Interacci¢n neutr¢n-prot¢n ........................................................................ 238
C.2. Ajuste por m¡nimos cuadrados ................................................................. 243
C.3. Energ¡a del Helio-4 ................................................................................... 257
BIBLIOGRAFÖA ........................................................................................................ 267
Android es el sistema operativo de Google para smartphones, tablets, y otros dispositivos móviles. En este libro se presentan, de una forma práctica, comprensible y concisa, los conceptos esenciales para desarrollar sus propias aplicaciones de Android, programando en lenguaje Java. El lector aprenderá a programar interfaces de usuario, entrada y salida de datos, lectura y escritura de ficheros, herramientas gráficas, gráficos interactivos, visualización de imágenes, reproducción de sonido, temas, recursos, procesos en background, diálogos de progreso, notificaciones, animaciones gráficas y simulaciones. Se incluye un apéndice Elementos de Java para el lector que no conozca el lenguaje de programación Java. Para lectores más avanzados, el libro se complementa con otro apéndice donde se introduce una completa aplicación científica para Android.Todos los conceptos se introducen con ejemplos que consisten en programas sencillos ilustrando algún aspecto concreto de Android o de Java. Todos los ejemplos se acompañan con capturas de pantalla.Este libro está dirigido a estudiantes, profesores y en general al principiante con escasos o nulos conocimientos de Java que quiere escribir rápidamente sus propios programas. También al profesional que quiere iniciarse de forma rápida en el desarrollo de aplicaciones para Android.José Enrique Amaro Sorinano es Doctor en Ciencias Físicas y Profesor Titular de la Universidad de Granada. Desarrolla su docencia e investigación en el departamento de Física Atómica, Molecular y Nuclear. Es investigador responsable del Grupo de Física Nuclear a Energías Intermedias y miembro del Instituto Carlos I de Física Teórica y Computacional. Actualmente imparte un curso de Programación de Android para Científicos en la Escuela de Posgrado de la Universidad de Gr
Android es el sistema operativo de Google para smartphones, tablets, y otros dispositivos móviles. En este libro se presentan, de una forma práctica, comprensible y concisa, los conceptos esenciales para desarrollar sus propias aplicaciones de Android, programando en lenguaje Java. El lector aprenderá a programar interfaces de usuario, entrada y salida de datos, lectura y escritura de ficheros, herramientas gráficas, gráficos interactivos, visualización de imágenes, reproducción de sonido, temas, recursos, procesos en background, diálogos de progreso, notificaciones, animaciones gráficas y simulaciones. Se incluye un apéndice Elementos de Java para el lector que no conozca el lenguaje de programación Java. Para lectores más avanzados, el libro se complementa con otro apéndice donde se introduce una completa aplicación científica para Android. Todos los conceptos se introducen con ejemplos que consisten en programas sencillos ilustrando algún aspecto concreto de Android o de Java. Todos los ejemplos se acompañan con capturas de pantalla. Este libro está dirigido a estudiantes, profesores y en general al principiante con escasos o nulos conocimientos de Java que quiere escribir rápidamente sus propios programas. También al profesional que quiere iniciarse de forma rápida en el desarrollo de aplicaciones para Android. José Enrique Amaro Sorinano es Doctor en Ciencias Físicas y Profesor Titular de la Universidad de Granada. Desarrolla su docencia e investigación en el departamento de Física Atómica, Molecular y Nuclear. Es investigador responsable del Grupo de Física Nuclear a Energías Intermedias y miembro del Instituto Carlos I de Física Teórica y Computacional. Actualmente imparte un curso de Programación de Android para Científicos en la Escuela de Posgrado de la Universidad de Granada.