SlideShare una empresa de Scribd logo
1 de 42
Android
Quick Start v2.0
        Jesús Fontecha Diezma




  University of Castilla-La Mancha, Spain
           MAmI Research Lab
                                            1
Introducción
                             • SSOO de Google
                                • Diseñado para ser ejecutado en dispositivos móviles.
                                • Origen: 2007  Open Handset Alliance (OHA)




Introducción a Android
   Elementos
   Ciclo de vida: Activity
   Patrones de diseño
Desarrollo con Android
   Entorno de trabajo
      SDK Android
      MVC                       • Basado en el Kernel de Linux
      Primeros Pasos
   Views y Eventos              • Permite ejecutar aplicaciones en Java + XML
   Adaptadores
   Intents y Bundles
   Ejecurión y Depuración                                                            2
   Librerías
Actividades
                               • Activity
                                     • El más importante
                                     • Representa una pantalla individual
                                     • Presenta una interfaz gráfica al usuario
                                                                    Listado de nombres y teléfonos


                                                                          public class Activity extends ApplicationContext {
Introducción a Android
                                                                            protected void onCreate(Bundle savedInstanceState);
    Elementos
    Ciclo de vida: Activity                                                   protected void onStart();
    Patrones de diseño                                                        protected void onRestart();
Desarrollo con Android         Agenda
    Entorno de trabajo                                                        protected void onResume();
                              telefónica
       SDK Android                                                            protected void onPause();
       MVC
                                                                              protected void onStop();
       Primeros Pasos
    Views y Eventos                                                           protected void onDestroy();
    Adaptadores                                                           }
    Intents y Bundles
    Ejecurión y Depuración     Información detallada del contacto                                                           3
    Librerías
Ciclo de vida
                                                                               Primera vez


                                                                               Cuando es visible




Introducción a Android              Asignación de memoria
    Elementos
    Ciclo de vida: Activity
    Patrones de diseño
Desarrollo con Android
    Entorno de trabajo
                              Otra actividad en primer plano
       SDK Android
       MVC
       Primeros Pasos
                                                                                Cuando se oculta
    Views y Eventos
    Adaptadores
    Intents y Bundles                                                          Finaliza
    Ejecurión y Depuración                                                                         4
    Librerías
Services y Broadcast Receivers
                              • Services
                                 • No tiene interfaz gráfica
                                 • Puede ejecutarse en background (= demonio Linux)

                                           Capturar datos acelerómetro     Capturar posición GPS



Introducción a Android
    Elementos                 • Broadcast receivers
    Ciclo de vida: Activity
    Patrones de diseño
                                 • No tienen interfaz gráfica
Desarrollo con Android           • Detecta y reacciona ante mensajes o eventos del
    Entorno de trabajo
       SDK Android
                                   sistema  Notificaciones broadcast.
       MVC
       Primeros Pasos
    Views y Eventos             Batería Baja   Llamada   Tarjeta SD      Cambio zona horaria   Otras aplicaciones
    Adaptadores
    Intents y Bundles
    Ejecurión y Depuración                                                                                          5
    Librerías
Intents y Views
                              • Intents
                                  • Elemento básico de comunicación
                                       • Variables/objetos entre componentes
                                       • Definen “qué se debe hacer”        Iniciar un servicio


                               Mostrar una actividad desde otra     Enviar mensaje broadcast    Iniciar otra aplicación

Introducción a Android
    Elementos
    Ciclo de vida: Activity   • Views
    Patrones de diseño
Desarrollo con Android            • Componentes básicos para la construcción de la UI
    Entorno de trabajo
       SDK Android                • Análogo a los controles de Java o .NET
       MVC
       Primeros Pasos              Listas        Cuadros de          Barras de
    Views y Eventos                                                                   Botones        Imágenes
                                desplegables       texto          desplazamiento
    Adaptadores
    Intents y Bundles
    Ejecurión y Depuración                                                                                         6
    Librerías
Content Providers y Widgets
                              • Content providers                 Agenda del sistema

                                 • Mecanismos para compartir
                                   datos entre aplicaciones.
                                 • Podemos acceder a datos de
                                   otras aplicaciones
                                                           Mi
                                                         Agenda
Introducción a Android
    Elementos
    Ciclo de vida: Activity
    Patrones de diseño        • Widgets
Desarrollo con Android
    Entorno de trabajo           • Elementos         visuales e
       SDK Android
       MVC
                                   interactivos
       Primeros Pasos            • Se muestran en la pantalla
    Views y Eventos
    Adaptadores                    principal del terminal
    Intents y Bundles
    Ejecurión y Depuración                                                             7
    Librerías
Fragmentos
                              • Y a partir de Android 3.0 ¡Fragments!
                                   • Solución a la “fragmentación mala”.




Introducción a Android
    Elementos
    Ciclo de vida: Activity
    Patrones de diseño
Desarrollo con Android
    Entorno de trabajo
       SDK Android
       MVC
       Primeros Pasos
    Views y Eventos
    Adaptadores               Más de 4000 dispositivos Android: “muchas resoluciones, muchos tamaños” Argh!!
    Intents y Bundles
    Ejecurión y Depuración                                                                              8
    Librerías
Fragmentos
                              • ¿Qué supone?
                                   • En aplicaciones antiguas:
                                       •  Uso de librerías de apoyo a la compatibilidad
                                         (support libraries).
                                       •  Reescritura de clases
                                   • En aplicaciones nuevas:
Introducción a Android
                                       •  Versatilidad: Misma app compatible para cualquier
    Elementos                            dispositivo.
    Ciclo de vida: Activity
    Patrones de diseño
                                       •  Aumentar la importancia del diseño de las
Desarrollo con Android                   actividades.  Más difícil diseñar una buena app.
    Entorno de trabajo
       SDK Android
                                       •  Reutilización de fragmentos.
       MVC                         • Cambian “un poco” aspectos iniciales de las actividades.
       Primeros Pasos
    Views y Eventos
    Adaptadores               Actividades compuestas por componentes vs Actividades compuestas por fragmentos
    Intents y Bundles
    Ejecurión y Depuración                                                                              9
    Librerías
Patrones de Diseño
                              • Objetivo
                                 • Unificar y mejorar la apariencia de la interfaz gráfica
                                 • http://www.androidpatterns.com/
                                                , listas, pestañas, menús, etc.


Introducción a Android
    Elementos
    Ciclo de vida: Activity
    Patrones de diseño
Desarrollo con Android
    Entorno de trabajo
       SDK Android
       MVC
       Primeros Pasos
    Views y Eventos
    Adaptadores
    Intents y Bundles
    Ejecurión y Depuración           “No es una obligación, pero sí una recomendación”   10
    Librerías
Barras de acción
                              • Action Bar
                                 • Similar a una barra de tareas
                                 • Permite agrupar acciones
                                 • De acceso intuitivo y rápido


Introducción a Android
    Elementos
    Ciclo de vida: Activity
    Patrones de diseño
Desarrollo con Android
    Entorno de trabajo
       SDK Android
       MVC
       Primeros Pasos
    Views y Eventos
    Adaptadores
    Intents y Bundles
    Ejecurión y Depuración                                         11
    Librerías
Ejemplo: Comparación (I)
                              • Misma Aplicación, diferentes dispositivos
                              Galaxy S



                                                Fragmentos
                                    Actividad




Introducción a Android
    Elementos
    Ciclo de vida: Activity
                                                                                  Posibles transiciones
    Patrones de diseño        Galaxy tab 10”
Desarrollo con Android
    Entorno de trabajo
       SDK Android
       MVC
       Primeros Pasos
    Views y Eventos
    Adaptadores
    Intents y Bundles
    Ejecurión y Depuración                                                                                12
    Librerías
Ejemplo: Comparación (II)
                              • Misma Aplicación, mismo dispositivo, diferente orientación




Introducción a Android
    Elementos
    Ciclo de vida: Activity
    Patrones de diseño
