TY - BOOK AU - JOSE ENRIQUE AMARO SORIANO TI - ANDROID: PROGRAMACION DE DISPOSITIVOS MOVILES A TRAVES DE EJEMPLOS SN - 9786077073703 AV - QA76.76A65 A52 PY - 2012/// CY - México PB - Alfaomega N1 - 1. INTRODUCCIÓN ..............................................................................................11 1.1 Android para principiantes ........................................................................11 1.2 Acerca de este libro ...................................................................................12 1.3 A quién va dirigido .....................................................................................13 1.4 Resumen de los contenidos ......................................................................13 1.5 Novedades de la segunda edición ............................................................14 1.6 Requisitos ..................................................................................................14 1.7 Créditos y agradecimientos .......................................................................15 2. ANDROID STUDIO ............................................................................................17 2.1 El IDE.......................................................................................................17 2.2 Instalación ................................................................................................18 2.3 Configuración de Android Studio .............................................................21 2.4 Creando un nuevo proyecto .....................................................................24 2.5 Ejecución en un dispositivo virtual AVD ...................................................28 2.6 Ejecución en un dispositivo físico ............................................................34 2.7 Empaquetado de aplicaciones ................................................................. 35 3. ESCRIBIR Y MANIPULAR TEXTO ....................................................................38 3.1 Actividad básica: Hola Android ................................................................38 3.2 Activity y LinearLayout .............................................................................40 3.3 Color de fondo y formato del texto ...........................................................44 3.4 Modificando el texto desde Java ..............................................................45 3.5 Modificando el color desde Java ..............................................................47 3.6 Añadir texto adicional con addView .........................................................48 3.7 Definir un método print .............................................................................50 3.8 Escribiendo resultados de operaciones ................................................... 52 3.9 Ejemplo: una tabla del seno .....................................................................53 3.10 Añadir texto con Append ..........................................................................54 3.11 Extendiendo la pantalla con ScrollView ...................................................55 4. BOTONES ..............................................................................................58 4.1 Definición de un botón en el layout ..........................................................58 4.2 Caso de dos botones ...............................................................................62 4.3 Uso de Toast para mostrar un mensaje emergente ................................64 4.4 Cambiar el texto de un botón ...................................................................65 4.5 Cambiar el color de los botones ...............................................................67 4.6 Calculadora ..............................................................................................68 4.7 Implementar OnClick ................................................................................76 5. BARRA DE ACCIÓN E ICONOS .......................................................................81 5.1 Barra de app básica ..................................................................................81 5.2 Barra simple en un layout .........................................................................87 5.3 Un botón con icono en la barra ................................................................. 91 5.4 Añadiendo botones a la barra ...................................................................94 5.5 Botón flotante ............................................................................................96 5.6 Botones con iconos ...................................................................................99 5.7 Botones con Java ....................................................................................102 5.8 Iconos del sistema ...................................................................................104 6. INTRODUCCIÓN DE TEXTOS ........................................................................109 6.1 EditText ...................................................................................................109 6.2 OnKeyListener .........................................................................................112 6.3 Forma alternativa de implementar OnKeyListener ................................. 114 7. GUARDAR DATOS CON SHAREDPREFERENCES ......................................116 8. ACTIVIDADES ............................................................................................122 8.1 Uso de Intent para iniciar actividades .....................................................122 8.2 Pasar valores numéricos entre actividades ............................................126 9. COMPARTIR ............................................................................................128 9.1 Compartir con ShareActionProvider ........................................................128 9.2 Actualizar los datos a compartir ..............................................................134 10.MANEJO DE FICHEROS .................................................................................141 10.1 Permisos de acceso al almacenamiento .................................................141 10.2 Escribir un fichero en la tarjeta SD ..........................................................147 10.3 Almacenamiento externo compartido ......................................................150 10.4 Almacenamiento interno en la tarjeta microSD .......................................152 10.5 Leer un fichero en el directorio res ..........................................................156 10.6 Leer datos numéricos de un recurso .......................................................159 11.GRÁFICOS ............................................................................................162 11.1 Dibujando en un canvas ..........................................................................162 11.2 Formato del texto ....................................................................................166 11.3 Altura del canvas .....................................................................................168 11.4 Diagonales del canvas ............................................................................171 11.5 Formas geométricas ................................................................................173 11.6 Curvas .....................................................................................................176 11.7 Traslaciones y rotaciones .......................................................................178 11.8 Texto siguiendo una curva ......................................................................181 11.9 Caracteres Unicode .................................................................................183 11.10 Añadir gráficos a un Layout ....................................................................186 12.GRÁFICOS INTERACTIVOS ...........................................................................190 12.1 Evento ACTION_DOWN .........................................................................190 12.2 Evento ACTION_UP ................................................................................192 12.3 Evento ACTION_MOVE ..........................................................................194 12.4 Dibujar en la pantalla ...............................................................................195 12.5 Mover objetos ..........................................................................................198 13.IMÁGENES ............................................................................................201 13.1 Insertar una imagen en el layout .............................................................201 13.2 Controlando el tamaño de las imágenes .................................................202 13.3 Controlando las imágenes en Java .........................................................208 13.4 Botones con imágenes ............................................................................211 13.5 Insertar imágenes en un canvas .............................................................217 13.6 Ajustar imagen a las dimensiones de la pantalla ....................................221 14.REPRODUCIR SONIDO ..................................................................................225 14.1 Uso de MediaPlayer ................................................................................225 14.2 Reproducir efectos de sonido ................................................................. 227 15.APLICANDO TEMAS .......................................................................................231 15.1 Tema por defecto ....................................................................................231 15.2 Tema NoActionBar ..................................................................................233 15.3 Tema Dialog ............................................................................................235 15.4 Tema Dark ...............................................................................................235 16.RECURSOS ............................................................................................237 16.1 El recurso string ......................................................................................237 16.2 El recurso color .......................................................................................242 16.3 El recurso dimen .....................................................................................245 17.HILOS Y CONTROLADORES .........................................................................257 17.1 Ejecuciones en background con Thread .................................................257 17.2 Diálogos de progreso ..............................................................................262 17.3 Interfaz Runnable ....................................................................................265 17.4 Notificaciones ..........................................................................................270 18.ANIMACIONES ............................................................................................278 18.1 Movimiento uniforme. La bola botadora ..................................................278 18.2 Movimiento acelerado. La bola botadora II .............................................282 18.3 Conservación de la energía ....................................................................284 18.4 Simulación de caída con ligadura ...........................................................288 APÉNDICE A ............................................................................................297 ELEMENTOS DE JAVA ...................................................................................297 A.1 Programa básico de Java con Android ......................................................297 A.2 Variables ....................................................................................................302 A.3 Conversión de variables.............................................................................303 A.4 Operaciones con variables ........................................................................305 A.5 Funciones matemáticas .............................................................................306 A.6 Bloque if-else .............................................................................................310 A.7 Bucles for ...................................................................................................312 A.8 Bucle while .................................................................................................313 A.9 Bloques switch ...........................................................................................316 A.10 Métodos ...................................................................................................317 A.11 Clases y objetos .......................................................................................320 A.12 Subclases.................................................................................................327 A.13 Variables y métodos estáticos y finales ...................................................330 A.14 Arrays .....................................................................................................333 A.15 Arrays 2D ................................................................................................. 335 A.16 Cadenas ...................................................................................................338 A.17 Formato numérico ....................................................................................342 A.18 Manejo de excepciones ...........................................................................345 A.19 Interfaces ................................................................................................. 347 A.20 Clases anónimas ......................................................................................352 A.21 Otras características de Java ..................................................................357 A.21.1 Paquetes ..........................................................................................357 A.21.2 Clases públicas ................................................................................357 A.21.3 Privilegios de acceso de los métodos y variables ...........................357 A.21.4 Clases y métodos abstractos ...........................................................358 APÉNDICE B ............................................................................................359 HERRAMIENTAS DE DESARROLLO DE ANDROID .....................................359 B.1 Design Support Library .............................................................................359 B.2 Exportar e importar proyectos ...................................................................361 APÉNDICE C ............................................................................................362 VERSIONES DE ANDROID .............................................................................362; Ingenieria en Sistemas Computacionales N2 - 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. ER -