Android basics

7,444 views

Published on

Tutorial of Android. Integration with NetBeans IDE

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
7,444
On SlideShare
0
From Embeds
0
Number of Embeds
1,902
Actions
Shares
0
Downloads
323
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Android basics

  1. 1. 1<br />Android<br />QuickStart<br />Jesús Fontecha Diezma<br />University of Castilla-La Mancha, Spain<br />MAmIResearchLab<br />
  2. 2. 2<br />INTRODUCCIÓN A ANDROID<br /><ul><li>SSOO de Google
  3. 3. Diseñado para ser ejecutado en dispositivos móviles.
  4. 4. Origen: 2007  Open Handset Alliance (OHA)
  5. 5. Basado en el Kernel de Linux
  6. 6. Permite ejecutar aplicaciones en Java + XML</li></ul>Introducción a Android<br /> Elementos<br /> Ciclo de vida: Activity<br /> Procesos<br />Desarrollo con Android<br /> Entorno de trabajo<br /> SDK Android<br /> IDE + Plugin<br /> Crear un proyecto<br /> Estructura <br /> Interfaces gráficas<br /> Componentes gráficos<br />DroidDraw<br /> Algunas librerías<br />
  7. 7. ELEMENTOS<br />3<br /><ul><li>Activity
  8. 8. El más importante
  9. 9. Representa una pantalla individual
  10. 10. Presenta una interfaz gráfica al usuario</li></ul>Listado de nombres y teléfonos<br />publicclassActivityextendsApplicationContext {     protectedvoidonCreate(BundlesavedInstanceState);     protectedvoidonStart();          protectedvoidonRestart();     protectedvoidonResume();     protectedvoidonPause();     protectedvoidonStop();     protectedvoidonDestroy(); }<br />Introducción a Android<br />Elementos<br /> Ciclo de vida: Activity<br /> Procesos<br />Desarrollo con Android<br /> Entorno de trabajo<br /> SDK Android<br /> IDE + Plugin<br /> Crear un proyecto<br /> Estructura <br /> Interfaces gráficas<br /> Componentes gráficos<br />DroidDraw<br /> Algunas librerías<br />Activity 1<br />Agenda telefónica<br />Activity 2<br />Información detallada del contacto<br />
  11. 11. ELEMENTOS<br />4<br />Primera vez<br /><ul><li>Ciclo de vida</li></ul>Cuando es visible<br />Introducción a Android<br />Elementos<br />Ciclo de vida: Activity<br /> Procesos<br />Desarrollo con Android<br /> Entorno de trabajo<br /> SDK Android<br /> IDE + Plugin<br /> Crear un proyecto<br /> Estructura <br /> Interfaces gráficas<br /> Componentes gráficos<br />DroidDraw<br /> Algunas librerías<br />Asignación de memoria<br />Otra actividad en primer plano<br />Cuando se oculta<br />(Clases que extienden de Activity)<br />Finaliza<br />
  12. 12. ELEMENTOS<br />5<br /><ul><li>Services
  13. 13. No tiene interfaz gráfica
  14. 14. Puede ejecutarse en background(= demonio Linux)</li></ul>Amigo Cerca<br />Tiempo<br />Capturar posición GPS<br />Introducción a Android<br />Elementos<br /> Ciclo de vida: Activity<br /> Procesos<br />Desarrollo con Android<br /> Entorno de trabajo<br /> SDK Android<br /> IDE + Plugin<br /> Crear un proyecto<br /> Estructura <br /> Interfaces gráficas<br /> Componentes gráficos<br />DroidDraw<br /> Algunas librerías<br />Objetivo n. pasos<br />Tiempo<br />Capturar datos acelerómetro<br />
  15. 15. ELEMENTOS<br />6<br /><ul><li>Broadcast receivers
  16. 16. Detecta y reacciona ante mensajes o eventos del sistema  Notificaciones broadcast.</li></ul>Otras aplicaciones<br />SMS<br />Cambio zona horaria<br />Batería baja<br />Llamada<br />Tarjeta SD<br />Introducción a Android<br />Elementos<br /> Ciclo de vida: Activity<br /> Procesos<br />Desarrollo con Android<br /> Entorno de trabajo<br /> SDK Android<br /> IDE + Plugin<br /> Crear un proyecto<br /> Estructura <br /> Interfaces gráficas<br /> Componentes gráficos<br />DroidDraw<br /> Algunas librerías<br /><ul><li>No tienen interfaz gráfica
  17. 17. Heredan de la clase BroadcastReceiver</li></li></ul><li>7<br />ELEMENTOS<br /><ul><li>Intents
  18. 18. Elemento básico de comunicación
  19. 19. Mensajes entre componentes
  20. 20. Definen “qué se debe hacer” </li></ul>Mostrar una actividad desde otra<br />Iniciar un servicio<br />Introducción a Android<br />Elementos<br /> Ciclo de vida: Activity<br /> Procesos<br />Desarrollo con Android<br /> Entorno de trabajo<br /> SDK Android<br /> IDE + Plugin<br /> Crear un proyecto<br /> Estructura <br /> Interfaces gráficas<br /> Componentes gráficos<br />DroidDraw<br /> Algunas librerías<br />Enviar mensaje broadcast<br />Iniciar otra aplicación<br /><ul><li>Cualquier activity puede reutilizar funciones de otros componentes
  21. 21. Mediante solicitud en la forma de Intent(invocación)</li></li></ul><li>ELEMENTOS<br />8<br /><ul><li>Views
  22. 22. Componentes básicos para la construcción de la UI
  23. 23. Análogo a los controles de Java o .NET</li></ul>Cuadros de texto<br />Botones<br />Barras de desplazamiento<br />Introducción a Android<br />Elementos<br /> Ciclo de vida: Activity<br /> Procesos<br />Desarrollo con Android<br /> Entorno de trabajo<br /> SDK Android<br /> IDE + Plugin<br /> Crear un proyecto<br /> Estructura <br /> Interfaces gráficas<br /> Componentes gráficos<br />DroidDraw<br /> Algunas librerías<br />Listas desplegables<br />Imágenes<br /><ul><li>Es posible extender la funcionalidad de los controles básicos
  24. 24. Permite la creación de controles personalizados</li></li></ul><li>9<br />ELEMENTOS<br /><ul><li>Content providers
  25. 25. Mecanismos para compartir datos entre aplicaciones.
  26. 26. No se muestran detalles del almacenamiento interno de los datos, su estructura o su implementación.
  27. 27. Podemos acceder a datos de otras aplicaciones</li></ul>Agenda del sistema<br />Introducción a Android<br />Elementos<br /> Ciclo de vida: Activity<br /> Procesos<br />Desarrollo con Android<br /> Entorno de trabajo<br /> SDK Android<br /> IDE + Plugin<br /> Crear un proyecto<br /> Estructura <br /> Interfaces gráficas<br /> Componentes gráficos<br />DroidDraw<br /> Algunas librerías<br />Mi Agenda<br />Almacenamiento (BBDD)  SQLite<br />
  28. 28. 10<br />ELEMENTOS<br /><ul><li>Widgets
  29. 29. Elementos visuales e interactivos
  30. 30. Se muestran en la pantalla principal del terminal
  31. 31. Pueden recibir actualizaciones periódicas
  32. 32. Muestran información de la aplicación al usuario desde la pantalla principal.</li></ul>Introducción a Android<br />Elementos<br /> Ciclo de vida: Activity<br /> Procesos<br />Desarrollo con Android<br /> Entorno de trabajo<br /> SDK Android<br /> IDE + Plugin<br /> Crear un proyecto<br /> Estructura <br /> Interfaces gráficas<br /> Componentes gráficos<br />DroidDraw<br /> Algunas librerías<br />
  33. 33. PROCESOS<br />11<br /><ul><li>Una aplicación Android se ejecuta dentro de un proceso.
  34. 34. El sistema administra la memoria para ese proceso
  35. 35. Su tiempo de vida es controlado por el sistema
  36. 36. Android prioriza los procesos  “jerarquía de procesos”
  37. 37. ForegroundProcess
  38. 38. Primer plano
  39. 39. Aloja una activity en pantalla con la que se interactúa</li></ul>Introducción a Android<br /> Elementos<br /> Ciclo de vida: Activity<br />Procesos<br />Desarrollo con Android<br /> Entorno de trabajo<br /> SDK Android<br /> IDE + Plugin<br /> Crear un proyecto<br /> Estructura <br /> Interfaces gráficas<br /> Componentes gráficos<br />DroidDraw<br /> Algunas librerías<br />onResume() llamado<br />IntentReceiver ejecutándose<br /><ul><li>Eliminados como último recurso por el sistema</li></li></ul><li>12<br />PROCESOS<br /><ul><li>Visible Process
  40. 40. Aloja una activity
  41. 41. No está en primer plano
  42. 42. Ejemplo:
  43. 43. Cuadro de diálogo
  44. 44. ServiceProcess
  45. 45. Aloja un service
  46. 46. No son visibles
  47. 47. Son importantes para el usuario</li></ul>onPause() llamado<br />Introducción a Android<br /> Elementos<br /> Ciclo de vida: Activity<br />Procesos<br />Desarrollo con Android<br /> Entorno de trabajo<br /> SDK Android<br /> IDE + Plugin<br /> Crear un proyecto<br /> Estructura <br /> Interfaces gráficas<br /> Componentes gráficos<br />DroidDraw<br /> Algunas librerías<br />Iniciado con startService()<br />Conexión a servidor<br />Reproducir música<br />
  48. 48. 13<br />PROCESOS<br /><ul><li>BackgroundProcess
  49. 49. Aloja una activity no visible
  50. 50. Su eliminación no repercute en la actividad del usuario
  51. 51. Numerosos en el sistema  Lista de eliminación
  52. 52. EmptyProcess
  53. 53. No aloja ningún componente
  54. 54. ¿Por qué existen?
  55. 55. Mantienen una caché de la aplicación para su próxima activación.
  56. 56. Eliminados con frecuencia para obtener memoria</li></ul>onStop() llamado<br />Introducción a Android<br /> Elementos<br /> Ciclo de vida: Activity<br />Procesos<br />Desarrollo con Android<br /> Entorno de trabajo<br /> SDK Android<br /> IDE + Plugin<br /> Crear un proyecto<br /> Estructura <br /> Interfaces gráficas<br /> Componentes gráficos<br />DroidDraw<br /> Algunas librerías<br />
  57. 57. 14<br />DESARROLLO CON ANDROID<br /><ul><li>¿Qué necesitamos?</li></ul>Conocimientos de Java<br />PC<br />IDE<br />Introducción a Android<br /> Elementos<br /> Ciclo de vida: Activity<br /> Procesos<br />Desarrollo con Android<br /> Entorno de trabajo<br /> SDK Android<br /> IDE + Plugin<br /> Crear un proyecto<br /> Estructura <br /> Interfaces gráficas<br /> Componentes gráficos<br />DroidDraw<br /> Algunas librerías<br />Plugin (ADT)<br />Librerías<br />SDK<br />Emulador<br />DVM<br />
  58. 58. SDK ANDROID<br />15<br /><ul><li>Instalar NetBeans
  59. 59. Instalar SDK Android
  60. 60. Configuramos el SDK de Android
  61. 61. Menú Settings</li></ul>Seleccionar<br />Introducción a Android<br /> Elementos<br /> Ciclo de vida: Activity<br /> Procesos<br />Desarrollo con Android<br />Entorno de trabajo<br />SDK Android<br /> IDE + Plugin<br /> Crear un proyecto<br /> Estructura <br /> Interfaces gráficas<br /> Componentes gráficos<br />DroidDraw<br /> Algunas librerías<br />
  62. 62. SDK ANDROID<br />16<br /><ul><li>Creamos el emulador
  63. 63. Virtual Device  New
  64. 64. Seleccionamos sus funcionalidades
  65. 65. Añadimos el plugin de Android en NetBeans
  66. 66. Tools/Plugins/Settings/Add</li></ul>Introducción a Android<br /> Elementos<br /> Ciclo de vida: Activity<br /> Procesos<br />Desarrollo con Android<br />Entorno de trabajo<br />SDK Android<br /> IDE + Plugin<br /> Crear un proyecto<br /> Estructura <br /> Interfaces gráficas<br /> Componentes gráficos<br />DroidDraw<br /> Algunas librerías<br />http://kenai.com/downloads/nbandroid/updates.xml<br />Insertar la URL<br />https://dl-ssl.google.com/android/eclipse/<br />Para Eclipse<br />
  67. 67. IDE + PLUGIN<br />17<br /><ul><li>Instalamos el plugin
  68. 68. Availableplugins
  69. 69. Searchtextfield: “android”
  70. 70. Chekear e instalar</li></ul>Introducción a Android<br /> Elementos<br /> Ciclo de vida: Activity<br /> Procesos<br />Desarrollo con Android<br />Entorno de trabajo<br /> SDK Android<br />IDE + Plugin<br /> Crear un proyecto<br /> Estructura <br /> Interfaces gráficas<br /> Componentes gráficos<br />DroidDraw<br /> Algunas librerías<br /><ul><li>Comprobar que se ha instalado el servicio Android</li></ul>Servicio Android<br />
  71. 71. 18<br />IDE + PLUGIN<br /><ul><li>Añadimos la plataforma de Java
  72. 72. Tools/Java Platform/AddPlatform
  73. 73. Añadimos una de Google Android
  74. 74. Buscamos la carpeta del SDK
  75. 75. Finalizamos</li></ul>Introducción a Android<br /> Elementos<br /> Ciclo de vida: Activity<br /> Procesos<br />Desarrollo con Android<br />Entorno de trabajo<br /> SDK Android<br />IDE + Plugin<br /> Crear un proyecto<br /> Estructura <br /> Interfaces gráficas<br /> Componentes gráficos<br />DroidDraw<br /> Algunas librerías<br />
  76. 76. CREAR UN PROYECTO<br />19<br /><ul><li>Creamos un proyecto Android en el IDE
  77. 77. File/New Project</li></ul>importandroid.app.Activity;importandroid.os.Bundle;importandroid.widget.TextView;<br />publicclassHelloAndroidextendsActivity {/** Calledwhentheactivityisfirstcreated. */ @OverridepublicvoidonCreate(BundlesavedInstanceState) {super.onCreate(savedInstanceState);TextView tv = new TextView(this);tv.setText(“Hola Mundo”);setContentView(tv); }}<br />Introducción a Android<br /> Elementos<br /> Ciclo de vida: Activity<br /> Procesos<br />Desarrollo con Android<br />Entorno de trabajo<br /> SDK Android<br /> IDE + Plugin<br />Crear un proyecto<br /> Estructura <br /> Interfaces gráficas<br /> Componentes gráficos<br />DroidDraw<br /> Algunas librerías<br />Hola Mundo<br />
  78. 78. 20<br />ESTRUCTURA<br /><ul><li>Estructura de directorios
  79. 79. /src – Actividades, clases y archivo R.java
  80. 80. R.java: Autogenerado por Android (vbles. sistema)
  81. 81. /res/drawable – Imágenes de la aplicación
  82. 82. /res/layout – Vistas de la aplicación en XML
  83. 83. /res/values – Archivos XML con las variables de la aplicación
  84. 84. Libraries – El IDE referencia al SDK de Android
  85. 85. AndroidManifest.xml – Archivo de manifiesto
  86. 86. Define todas las actividades
  87. 87. Define la configuración del proyecto
  88. 88. Ejecución y emulación: Dalvik Virtual Machine (DVM)</li></ul>Introducción a Android<br /> Elementos<br /> Ciclo de vida: Activity<br /> Procesos<br />Desarrollo con Android<br />Entorno de trabajo<br /> SDK Android<br /> IDE + Plugin<br /> Crear un proyecto<br /> Estructura <br /> Interfaces gráficas<br /> Componentes gráficos<br />DroidDraw<br /> Algunas librerías<br />
  89. 89. 21<br />INTERFACES GRÁFICAS<br /><ul><li>Son recursos de nuestra aplicación
  90. 90. Se almacenan en /res
  91. 91. Archivos XML
  92. 92. Layouts y componentes
  93. 93. La separación de lógica e interfaz favorece la aplicación del patrón Modelo-Vista-Controlador (MVC)</li></ul>Controlador<br /><ul><li>Responsable de eventos
  94. 94. Lógica tras la interacción del usuario</li></ul>Introducción a Android<br /> Elementos<br /> Ciclo de vida: Activity<br /> Procesos<br />Desarrollo con Android<br />Entorno de trabajo<br /> SDK Android<br /> IDE + Plugin<br /> Crear un proyecto<br /> Estructura <br /> Interfaces gráficas<br /> Componentes gráficos<br />DroidDraw<br /> Algunas librerías<br /><ul><li>Representación de la </li></ul> información<br />- Interfaz de usuario<br />Modelo<br />Vista<br />
  95. 95. 22<br />COMPONENTES GRÁFICOS<br /><ul><li>Layouts. Distribución de componentes en pantalla</li></ul><?xmlversion="1.0" encoding="utf-8"?> <br /><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android" <br />android:orientation="vertical" android:layout_width="fill_parent" <br />android:layout_height="fill_parent"> <br /> <Buttonandroid:text="Button01" android:id="@+id/Button01" <br />android:layout_width="wrap_content" <br />android:layout_height="wrap_content" /> <br /> <Buttonandroid:text="Button02" android:id="@+id/Button02" <br />android:layout_width="wrap_content" <br />android:layout_height="wrap_content" /> <br /></LinearLayout><br />Linear Layout<br />Introducción a Android<br /> Elementos<br /> Ciclo de vida: Activity<br /> Procesos<br />Desarrollo con Android<br />Entorno de trabajo<br /> SDK Android<br /> IDE + Plugin<br /> Crear un proyecto<br /> Estructura <br />Interfaces gráficas<br />Componentes gráficos<br />DroidDraw<br /> Algunas librerías<br /><?xmlversion="1.0" encoding="utf-8"?> <br /><TableLayoutandroid:id="@+id/TableLayout01" <br />android:layout_width="fill_parent" android:layout_height="fill_parent“<br />xmlns:android="http://schemas.android.com/apk/res/android"> <br /> <TableRowandroid:id="@+id/TableRow01"> <br /> <TextViewandroid:id="@+id/TextView01" <br />android:text="FirstName:" android:width="100px" /> <br /> <EditTextandroid:id="@+id/EditText01" android:width="220px" /> <br />…<br /> <TableRowandroid:id="@+id/TableRow03"> <br /> <Buttonandroid:id="@+id/Button01“ … <br />android:layout_height="wrap_content" android:text="Submit" /> <br /> <Buttonandroid:id="@+id/Button02" android:layout_<br />width="wrap_content" android:layout_...<br /> </TableRow> <br /></TableLayout> <br />TableLayout<br />
  96. 96. 23<br />COMPONENTES GRÁFICOS<br /><?xmlversion="1.0" encoding="utf-8"?> <br /><RelativeLayoutandroid:id="@+id/RelativeLayout01" <br />android:layout_width="fill_parent“ android:layout_height="fill_parent" <br />xmlns:android="http://schemas.android.com/apk/res/android"> <br /> <TextViewandroid:id="@+id/TextView01 … /> <br /> <EditTextandroid:id="@+id/EditText01" android:layout_width="220px“ …<br />android:layout_toRightOf="@+id/TextView01" <br />android:layout_below="@+id/RelativeLayout01" /> <br /> <EditTextandroid:id="@+id/EditText02" … android:layout_below="@+id/EditText01" <br />android:layout_alignLeft="@+id/EditText01" /> <br /> <TextViewandroid:id="@+id/TextView02" android:layout_width=…<br /> <Buttonandroid:text="Submit" android:id="@+id/Button01” …<br />android:layout_below="@id/EditText02" android:layout_alignLeft="@id/EditText02" /> <br /> <Buttonandroid:text="Reset" android:id="@+id/Button02“ … <br />android:layout_below="@id/EditText02" android:layout_alignRight="@id/EditText02" /> <br /></RelativeLayout><br />RelativeLayout<br />Introducción a Android<br /> Elementos<br /> Ciclo de vida: Activity<br /> Procesos<br />Desarrollo con Android<br />Entorno de trabajo<br /> SDK Android<br /> IDE + Plugin<br /> Crear un proyecto<br /> Estructura <br />Interfaces gráficas<br />Componentes gráficos<br />DroidDraw<br /> Algunas librerías<br /><?xmlversion="1.0" encoding="utf-8"?> <br /><AbsoluteLayoutandroid:id="@+id/AbsoluteLayout01" <br />android:layout_width="fill_parent" android:layout_height="fill_parent" <br />xmlns:android="http://schemas.android.com/apk/res/android"> <br /> <EditTextandroid:id="@+id/EditText01" android:layout_width="200px" <br />android:layout_height="wrap_content" android:layout_x="12px" android:layout_y="12px" /> <br /> <Buttonandroid:text="Search" android:id="@+id/Button01" android:layout_width="100px" <br />android:layout_height="wrap_content" android:layout_x="220px" android:layout_y="12px" /> <br /></AbsoluteLayout><br />AbsoluteLayout<br />
  97. 97. 24<br />COMPONENTES GRÁFICOS<br /><?xmlversion="1.0" encoding="utf-8"?> <br /><FrameLayoutandroid:id="@+id/FrameLayout01" android:layout_width="fill_parent" <br />android:layout_height="fill_parent" <br />xmlns:android="http://schemas.android.com/apk/res/android"> <br /> <ImageViewandroid:id="@+id/ImageView01" android:src="@drawable/android" <br />android:layout_width="fill_parent" <br />android:layout_height="fill_parent" android:scaleType="center" /> <br /> <TextViewandroid:text="AndroidPartaker" android:id="@+id/TextView01" <br />android:layout_width="wrap_content" android:layout_height="wrap_content" <br />android:layout_marginBottom="20dip" android:layout_gravity="center_horizontal|bottom" <br />android:padding="10dip" android:textColor="#AA0000" <br />android:textStyle="bold" android:textSize="20px" android:background="#00000000" /> <br /></FrameLayout><br />FrameLayout<br />Introducción a Android<br /> Elementos<br /> Ciclo de vida: Activity<br /> Procesos<br />Desarrollo con Android<br />Entorno de trabajo<br /> SDK Android<br /> IDE + Plugin<br /> Crear un proyecto<br /> Estructura <br />Interfaces gráficas<br />Componentes gráficos<br />DroidDraw<br /> Algunas librerías<br />Source: http://androidpartaker.wordpress.com/2010/07/03/introduction-to-android-ui-layouts/<br />
  98. 98. COMPONENTES GRÁFICOS<br />25<br /><ul><li>Controles. </li></ul>Button<br />EditText<br />ProgressBar<br />AnalogClock<br />DigitalClock<br />RadioButton<br />TimePicker<br />RadioGroup<br />TextView<br />Gallery<br />List View<br />Spinner<br />DatePicker<br />CheckBox<br />ImageButton<br />Introducción a Android<br /> Elementos<br /> Ciclo de vida: Activity<br /> Procesos<br />Desarrollo con Android<br />Entorno de trabajo<br /> SDK Android<br /> IDE + Plugin<br /> Crear un proyecto<br /> Estructura <br />Interfaces gráficas<br />Componentes gráficos<br />DroidDraw<br /> Algunas librerías<br />Grid View<br />AutoCompleteTextview<br />ImageView<br /><ul><li>Eventos.
  99. 99. Se gestionan a través de Listeners
  100. 100. Se implementa el método que captura el evento</li></li></ul><li>26<br />DROID DRAW<br /><ul><li>No integrado en el IDE ni en el SDK
  101. 101. Eclipse integra un GraphicalLayout
  102. 102. Diseño visual de la UI
  103. 103. Arrastrar componentes
  104. 104. Generar XML
  105. 105. Copiar XML</li></ul>Introducción a Android<br /> Elementos<br /> Ciclo de vida: Activity<br /> Procesos<br />Desarrollo con Android<br />Entorno de trabajo<br /> SDK Android<br /> IDE + Plugin<br /> Crear un proyecto<br /> Estructura <br />Interfaces gráficas<br /> Componentes gráficos<br />DroidDraw<br /> Algunas librerías<br />
  106. 106. 27<br />ALGUNAS LIBRERÍAS<br /><ul><li>Set de librerías escritas en C/C++
  107. 107. Usadas por el desarrollador a través del framework Java de Android</li></ul>Implementación biblioteca C estándar<br />Bibliotecas de medios<br />Introducción a Android<br /> Elementos<br /> Ciclo de vida: Activity<br /> Procesos<br />Desarrollo con Android<br />Entorno de trabajo<br /> SDK Android<br /> IDE + Plugin<br /> Crear un proyecto<br /> Estructura <br />Interfaces gráficas<br /> Componentes gráficos<br />DroidDraw<br />Algunas librerías<br />Bibliotecas de gráficos<br />Bibliotecas OpenGL 3D<br />Biblioteca SQLite<br />REFERENCIA: http://developer.android.com/index.html<br />
  108. 108. 28<br />Jesús Fontecha Diezma<br />Android Quick Start<br />

×