Desarrollo con Android
    Entorno de trabajo
       SDK Android
       MVC                        Más trabajo de diseño, pero…
       Primeros Pasos             • ¡Reutilizamos código!
    Views y Eventos
                                  • ¡La aplicación se adapta a cualquier dispositivo Android!
    Adaptadores
    Intents y Bundles
    Ejecurión y Depuración                                                                      13
    Librerías
Desarrollo con Android
                              • ¿Qué necesitamos?
                                                                  Librerías

                                                                  Emulador

                                                                   DVM




Introducción a Android
    Elementos
    Ciclo de vida: Activity
    Patrones de diseño
Desarrollo con Android
    Entorno de trabajo
       SDK Android
       MVC
       Primeros Pasos
    Views y Eventos
    Adaptadores
    Intents y Bundles
    Ejecurión y Depuración                                                    14
    Librerías
SDK ANDROID (sobre Eclipse)
                              1. Instalar Eclipse
                              2. Instalar SDK Android
                                 http://developer.android.com/sdk/index.html
                                 •       Instalar las librerías necesarias

                              3. Añadir un AVD – SDK Manager
                                 •       Tools > Manage AVDs > New
                                 •       Definir características y crear
Introducción a Android        4. Configurar Plugin ADT - Eclipse
    Elementos
    Ciclo de vida: Activity      •       Help > Install New Software
    Patrones de diseño           •       Introducir url proveedor: https://dl-ssl.google.com/android/eclipse/
Desarrollo con Android
    Entorno de trabajo        5. ¡Ya podemos crear nuestro primer proyecto!
       SDK Android
       MVC
       Primeros Pasos
                                     También se puede instalar en otros IDEs - Netbeans (ver Android Basics v.1)
    Views y Eventos
    Adaptadores
    Intents y Bundles
    Ejecurión y Depuración                                                                                         15
    Librerías
Modelo Vista Controlador
                               • La separación de lógica e interfaz favorece la aplicación del
                                 patrón Modelo-Vista-Controlador (MVC)


                                                                        -Responsable de eventos
                                                                        - Lógica tras la interacción del usuario
                                                          Controlador

Introducción a Android
    Elementos
    Ciclo de vida: Activity                                                               -Representación de la
    Patrones de diseño                                                                     información
                              - Interfaz de usuario
Desarrollo con Android
    Entorno de trabajo
       SDK Android                                Vista                             Modelo
       MVC
       Primeros Pasos
    Views y Eventos
    Adaptadores
    Intents y Bundles
    Ejecurión y Depuración                                                                                 16
    Librerías
Primeros Pasos
                              1.   New Project > Android Application
                                   Project
                              2.   Definir las propiedades iniciales de la
                                   App
                                   •    Nombre
                                   •    SDK desarrollo
                                   •    Mínimo SDK requerido
                                   •    Icono de aplicación
                                   •    Actividad inicial (opcional)
Introducción a Android
    Elementos
    Ciclo de vida: Activity
    Patrones de diseño
Desarrollo con Android
    Entorno de trabajo
       SDK Android
       MVC
       Primeros Pasos
    Views y Eventos
    Adaptadores
    Intents y Bundles
    Ejecurión y Depuración                                                   17
    Librerías
¿Qué es todo esto?




Introducción a Android
    Elementos
    Ciclo de vida: Activity
    Patrones de diseño
Desarrollo con Android
    Entorno de trabajo
       SDK Android
       MVC
       Primeros Pasos
    Views y Eventos
    Adaptadores
    Intents y Bundles
    Ejecurión y Depuración                         18
    Librerías
Estructura de directorios

                                 • /src – Clases java y archivo R.java
                                      • R.java: Autogenerado por Android (vbles. sistema)
                                 • /res/drawable – Imágenes de la aplicación y recursos
                                   XML
                                      • Posibles subdirectorios
                                 • /res/layout – Vistas de la aplicación en XML
                                      • Posibles subdirectorios
                                 • /res/values – Archivos XML con las variables de la
Introducción a Android             aplicación
    Elementos                    • Libraries – El IDE referencia al SDK de Android
    Ciclo de vida: Activity      • AndroidManifest.xml – Archivo de manifiesto
    Patrones de diseño
                                            • Define todas las actividades, servicios,…
Desarrollo con Android
    Entorno de trabajo
                                            • Define la configuración del proyecto
       SDK Android
       MVC
       Primeros Pasos
    Views y Eventos
    Adaptadores
    Intents y Bundles
    Ejecurión y Depuración                                                                  19
    Librerías
Ejemplo de Manifiesto




Introducción a Android
    Elementos
    Ciclo de vida: Activity
    Patrones de diseño
Desarrollo con Android
    Entorno de trabajo
       SDK Android
       MVC
       Primeros Pasos
    Views y Eventos
    Adaptadores
    Intents y Bundles
    Ejecurión y Depuración                            20
    Librerías
Vista de diseño

                                                                                             Jerarquía
                                                                                             Layouts-
                                                                                           Componentes




Introducción a Android
    Elementos
    Ciclo de vida: Activity
    Patrones de diseño
Desarrollo con Android
    Entorno de trabajo
       SDK Android
       MVC
       Primeros Pasos
                              Views/Componentes     Área de trabajo   Propiedades Componente selección
    Views y Eventos
    Adaptadores
    Intents y Bundles
    Ejecurión y Depuración                                                                       21
    Librerías
Layouts (I)
                              • Layouts. Distribución de componentes en pantalla
                                <?xml version="1.0" encoding="utf-8"?>
                                <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
                                                 android:orientation="vertical" android:layout_width="fill_parent"
                                                 android:layout_height="fill_parent">

                                                  <Button android:text="Button01" android:id="@+id/Button01"
                                                                   android:layout_width="wrap_content"
                                                  android:layout_height="wrap_content" />

                                                  <Button android:text="Button02" android:id="@+id/Button02"
                                                                   android:layout_width="wrap_content"                     Linear Layout
                                                  android:layout_height="wrap_content" />
Introducción a Android          </LinearLayout>
    Elementos
                                <?xml version="1.0" encoding="utf-8"?>
    Ciclo de vida: Activity     <TableLayout android:id="@+id/TableLayout01"
    Patrones de diseño                           android:layout_width="fill_parent" android:layout_height="fill_parent“
                                                 xmlns:android="http://schemas.android.com/apk/res/android">
Desarrollo con Android
    Entorno de trabajo                            <TableRow android:id="@+id/TableRow01">
       SDK Android                                               <TextView android:id="@+id/TextView01"
                                                                 android:text="First Name:" android:width="100px" />
       MVC                                                       <EditText android:id="@+id/EditText01" android:width="220px" />
       Primeros Pasos                             …
                                                  <TableRow android:id="@+id/TableRow03">
    Views y Eventos
                                                                 <Button android:id="@+id/Button01“ …
    Adaptadores                                                  android:layout_height="wrap_content" android:text="Submit" />
    Intents y Bundles                                            <Button android:id="@+id/Button02" android:layout_                Table Layout
                                                                 width="wrap_content" android:layout_...
    Ejecurión y Depuración                        </TableRow>                                                                             22
    Librerías                   </TableLayout>
Layouts (II)
                               <?xml version="1.0" encoding="utf-8"?>
                               <RelativeLayout android:id="@+id/RelativeLayout01"
                                                android:layout_width="fill_parent“ android:layout_height="fill_parent"
                                                xmlns:android="http://schemas.android.com/apk/res/android">

                                                <TextView android:id="@+id/TextView01 … />
                                                <EditText android:id="@+id/EditText01" android:layout_width="220px“ …
                                                                  android:layout_toRightOf="@+id/TextView01"
                                                                 android:layout_below="@+id/RelativeLayout01" />
                                                <EditText android:id="@+id/EditText02" … android:layout_below="@+id/EditText01"
                                                android:layout_alignLeft="@+id/EditText01" />

                                                <TextView android:id="@+id/TextView02" android:layout_width=…
                                                                                                                                  Relative Layout
                                                <Button android:text="Submit" android:id="@+id/Button01” …
                                                android:layout_below="@id/EditText02" android:layout_alignLeft="@id/EditText02" />
                                                <Button android:text="Reset" android:id="@+id/Button02“ …
Introducción a Android                          android:layout_below="@id/EditText02" android:layout_alignRight="@id/EditText02" />
    Elementos                  </RelativeLayout>
    Ciclo de vida: Activity
    Patrones de diseño
                              <?xml version="1.0" encoding="utf-8"?>
Desarrollo con Android        <AbsoluteLayout android:id="@+id/AbsoluteLayout01"
    Entorno de trabajo                         android:layout_width="fill_parent" android:layout_height="fill_parent"
                                               xmlns:android="http://schemas.android.com/apk/res/android">
       SDK Android
       MVC                                     <EditText android:id="@+id/EditText01" android:layout_width="200px"
       Primeros Pasos                          android:layout_height="wrap_content" android:layout_x="12px" android:layout_y="12px" />

    Views y Eventos                           <Button android:text="Search" android:id="@+id/Button01" android:layout_width="100px"
    Adaptadores                               android:layout_height="wrap_content" android:layout_x="220px" android:layout_y="12px" />
                              </AbsoluteLayout>
    Intents y Bundles
    Ejecurión y Depuración                                                                                         Absolute Layout           23
    Librerías
Layouts (III)
                              <?xml version="1.0" encoding="utf-8"?>
                              <FrameLayout android:id="@+id/FrameLayout01" android:layout_width="fill_parent"
                                               android:layout_height="fill_parent"
                                               xmlns:android="http://schemas.android.com/apk/res/android">

                                               <ImageView android:id="@+id/ImageView01" android:src="@drawable/android"
                                                              android:layout_width="fill_parent"
                                                              android:layout_height="fill_parent" android:scaleType="center" />

                                               <TextView android:text="Android Partaker" android:id="@+id/TextView01"
                                                               android:layout_width="wrap_content" android:layout_height="wrap_content"
                                                               android:layout_marginBottom="20dip" android:layout_gravity="center_horizontal|bottom"
                                                               android:padding="10dip" android:textColor="#AA0000"
                                                               android:textStyle="bold" android:textSize="20px" android:background="#00000000" />
                              </FrameLayout>

                                                                                                        Frame Layout
Introducción a Android
    Elementos
    Ciclo de vida: Activity
    Patrones de diseño
Desarrollo con Android
    Entorno de trabajo
       SDK Android
       MVC
       Primeros Pasos
    Views y Eventos
    Adaptadores                Source: http://androidpartaker.wordpress.com/2010/07/03/introduction-to-android-ui-layouts/
    Intents y Bundles
    Ejecurión y Depuración                                                                                                                      24
    Librerías
Vistas Actividad




Introducción a Android
    Elementos
                                           MainActivity.java
    Ciclo de vida: Activity
    Patrones de diseño
Desarrollo con Android
    Entorno de trabajo
       SDK Android
       MVC
       Primeros Pasos
    Views y Eventos
    Adaptadores
    Intents y Bundles
    Ejecurión y Depuración                                     25
    Librerías
Fragmento en Actividad
                                                       Fragmento.java




Introducción a Android
    Elementos
    Ciclo de vida: Activity
    Patrones de diseño
Desarrollo con Android
    Entorno de trabajo
       SDK Android
       MVC
       Primeros Pasos
    Views y Eventos
    Adaptadores
    Intents y Bundles
    Ejecurión y Depuración                                        26
    Librerías
Procedural vs Declarativo

                              • Ejemplo: Programación de un componente

                                         Archivo Java                    Archivo XML
                              TextView tv= new TextView(this)   <TextView
                              tv.setWidth(100);                  android:id="@+id/nameLabel"
                              tv.setHeight(60);                  android:text="phone:"
                              tv.setText("phone");               android:layout_width="100"
                              setContentView(tv);                android:layout_height="60"/>
Introducción a Android
    Elementos
    Ciclo de vida: Activity   • Vale, entonces… ¿Cómo lo hago?  Depende
    Patrones de diseño
Desarrollo con Android
                              • Recomendación: Declarar XML siempre que se pueda
    Entorno de trabajo             • ¡En layouts siempre!
       SDK Android
       MVC
       Primeros Pasos
    Views y Eventos                      ¿Seguimos con algo de programación?
    Adaptadores
    Intents y Bundles
    Ejecurión y Depuración                                                                 27
    Librerías
Eventos sobre componentes (I)

                                          Views




Introducción a Android
    Elementos
                              Eventos
    Ciclo de vida: Activity
    Patrones de diseño        • Handlers
Desarrollo con Android
    Entorno de trabajo             • Maneja eventos de entrada sin importar dónde está el foco.
       SDK Android                 • No están necesariamente asociados a un view.
       MVC
       Primeros Pasos              • Botón atrás, tocar pantalla,…
    Views y Eventos           • Listeners
    Adaptadores
    Intents y Bundles              • Maneja eventos generados por un view o viewgroup.
    Ejecurión y Depuración                                                                        28
    Librerías
Eventos sobre componentes (II)
                               • Button




Introducción a Android
    Elementos
    Ciclo de vida: Activity
    Patrones de diseño
Desarrollo con Android
    Entorno de trabajo
       SDK Android
       MVC
       Primeros Pasos
    Views y Eventos
                              “Android recomienda que la actividad
    Adaptadores               implemente la interfaz onXXXListener en
    Intents y Bundles         lugar de usar clases anónimas”
    Ejecurión y Depuración                                              29
    Librerías
Eventos sobre componentes (III)
                              • EditText




Introducción a Android
    Elementos
    Ciclo de vida: Activity
    Patrones de diseño
Desarrollo con Android
    Entorno de trabajo
       SDK Android
       MVC
       Primeros Pasos
    Views y Eventos
    Adaptadores
    Intents y Bundles
    Ejecurión y Depuración                                           30
    Librerías
Eventos sobre componentes (IV)
                              • ImageView




Introducción a Android
    Elementos
    Ciclo de vida: Activity
    Patrones de diseño
Desarrollo con Android
    Entorno de trabajo
       SDK Android
       MVC
       Primeros Pasos
    Views y Eventos
    Adaptadores
    Intents y Bundles
    Ejecurión y Depuración                                         31
    Librerías
Eventos sobre componentes (V)
                              • CheckBox




Introducción a Android
    Elementos
    Ciclo de vida: Activity
    Patrones de diseño
Desarrollo con Android
    Entorno de trabajo
       SDK Android
       MVC
       Primeros Pasos
    Views y Eventos
    Adaptadores
    Intents y Bundles
    Ejecurión y Depuración                                        32
    Librerías
Eventos sobre componentes (VI)
                              • Más Eventos
                                 • onLongClick, onFocusChange, onTouch, onKeyDown, onKeyUp,…
                              • Más Componentes
                                 •   Texto  TextView, AutocompleteTextView,…
                                 •   Botón  ImageButton, TogleButton, RadioButton,…
                                 •   Vistas compuestas  ExpandableListView,       …
                                 •   Barras  ProgressBar, SeekBar, RatinBar,…
Introducción a Android
    Elementos
    Ciclo de vida: Activity
    Patrones de diseño
                                ListItem
Desarrollo con Android
    Entorno de trabajo
       SDK Android
       MVC
       Primeros Pasos
    Views y Eventos
    Adaptadores
    Intents y Bundles
                               ¿Cómo lleno
    Ejecurión y Depuración       la lista?                                                33
    Librerías
Adaptadores (I)
                              • ¿Qué es?
                                 • Objeto que proporciona una interfaz común para cada modelo de
                                   datos detrás de un control de selección.
                              • Tipos
                                  • ListAdapter
                                  • ArrayAdapter
Introducción a Android            • SpinnerAdapter
    Elementos
    Ciclo de vida: Activity       • SimpleCursorAdapter
    Patrones de diseño
Desarrollo con Android
                                  • CustomAdapters
    Entorno de trabajo
       SDK Android
       MVC
       Primeros Pasos
    Views y Eventos
    Adaptadores
    Intents y Bundles
    Ejecurión y Depuración                                                                  34
    Librerías
Adaptadores (II)
                               • Ejemplo                                  <?xml version="1.0" encoding="utf-8"?>
                                                                          <resources>
                                                                             <string-array name="comidas">
                                                                                <item>Salchichas</item>
                                                                                <item>Huevos</item>
                                                                                <item>Tomates</item>
                                                                             </string-array>
                              //Creamos el adaptador                      </resources>
                              ArrayAdapter<CharSequence> adapter =
                              ArrayAdapter.createFromResource(this,R.array.comidas,android.R.layout.simple_spinner_item);
Introducción a Android
                              //Añadimos el layout para el menú
    Elementos
                              adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    Ciclo de vida: Activity
                              //Le indicamos al spinner el adaptador a usar
    Patrones de diseño
                              prueba.setAdapter(adapter);
Desarrollo con Android
    Entorno de trabajo
       SDK Android                 ¡Los datos no tienen porque proceder de recursos estáticos!
       MVC
       Primeros Pasos
    Views y Eventos
    Adaptadores
    Intents y Bundles
    Ejecurión y Depuración                                                                                         35
    Librerías
Eventos sobre elementos Hw
                               • Interfaz SensorEventListener
                                                                                            Recuperamos el sensor
                              mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
                              List<Sensor> listSensors = mSensorManager.getSensorList(Sensor.TYPE_ACCELEROMETER);

                              Método                  onSensorChanged()

                               • Sensores

Introducción a Android
    Elementos
    Ciclo de vida: Activity
    Patrones de diseño
Desarrollo con Android
    Entorno de trabajo
       SDK Android
       MVC
       Primeros Pasos
    Views y Eventos
    Adaptadores
    Intents y Bundles
    Ejecurión y Depuración          http://developer.android.com/reference/android/hardware/Sensor.html        36
    Librerías
Más sobre Actividades y Fragmentos
                              • Tipos de Actividades y Fragmentos
                                   • ListActivity  Diseñada especialmente para trabajar con ListViews.
                                   • ListFragment  Idem.
                                   • Alguna más: TabActivity.
                                   • ¡Los fragmentos se “inflan” dentro de las actividades!

                                            View view = inflater.inflate(R.layout.fragment_edit_name, container);

                              • Intents
Introducción a Android             • Objetos utilizados para enviar mensajes asíncronos dentro de una
    Elementos                        aplicación o entre varias aplicaciones.
    Ciclo de vida: Activity
    Patrones de diseño
                                   • Posibilitan la transición entre actividades.
Desarrollo con Android             • Permiten la comunicación entre componentes.
    Entorno de trabajo
       SDK Android
       MVC
       Primeros Pasos
    Views y Eventos
    Adaptadores
    Intents y Bundles
    Ejecurión y Depuración           http://androideity.com/2011/10/17/trabajando-con-intents-en-android-overview/   37
    Librerías
Intents y Bundles (I)
                              • Bundle
                                   • Contenedor para agrupar los datos.
                                   • Pueden ser usados conjuntamente con Intents.
                              • Ejemplo Intent
                                                        Intent intent = new Intent();
                                                        intent.setClass(getActivity(),
                                                        NuevaActividad.class);
                                                        intent.putExtra("identificador", id);
Introducción a Android
                                                        intent.putExtra("nombre", nombre);
    Elementos
    Ciclo de vida: Activity
                                                        startActivity(intent);
    Patrones de diseño
Desarrollo con Android                                       identificador
    Entorno de trabajo
                                                               nombre
       SDK Android
       MVC                          Actividad 1                                        Actividad 2
       Primeros Pasos
    Views y Eventos
    Adaptadores                String id = getActivity().getIntent().getStringExtra("identificador");
    Intents y Bundles          String nombre = getActivity().getIntent().getStringExtra("nombre");
    Ejecurión y Depuración                                                                              38
    Librerías
Intents y Bundles (II)
                              • Ejemplo Bundle
                              Bundle b=new Bundle();           Bundle extras = intent.getExtras();
                              b.putString("myname", nombre);   String key = extras.getString("mynkey");


                                             ¡también podemos pasar objetos!



Introducción a Android
                                              Serializable       Parcelable
    Elementos
    Ciclo de vida: Activity
    Patrones de diseño
Desarrollo con Android        • ¡Hay mucho más!  Evolución constante
    Entorno de trabajo
                                   • Nuevos firmwares
       SDK Android
       MVC
                                   • Nuevas funciones
       Primeros Pasos
    Views y Eventos
    Adaptadores                      ¡Esto sólo ha sido el comienzo de una ¿gran? amistad!
    Intents y Bundles
    Ejecurión y Depuración                                                                           39
    Librerías
Ejecución de aplicaciones
                                                                    Dispositivos conectados



                                                                 Poner en modo depuracion




                                                                             Emuladores
Introducción a Android
    Elementos
    Ciclo de vida: Activity
    Patrones de diseño
Desarrollo con Android
    Entorno de trabajo
       SDK Android            Dalvik Virtual Machine (DVM)
       MVC
       Primeros Pasos
    Views y Eventos
    Adaptadores
    Intents y Bundles           !NO OLVIDES LA DEPURACIÓN!
    Ejecurión y Depuración                                                           40
    Librerías
Uso de Librerías
                              • Hay librerías para todo y para todos
                                  • Almacenamiento de datos (SQLite)
                                  • Bibliotecas de medios
                                  • Bibliotecas gráficas (2D y 3D –OpenGL)
                                  • Servicios Web (Ksoap)
                                  • Mapas (API Google Maps)
Introducción a Android
                                  • …¡y muchas más!
    Elementos
    Ciclo de vida: Activity
    Patrones de diseño
Desarrollo con Android
    Entorno de trabajo
                               REFERENCIA: http://developer.android.com/index.html
       SDK Android
       MVC
       Primeros Pasos
    Views y Eventos
    Adaptadores
    Intents y Bundles
    Ejecurión y Depuración                                                           41
    Librerías
Android Quick Start V2.0   Jesús Fontecha Diezma




                                                   42

Más contenido relacionado

Destacado

A model to develop frailty diagnosis tools through mobile devices and a servi...
A model to develop frailty diagnosis tools through mobile devices and a servi...A model to develop frailty diagnosis tools through mobile devices and a servi...
A model to develop frailty diagnosis tools through mobile devices and a servi...Jesús Fontecha
 
Proyecto innovación educativa
Proyecto innovación educativaProyecto innovación educativa
Proyecto innovación educativaMercè Santacana
 
Proyecto La literatura en facebook
Proyecto La literatura en facebookProyecto La literatura en facebook
Proyecto La literatura en facebookLeticia Bonato
 
PROYECTO SOBRE LAS PAGINAS WEB
PROYECTO SOBRE LAS PAGINAS WEBPROYECTO SOBRE LAS PAGINAS WEB
PROYECTO SOBRE LAS PAGINAS WEBmariaparicio22
 
Presentacion uclm fp7_llanos carrion
Presentacion uclm fp7_llanos carrionPresentacion uclm fp7_llanos carrion
Presentacion uclm fp7_llanos carrionmedellia
 
Proyecto De InnovacióN Educativa
Proyecto De InnovacióN EducativaProyecto De InnovacióN Educativa
Proyecto De InnovacióN Educativaguestb833f1
 
Proyecto Innovación Docente
Proyecto Innovación DocenteProyecto Innovación Docente
Proyecto Innovación DocenteJesús Fontecha
 

Destacado (7)

A model to develop frailty diagnosis tools through mobile devices and a servi...
A model to develop frailty diagnosis tools through mobile devices and a servi...A model to develop frailty diagnosis tools through mobile devices and a servi...
A model to develop frailty diagnosis tools through mobile devices and a servi...
 
Proyecto innovación educativa
Proyecto innovación educativaProyecto innovación educativa
Proyecto innovación educativa
 
Proyecto La literatura en facebook
Proyecto La literatura en facebookProyecto La literatura en facebook
Proyecto La literatura en facebook
 
PROYECTO SOBRE LAS PAGINAS WEB
PROYECTO SOBRE LAS PAGINAS WEBPROYECTO SOBRE LAS PAGINAS WEB
PROYECTO SOBRE LAS PAGINAS WEB
 
Presentacion uclm fp7_llanos carrion
Presentacion uclm fp7_llanos carrionPresentacion uclm fp7_llanos carrion
Presentacion uclm fp7_llanos carrion
 
Proyecto De InnovacióN Educativa
Proyecto De InnovacióN EducativaProyecto De InnovacióN Educativa
Proyecto De InnovacióN Educativa
 
Proyecto Innovación Docente
Proyecto Innovación DocenteProyecto Innovación Docente
Proyecto Innovación Docente
 

Similar a Android Basics v2.0

Introducción a Android: 10 cosas importantes que hay que entender
Introducción a Android: 10 cosas importantes que hay que entenderIntroducción a Android: 10 cosas importantes que hay que entender
Introducción a Android: 10 cosas importantes que hay que entenderjezabelink
 
Presentacion para la Flagship Store de Telefónica
Presentacion para la Flagship Store de TelefónicaPresentacion para la Flagship Store de Telefónica
Presentacion para la Flagship Store de TelefónicaJavier Tellez Dones
 
Net capitulo I - fundamentos
Net   capitulo I - fundamentosNet   capitulo I - fundamentos
Net capitulo I - fundamentosredtacna
 
Arquitectura dirigida a eventos
Arquitectura dirigida a eventosArquitectura dirigida a eventos
Arquitectura dirigida a eventosrehoscript
 
Curso Programación de Aplicaciones
Curso Programación de AplicacionesCurso Programación de Aplicaciones
Curso Programación de AplicacionesMarta Blasco Camacho
 
Sesion 1 introducción a la plataforma windows phone
Sesion 1   introducción a la plataforma windows phoneSesion 1   introducción a la plataforma windows phone
Sesion 1 introducción a la plataforma windows phoneCésar Reneses
 
Fundamentos desarrollo de Apps para Android
Fundamentos desarrollo de Apps para AndroidFundamentos desarrollo de Apps para Android
Fundamentos desarrollo de Apps para Androidandresuarezz26
 
Unidad 2 Primeros pasos con android
Unidad 2 Primeros pasos con androidUnidad 2 Primeros pasos con android
Unidad 2 Primeros pasos con androidLorena García Arnau
 
Curso Android tema 1
Curso Android tema 1Curso Android tema 1
Curso Android tema 1Frank Jorge
 
Master RIAtec 2013 - Bloque 2
Master RIAtec 2013 - Bloque 2Master RIAtec 2013 - Bloque 2
Master RIAtec 2013 - Bloque 2Bruno Capuano
 
12j sistemaandroid texto
12j sistemaandroid texto12j sistemaandroid texto
12j sistemaandroid textoHenry Ortiz
 
Business Logic 2012
Business Logic 2012Business Logic 2012
Business Logic 2012juanma_ari
 
Android mobile application developer (3)
Android mobile application developer (3)Android mobile application developer (3)
Android mobile application developer (3)alvaro alcocer sotil
 
Android mobile application developer
Android mobile application developerAndroid mobile application developer
Android mobile application developeralvaro alcocer sotil
 
Android mobile application developer (2)
Android mobile application developer (2)Android mobile application developer (2)
Android mobile application developer (2)alvaro alcocer sotil
 
Presentación PhoneGap
Presentación PhoneGap Presentación PhoneGap
Presentación PhoneGap cccori
 

Similar a Android Basics v2.0 (20)

Introducción a Android: 10 cosas importantes que hay que entender
Introducción a Android: 10 cosas importantes que hay que entenderIntroducción a Android: 10 cosas importantes que hay que entender
Introducción a Android: 10 cosas importantes que hay que entender
 
Curso Desarrollo Android
Curso Desarrollo AndroidCurso Desarrollo Android
Curso Desarrollo Android
 
Presentacion para la Flagship Store de Telefónica
Presentacion para la Flagship Store de TelefónicaPresentacion para la Flagship Store de Telefónica
Presentacion para la Flagship Store de Telefónica
 
Net capitulo I - fundamentos
Net   capitulo I - fundamentosNet   capitulo I - fundamentos
Net capitulo I - fundamentos
 
Seminario Android
Seminario AndroidSeminario Android
Seminario Android
 
Arquitectura dirigida a eventos
Arquitectura dirigida a eventosArquitectura dirigida a eventos
Arquitectura dirigida a eventos
 
Curso Programación de Aplicaciones
Curso Programación de AplicacionesCurso Programación de Aplicaciones
Curso Programación de Aplicaciones
 
Sesion 1 introducción a la plataforma windows phone
Sesion 1   introducción a la plataforma windows phoneSesion 1   introducción a la plataforma windows phone
Sesion 1 introducción a la plataforma windows phone
 
Fundamentos desarrollo de Apps para Android
Fundamentos desarrollo de Apps para AndroidFundamentos desarrollo de Apps para Android
Fundamentos desarrollo de Apps para Android
 
Presentacion cw2012
Presentacion cw2012Presentacion cw2012
Presentacion cw2012
 
Unidad 2 Primeros pasos con android
Unidad 2 Primeros pasos con androidUnidad 2 Primeros pasos con android
Unidad 2 Primeros pasos con android
 
Curso Android tema 1
Curso Android tema 1Curso Android tema 1
Curso Android tema 1
 
Curso Introducción a android
Curso Introducción a androidCurso Introducción a android
Curso Introducción a android
 
Master RIAtec 2013 - Bloque 2
Master RIAtec 2013 - Bloque 2Master RIAtec 2013 - Bloque 2
Master RIAtec 2013 - Bloque 2
 
12j sistemaandroid texto
12j sistemaandroid texto12j sistemaandroid texto
12j sistemaandroid texto
 
Business Logic 2012
Business Logic 2012Business Logic 2012
Business Logic 2012
 
Android mobile application developer (3)
Android mobile application developer (3)Android mobile application developer (3)
Android mobile application developer (3)
 
Android mobile application developer
Android mobile application developerAndroid mobile application developer
Android mobile application developer
 
Android mobile application developer (2)
Android mobile application developer (2)Android mobile application developer (2)
Android mobile application developer (2)
 
Presentación PhoneGap
Presentación PhoneGap Presentación PhoneGap
Presentación PhoneGap
 

Más de Jesús Fontecha

A Sensorized and Health aspect-based framework to improve the continuous moni...
A Sensorized and Health aspect-based framework to improve the continuous moni...A Sensorized and Health aspect-based framework to improve the continuous moni...
A Sensorized and Health aspect-based framework to improve the continuous moni...Jesús Fontecha
 
Exploring the AmIHEALTH paradigm. Monitoring in Healthcare: Building mHealth ...
Exploring the AmIHEALTH paradigm. Monitoring in Healthcare: Building mHealth ...Exploring the AmIHEALTH paradigm. Monitoring in Healthcare: Building mHealth ...
Exploring the AmIHEALTH paradigm. Monitoring in Healthcare: Building mHealth ...Jesús Fontecha
 
Context-aware and user centered evaluation of assistive systems
Context-aware and user centered evaluation of assistive systemsContext-aware and user centered evaluation of assistive systems
Context-aware and user centered evaluation of assistive systemsJesús Fontecha
 
Internet of Things. Definition of a concept
Internet of Things. Definition of a conceptInternet of Things. Definition of a concept
Internet of Things. Definition of a conceptJesús Fontecha
 
Brújula, Acelerómetro y Geolocalización con PhoneGap (Básico)
Brújula, Acelerómetro y Geolocalización con PhoneGap (Básico)Brújula, Acelerómetro y Geolocalización con PhoneGap (Básico)
Brújula, Acelerómetro y Geolocalización con PhoneGap (Básico)Jesús Fontecha
 
A proposal for elderly frailty detection by using accelerometer-enabled smart...
A proposal for elderly frailty detection by using accelerometer-enabled smart...A proposal for elderly frailty detection by using accelerometer-enabled smart...
A proposal for elderly frailty detection by using accelerometer-enabled smart...Jesús Fontecha
 
A new approach to prevent cardiovascular diseases based on SCORE charts throu...
A new approach to prevent cardiovascular diseases based on SCORE charts throu...A new approach to prevent cardiovascular diseases based on SCORE charts throu...
A new approach to prevent cardiovascular diseases based on SCORE charts throu...Jesús Fontecha
 

Más de Jesús Fontecha (11)

A Sensorized and Health aspect-based framework to improve the continuous moni...
A Sensorized and Health aspect-based framework to improve the continuous moni...A Sensorized and Health aspect-based framework to improve the continuous moni...
A Sensorized and Health aspect-based framework to improve the continuous moni...
 
Exploring the AmIHEALTH paradigm. Monitoring in Healthcare: Building mHealth ...
Exploring the AmIHEALTH paradigm. Monitoring in Healthcare: Building mHealth ...Exploring the AmIHEALTH paradigm. Monitoring in Healthcare: Building mHealth ...
Exploring the AmIHEALTH paradigm. Monitoring in Healthcare: Building mHealth ...
 
Android basics v3
Android basics v3Android basics v3
Android basics v3
 
Context-aware and user centered evaluation of assistive systems
Context-aware and user centered evaluation of assistive systemsContext-aware and user centered evaluation of assistive systems
Context-aware and user centered evaluation of assistive systems
 
Internet of Things. Definition of a concept
Internet of Things. Definition of a conceptInternet of Things. Definition of a concept
Internet of Things. Definition of a concept
 
PhoneGap Basics v1.0
PhoneGap Basics v1.0PhoneGap Basics v1.0
PhoneGap Basics v1.0
 
Android Basics v2.5
Android Basics v2.5Android Basics v2.5
Android Basics v2.5
 
Brújula, Acelerómetro y Geolocalización con PhoneGap (Básico)
Brújula, Acelerómetro y Geolocalización con PhoneGap (Básico)Brújula, Acelerómetro y Geolocalización con PhoneGap (Básico)
Brújula, Acelerómetro y Geolocalización con PhoneGap (Básico)
 
A proposal for elderly frailty detection by using accelerometer-enabled smart...
A proposal for elderly frailty detection by using accelerometer-enabled smart...A proposal for elderly frailty detection by using accelerometer-enabled smart...
A proposal for elderly frailty detection by using accelerometer-enabled smart...
 
A new approach to prevent cardiovascular diseases based on SCORE charts throu...
A new approach to prevent cardiovascular diseases based on SCORE charts throu...A new approach to prevent cardiovascular diseases based on SCORE charts throu...
A new approach to prevent cardiovascular diseases based on SCORE charts throu...
 
Nfc basics
Nfc basicsNfc basics
Nfc basics
 

Último

POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 

Último (19)

POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 

Android Basics v2.0

  • 1. Android Quick Start v2.0 Jesús Fontecha Diezma University of Castilla-La Mancha, Spain MAmI Research Lab 1
  • 2. Introducción • SSOO de Google • Diseñado para ser ejecutado en dispositivos móviles. • Origen: 2007  Open Handset Alliance (OHA) Introducción a Android Elementos Ciclo de vida: Activity Patrones de diseño Desarrollo con Android Entorno de trabajo SDK Android MVC • Basado en el Kernel de Linux Primeros Pasos Views y Eventos • Permite ejecutar aplicaciones en Java + XML Adaptadores Intents y Bundles Ejecurión y Depuración 2 Librerías
  • 3. Actividades • Activity • El más importante • Representa una pantalla individual • Presenta una interfaz gráfica al usuario Listado de nombres y teléfonos public class Activity extends ApplicationContext { Introducción a Android protected void onCreate(Bundle savedInstanceState); Elementos Ciclo de vida: Activity protected void onStart(); Patrones de diseño protected void onRestart(); Desarrollo con Android Agenda Entorno de trabajo protected void onResume(); telefónica SDK Android protected void onPause(); MVC protected void onStop(); Primeros Pasos Views y Eventos protected void onDestroy(); Adaptadores } Intents y Bundles Ejecurión y Depuración Información detallada del contacto 3 Librerías
  • 4. Ciclo de vida Primera vez Cuando es visible Introducción a Android Asignación de memoria Elementos Ciclo de vida: Activity Patrones de diseño Desarrollo con Android Entorno de trabajo Otra actividad en primer plano SDK Android MVC Primeros Pasos Cuando se oculta Views y Eventos Adaptadores Intents y Bundles Finaliza Ejecurión y Depuración 4 Librerías
  • 5. Services y Broadcast Receivers • Services • No tiene interfaz gráfica • Puede ejecutarse en background (= demonio Linux) Capturar datos acelerómetro Capturar posición GPS Introducción a Android Elementos • Broadcast receivers Ciclo de vida: Activity Patrones de diseño • No tienen interfaz gráfica Desarrollo con Android • Detecta y reacciona ante mensajes o eventos del Entorno de trabajo SDK Android sistema  Notificaciones broadcast. MVC Primeros Pasos Views y Eventos Batería Baja Llamada Tarjeta SD Cambio zona horaria Otras aplicaciones Adaptadores Intents y Bundles Ejecurión y Depuración 5 Librerías
  • 6. Intents y Views • Intents • Elemento básico de comunicación • Variables/objetos entre componentes • Definen “qué se debe hacer” Iniciar un servicio Mostrar una actividad desde otra Enviar mensaje broadcast Iniciar otra aplicación Introducción a Android Elementos Ciclo de vida: Activity • Views Patrones de diseño Desarrollo con Android • Componentes básicos para la construcción de la UI Entorno de trabajo SDK Android • Análogo a los controles de Java o .NET MVC Primeros Pasos Listas Cuadros de Barras de Views y Eventos Botones Imágenes desplegables texto desplazamiento Adaptadores Intents y Bundles Ejecurión y Depuración 6 Librerías
  • 7. Content Providers y Widgets • Content providers Agenda del sistema • Mecanismos para compartir datos entre aplicaciones. • Podemos acceder a datos de otras aplicaciones Mi Agenda Introducción a Android Elementos Ciclo de vida: Activity Patrones de diseño • Widgets Desarrollo con Android Entorno de trabajo • Elementos visuales e SDK Android MVC interactivos Primeros Pasos • Se muestran en la pantalla Views y Eventos Adaptadores principal del terminal Intents y Bundles Ejecurión y Depuración 7 Librerías
  • 8. Fragmentos • Y a partir de Android 3.0 ¡Fragments! • Solución a la “fragmentación mala”. Introducción a Android Elementos Ciclo de vida: Activity Patrones de diseño Desarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Más de 4000 dispositivos Android: “muchas resoluciones, muchos tamaños” Argh!! Intents y Bundles Ejecurión y Depuración 8 Librerías
  • 9. Fragmentos • ¿Qué supone? • En aplicaciones antiguas: •  Uso de librerías de apoyo a la compatibilidad (support libraries). •  Reescritura de clases • En aplicaciones nuevas: Introducción a Android •  Versatilidad: Misma app compatible para cualquier Elementos dispositivo. Ciclo de vida: Activity Patrones de diseño •  Aumentar la importancia del diseño de las Desarrollo con Android actividades.  Más difícil diseñar una buena app. Entorno de trabajo SDK Android •  Reutilización de fragmentos. MVC • Cambian “un poco” aspectos iniciales de las actividades. Primeros Pasos Views y Eventos Adaptadores Actividades compuestas por componentes vs Actividades compuestas por fragmentos Intents y Bundles Ejecurión y Depuración 9 Librerías
  • 10. Patrones de Diseño • Objetivo • Unificar y mejorar la apariencia de la interfaz gráfica • http://www.androidpatterns.com/ , listas, pestañas, menús, etc. Introducción a Android Elementos Ciclo de vida: Activity Patrones de diseño Desarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración “No es una obligación, pero sí una recomendación” 10 Librerías
  • 11. Barras de acción • Action Bar • Similar a una barra de tareas • Permite agrupar acciones • De acceso intuitivo y rápido Introducción a Android Elementos Ciclo de vida: Activity Patrones de diseño Desarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración 11 Librerías
  • 12. Ejemplo: Comparación (I) • Misma Aplicación, diferentes dispositivos Galaxy S Fragmentos Actividad Introducción a Android Elementos Ciclo de vida: Activity Posibles transiciones Patrones de diseño Galaxy tab 10” Desarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración 12 Librerías
  • 13. Ejemplo: Comparación (II) • Misma Aplicación, mismo dispositivo, diferente orientación Introducción a Android Elementos Ciclo de vida: Activity Patrones de diseño Desarrollo con Android Entorno de trabajo SDK Android MVC Más trabajo de diseño, pero… Primeros Pasos • ¡Reutilizamos código! Views y Eventos • ¡La aplicación se adapta a cualquier dispositivo Android! Adaptadores Intents y Bundles Ejecurión y Depuración 13 Librerías
  • 14. Desarrollo con Android • ¿Qué necesitamos? Librerías Emulador DVM Introducción a Android Elementos Ciclo de vida: Activity Patrones de diseño Desarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración 14 Librerías
  • 15. SDK ANDROID (sobre Eclipse) 1. Instalar Eclipse 2. Instalar SDK Android http://developer.android.com/sdk/index.html • Instalar las librerías necesarias 3. Añadir un AVD – SDK Manager • Tools > Manage AVDs > New • Definir características y crear Introducción a Android 4. Configurar Plugin ADT - Eclipse Elementos Ciclo de vida: Activity • Help > Install New Software Patrones de diseño • Introducir url proveedor: https://dl-ssl.google.com/android/eclipse/ Desarrollo con Android Entorno de trabajo 5. ¡Ya podemos crear nuestro primer proyecto! SDK Android MVC Primeros Pasos También se puede instalar en otros IDEs - Netbeans (ver Android Basics v.1) Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración 15 Librerías
  • 16. Modelo Vista Controlador • La separación de lógica e interfaz favorece la aplicación del patrón Modelo-Vista-Controlador (MVC) -Responsable de eventos - Lógica tras la interacción del usuario Controlador Introducción a Android Elementos Ciclo de vida: Activity -Representación de la Patrones de diseño información - Interfaz de usuario Desarrollo con Android Entorno de trabajo SDK Android Vista Modelo MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración 16 Librerías
  • 17. Primeros Pasos 1. New Project > Android Application Project 2. Definir las propiedades iniciales de la App • Nombre • SDK desarrollo • Mínimo SDK requerido • Icono de aplicación • Actividad inicial (opcional) Introducción a Android Elementos Ciclo de vida: Activity Patrones de diseño Desarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración 17 Librerías
  • 18. ¿Qué es todo esto? Introducción a Android Elementos Ciclo de vida: Activity Patrones de diseño Desarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración 18 Librerías
  • 19. Estructura de directorios • /src – Clases java y archivo R.java • R.java: Autogenerado por Android (vbles. sistema) • /res/drawable – Imágenes de la aplicación y recursos XML • Posibles subdirectorios • /res/layout – Vistas de la aplicación en XML • Posibles subdirectorios • /res/values – Archivos XML con las variables de la Introducción a Android aplicación Elementos • Libraries – El IDE referencia al SDK de Android Ciclo de vida: Activity • AndroidManifest.xml – Archivo de manifiesto Patrones de diseño • Define todas las actividades, servicios,… Desarrollo con Android Entorno de trabajo • Define la configuración del proyecto SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración 19 Librerías
  • 20. Ejemplo de Manifiesto Introducción a Android Elementos Ciclo de vida: Activity Patrones de diseño Desarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración 20 Librerías
  • 21. Vista de diseño Jerarquía Layouts- Componentes Introducción a Android Elementos Ciclo de vida: Activity Patrones de diseño Desarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views/Componentes Área de trabajo Propiedades Componente selección Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración 21 Librerías
  • 22. Layouts (I) • Layouts. Distribución de componentes en pantalla <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <Button android:text="Button01" android:id="@+id/Button01" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <Button android:text="Button02" android:id="@+id/Button02" android:layout_width="wrap_content" Linear Layout android:layout_height="wrap_content" /> Introducción a Android </LinearLayout> Elementos <?xml version="1.0" encoding="utf-8"?> Ciclo de vida: Activity <TableLayout android:id="@+id/TableLayout01" Patrones de diseño android:layout_width="fill_parent" android:layout_height="fill_parent“ xmlns:android="http://schemas.android.com/apk/res/android"> Desarrollo con Android Entorno de trabajo <TableRow android:id="@+id/TableRow01"> SDK Android <TextView android:id="@+id/TextView01" android:text="First Name:" android:width="100px" /> MVC <EditText android:id="@+id/EditText01" android:width="220px" /> Primeros Pasos … <TableRow android:id="@+id/TableRow03"> Views y Eventos <Button android:id="@+id/Button01“ … Adaptadores android:layout_height="wrap_content" android:text="Submit" /> Intents y Bundles <Button android:id="@+id/Button02" android:layout_ Table Layout width="wrap_content" android:layout_... Ejecurión y Depuración </TableRow> 22 Librerías </TableLayout>
  • 23. Layouts (II) <?xml version="1.0" encoding="utf-8"?> <RelativeLayout android:id="@+id/RelativeLayout01" android:layout_width="fill_parent“ android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"> <TextView android:id="@+id/TextView01 … /> <EditText android:id="@+id/EditText01" android:layout_width="220px“ … android:layout_toRightOf="@+id/TextView01" android:layout_below="@+id/RelativeLayout01" /> <EditText android:id="@+id/EditText02" … android:layout_below="@+id/EditText01" android:layout_alignLeft="@+id/EditText01" /> <TextView android:id="@+id/TextView02" android:layout_width=… Relative Layout <Button android:text="Submit" android:id="@+id/Button01” … android:layout_below="@id/EditText02" android:layout_alignLeft="@id/EditText02" /> <Button android:text="Reset" android:id="@+id/Button02“ … Introducción a Android android:layout_below="@id/EditText02" android:layout_alignRight="@id/EditText02" /> Elementos </RelativeLayout> Ciclo de vida: Activity Patrones de diseño <?xml version="1.0" encoding="utf-8"?> Desarrollo con Android <AbsoluteLayout android:id="@+id/AbsoluteLayout01" Entorno de trabajo android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"> SDK Android MVC <EditText android:id="@+id/EditText01" android:layout_width="200px" Primeros Pasos android:layout_height="wrap_content" android:layout_x="12px" android:layout_y="12px" /> Views y Eventos <Button android:text="Search" android:id="@+id/Button01" android:layout_width="100px" Adaptadores android:layout_height="wrap_content" android:layout_x="220px" android:layout_y="12px" /> </AbsoluteLayout> Intents y Bundles Ejecurión y Depuración Absolute Layout 23 Librerías
  • 24. Layouts (III) <?xml version="1.0" encoding="utf-8"?> <FrameLayout android:id="@+id/FrameLayout01" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"> <ImageView android:id="@+id/ImageView01" android:src="@drawable/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:scaleType="center" /> <TextView android:text="Android Partaker" android:id="@+id/TextView01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="20dip" android:layout_gravity="center_horizontal|bottom" android:padding="10dip" android:textColor="#AA0000" android:textStyle="bold" android:textSize="20px" android:background="#00000000" /> </FrameLayout> Frame Layout Introducción a Android Elementos Ciclo de vida: Activity Patrones de diseño Desarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Source: http://androidpartaker.wordpress.com/2010/07/03/introduction-to-android-ui-layouts/ Intents y Bundles Ejecurión y Depuración 24 Librerías
  • 25. Vistas Actividad Introducción a Android Elementos MainActivity.java Ciclo de vida: Activity Patrones de diseño Desarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración 25 Librerías
  • 26. Fragmento en Actividad Fragmento.java Introducción a Android Elementos Ciclo de vida: Activity Patrones de diseño Desarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración 26 Librerías
  • 27. Procedural vs Declarativo • Ejemplo: Programación de un componente Archivo Java Archivo XML TextView tv= new TextView(this) <TextView tv.setWidth(100); android:id="@+id/nameLabel" tv.setHeight(60); android:text="phone:" tv.setText("phone"); android:layout_width="100" setContentView(tv); android:layout_height="60"/> Introducción a Android Elementos Ciclo de vida: Activity • Vale, entonces… ¿Cómo lo hago?  Depende Patrones de diseño Desarrollo con Android • Recomendación: Declarar XML siempre que se pueda Entorno de trabajo • ¡En layouts siempre! SDK Android MVC Primeros Pasos Views y Eventos ¿Seguimos con algo de programación? Adaptadores Intents y Bundles Ejecurión y Depuración 27 Librerías
  • 28. Eventos sobre componentes (I) Views Introducción a Android Elementos Eventos Ciclo de vida: Activity Patrones de diseño • Handlers Desarrollo con Android Entorno de trabajo • Maneja eventos de entrada sin importar dónde está el foco. SDK Android • No están necesariamente asociados a un view. MVC Primeros Pasos • Botón atrás, tocar pantalla,… Views y Eventos • Listeners Adaptadores Intents y Bundles • Maneja eventos generados por un view o viewgroup. Ejecurión y Depuración 28 Librerías
  • 29. Eventos sobre componentes (II) • Button Introducción a Android Elementos Ciclo de vida: Activity Patrones de diseño Desarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos “Android recomienda que la actividad Adaptadores implemente la interfaz onXXXListener en Intents y Bundles lugar de usar clases anónimas” Ejecurión y Depuración 29 Librerías
  • 30. Eventos sobre componentes (III) • EditText Introducción a Android Elementos Ciclo de vida: Activity Patrones de diseño Desarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración 30 Librerías
  • 31. Eventos sobre componentes (IV) • ImageView Introducción a Android Elementos Ciclo de vida: Activity Patrones de diseño Desarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración 31 Librerías
  • 32. Eventos sobre componentes (V) • CheckBox Introducción a Android Elementos Ciclo de vida: Activity Patrones de diseño Desarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración 32 Librerías
  • 33. Eventos sobre componentes (VI) • Más Eventos • onLongClick, onFocusChange, onTouch, onKeyDown, onKeyUp,… • Más Componentes • Texto  TextView, AutocompleteTextView,… • Botón  ImageButton, TogleButton, RadioButton,… • Vistas compuestas  ExpandableListView, … • Barras  ProgressBar, SeekBar, RatinBar,… Introducción a Android Elementos Ciclo de vida: Activity Patrones de diseño ListItem Desarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles ¿Cómo lleno Ejecurión y Depuración la lista? 33 Librerías
  • 34. Adaptadores (I) • ¿Qué es? • Objeto que proporciona una interfaz común para cada modelo de datos detrás de un control de selección. • Tipos • ListAdapter • ArrayAdapter Introducción a Android • SpinnerAdapter Elementos Ciclo de vida: Activity • SimpleCursorAdapter Patrones de diseño Desarrollo con Android • CustomAdapters Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración 34 Librerías
  • 35. Adaptadores (II) • Ejemplo <?xml version="1.0" encoding="utf-8"?> <resources> <string-array name="comidas"> <item>Salchichas</item> <item>Huevos</item> <item>Tomates</item> </string-array> //Creamos el adaptador </resources> ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,R.array.comidas,android.R.layout.simple_spinner_item); Introducción a Android //Añadimos el layout para el menú Elementos adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); Ciclo de vida: Activity //Le indicamos al spinner el adaptador a usar Patrones de diseño prueba.setAdapter(adapter); Desarrollo con Android Entorno de trabajo SDK Android ¡Los datos no tienen porque proceder de recursos estáticos! MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración 35 Librerías
  • 36. Eventos sobre elementos Hw • Interfaz SensorEventListener Recuperamos el sensor mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE); List<Sensor> listSensors = mSensorManager.getSensorList(Sensor.TYPE_ACCELEROMETER); Método onSensorChanged() • Sensores Introducción a Android Elementos Ciclo de vida: Activity Patrones de diseño Desarrollo con Android Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración http://developer.android.com/reference/android/hardware/Sensor.html 36 Librerías
  • 37. Más sobre Actividades y Fragmentos • Tipos de Actividades y Fragmentos • ListActivity  Diseñada especialmente para trabajar con ListViews. • ListFragment  Idem. • Alguna más: TabActivity. • ¡Los fragmentos se “inflan” dentro de las actividades! View view = inflater.inflate(R.layout.fragment_edit_name, container); • Intents Introducción a Android • Objetos utilizados para enviar mensajes asíncronos dentro de una Elementos aplicación o entre varias aplicaciones. Ciclo de vida: Activity Patrones de diseño • Posibilitan la transición entre actividades. Desarrollo con Android • Permiten la comunicación entre componentes. Entorno de trabajo SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración http://androideity.com/2011/10/17/trabajando-con-intents-en-android-overview/ 37 Librerías
  • 38. Intents y Bundles (I) • Bundle • Contenedor para agrupar los datos. • Pueden ser usados conjuntamente con Intents. • Ejemplo Intent Intent intent = new Intent(); intent.setClass(getActivity(), NuevaActividad.class); intent.putExtra("identificador", id); Introducción a Android intent.putExtra("nombre", nombre); Elementos Ciclo de vida: Activity startActivity(intent); Patrones de diseño Desarrollo con Android identificador Entorno de trabajo nombre SDK Android MVC Actividad 1 Actividad 2 Primeros Pasos Views y Eventos Adaptadores String id = getActivity().getIntent().getStringExtra("identificador"); Intents y Bundles String nombre = getActivity().getIntent().getStringExtra("nombre"); Ejecurión y Depuración 38 Librerías
  • 39. Intents y Bundles (II) • Ejemplo Bundle Bundle b=new Bundle(); Bundle extras = intent.getExtras(); b.putString("myname", nombre); String key = extras.getString("mynkey"); ¡también podemos pasar objetos! Introducción a Android Serializable Parcelable Elementos Ciclo de vida: Activity Patrones de diseño Desarrollo con Android • ¡Hay mucho más!  Evolución constante Entorno de trabajo • Nuevos firmwares SDK Android MVC • Nuevas funciones Primeros Pasos Views y Eventos Adaptadores ¡Esto sólo ha sido el comienzo de una ¿gran? amistad! Intents y Bundles Ejecurión y Depuración 39 Librerías
  • 40. Ejecución de aplicaciones Dispositivos conectados Poner en modo depuracion Emuladores Introducción a Android Elementos Ciclo de vida: Activity Patrones de diseño Desarrollo con Android Entorno de trabajo SDK Android Dalvik Virtual Machine (DVM) MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles !NO OLVIDES LA DEPURACIÓN! Ejecurión y Depuración 40 Librerías
  • 41. Uso de Librerías • Hay librerías para todo y para todos • Almacenamiento de datos (SQLite) • Bibliotecas de medios • Bibliotecas gráficas (2D y 3D –OpenGL) • Servicios Web (Ksoap) • Mapas (API Google Maps) Introducción a Android • …¡y muchas más! Elementos Ciclo de vida: Activity Patrones de diseño Desarrollo con Android Entorno de trabajo REFERENCIA: http://developer.android.com/index.html SDK Android MVC Primeros Pasos Views y Eventos Adaptadores Intents y Bundles Ejecurión y Depuración 41 Librerías
  • 42. Android Quick Start V2.0 Jesús Fontecha Diezma 42