SlideShare a Scribd company logo
1 of 57
ANDROID
  DEL    1 AL 10
Yésica Hernández Hernández
               @yezika_ink
Temario
1    Antecedentes
2    Java SE
3    Android OS e instalación
4    Arquitectura MVC
5    Arquitectura de un programa
6    Interfaces de Usuario: Vistas e
7         Intenciones
8    Uso de Bases de Datos y
     Sistema de Archivos
9    Multimedia y Acceso a hw
10   CNDH: Una app en 15 minutos
Introducción Antecedentes




Uff !

             } Evolución de los celulares
Introducción Antecedentes




Wow

                          } 1997: Philips,"The Synergy"
            } acceso wireless a e-mail, internet y faxes.
Introducción Antecedentes




        yupi
Introducción: JAVA

Nace en 1995 con el proposito de proveer televisión
digital interactiva.
Implementa una MV que recibe codigo tipo Bytecode
WORA (Write once, run anywhere)
Controlado por el Java Comunnity Process

                Principios:
                Simple, orientado a objetos y familiar*
                Robusto y seguro
                Neutral respecto a la arquitectura y portable.
                Interpretado, dinamico y multihilo.

                          http://download.oracle.com/javase/
                          tutorial/
Introducción: JAVA

     Plataforma JAVA
           JVM: Maquina virtual de java
           API

     SDK
           Interface de Programación de Aplicaciones (API)
           Herramientas comunes:
                  Debug           Compilador
<3                IDE
           Código de muestra
                             Generador de documentación

           Documentación
     JRE
           Herramientas de despliegue
           Librerias
           JVM
Introducción: JAVA
Introducción: Android
Se anuncio en el 2007 (Open Handset Alliance)

HTC, LG Motorola, Samsung
China Mobile Communications, KDDI, DoCoMo, Sprint/Nextel, T-
Mobile, Telecom Italia, Telefonica
Audience, Broadcom, Intel, Marvell, NVidia Qualcomm, SiRF,
Synaptics
eBay, esmertec, Google, LivingImage, LiveWire, Nuance, Packet
Video, SkyPop, SONiVOX), Aplix, Noser, TAT, Wind River

                                                      Objetivo:
                   Proveer una plataforma para las aplicaciones
                        de dispositivos móviles a nivel mundial.
Introducción: Android

Problemas que propuso
resolver:
Fragmentación
Pilas de software
propietario
Redes cerradas
                        El entorno de ejecución
                        de Android:
                        Recursos limitados
                        Mezclas de elementos
                        (reutilizacion de
                        componentes)
                        Aplicaciones
                        intercambiables
Introducción: Android

       Capacidades
                                 Soporte de Hardware
       Disposición visual del    adicional: GPS,
          dispositivo              acelerometro,
       Almacenamiento              termometro,
       Conectividad                proximidad,
       Llamadas de voz y video     temperatura, etc
       Envio de mensajes         Bluetooth
wow    Multilenguaje
       Navegador web
                                 Reconocimiento de voz
                                 Multihilo
       Soporte de Java           Thetering
       Formatos multimedia
       Capacidades de
          transmisión
Introducción: Android

Capacidades
                          Soporte de Hardware
Disposición visual del    adicional: GPS,
   dispositivo              acelerometro,
Almacenamiento              termometro,
Conectividad                proximidad,
Llamadas de voz y video     temperatura, etc
Envio de mensajes         Bluetooth
Multilenguaje             Reconocimiento de voz
Navegador web             Multihilo
Soporte de Java           Thetering
Formatos multimedia
Capacidades de
   transmisión
Introducción: Android




!!!
Introducción: Android




      http://venturebeat.com/2011/07/25/att-gingerbread/
¿Por dónde empiezo? Ya
quiero desarrollar una app!

         Primero hay que
          instalar todo lo
             necesario,
           ¿Ya lo tienen?
Instalación
      Requisitos minimos

      Sistema operativos:    Windows Linux           Mac
      Hardware: Mínimo crítico 1 Gb en RAM*
                        Deseable mas de 2 Gb

      Software: Java SDK instalado y configurado
                      Driver USB para un dispositivo físico*

!!!   Descargar: Android SDK
                           Eclipse IDE / Netbeans
                           Driver USB*
                           Plugin(s) de desarrollo
Instalación
Contenido del SDK

Docs
Copia de la documentación mas reciente
Platforms
Librerias, imagenes de sistema, codigo de muestra,
skins y adb.
Platform-tools
Herramientas de desarrollo y depuración que
dependen de la plataforma y se actualizan cuando se
libera una nueva.
Tools
Herramientas de desarrollo y depuración, se
actualizan periodicamente.
Instalación
Configuración de Eclipse

Help > Install New Software

Agregar url: https://dl-ssl.google.com/android/eclipse/
Instalación
Configuración de Eclipse

Window > Preferences
Introducción: Android
       ADB (Linea de comandos)

       u Cliente y servidor en la maquina de desarrollo
       u Servicio (deamon) en el dispositivo
       u Establecer conexion con los dispositivos
       u Ejecutar comandos
       u Instalar aplicaciones
<3     u Obtener el log del sistema
       u Acceder a bases de datos SQLite en el dispositivo
Introducción: Android
  ANDROID (herramienta por linea de comandos o GUI)
Introducción: Android
  ANDROID (herramienta por linea de comandos o GUI)
Introducción: Android
                 ANDROID (herramienta por linea de comandos o GUI)




 Aqui estamos
descargando el
   api14 ICS
Introducción: Android
        DDMS (herramienta por linea de comandos o GUI)




Oh!
Introducción Android
Creando un dispositivo virtual

En la herramienta android se pueden crear
tanto dispositivos virtuales se deseen
Por linea de comandos:
                      ./RUTA_SDK_ANDROID/
tools/android

Por medio del IDE
Introducción: Android

             MAS INFORMACION


http://developer.android.com/ guide/
developing/tools/index.html

      Yes!
Programando en Android
¿Qué debo hacer primero?


u Entender los tipos de
  aplicaciones
u Entender el ciclo de vida
u Entender los elementos
  visuales
u Entender la interacción con
  la interfáz
Programando en Android
                   El modelo MVC en Android
 La parte visual
 que permite al                      Código que
     usuario                           recibe y
   interactuar                       procesa los
                                    eventos de la
                                         vista

   Define el
comportamiento
 u objetivo del
   programa
Programando en Android
                          Tipos de aplicación
      Aplicaciones en primer plano
      Tienen funcionalidad solo cuando estan en primer plano. Ejemplo:
      juegos y aplicaciones con mapas

      Aplicaciones en segundo plano
      Despues de ser configuradas pasan la mayor parte del tiempo
      ejecutandose en segundio plano, normalmente responden a
      eventos causados por el HW, sistema u otras aplicaciones por
      ejemplo la interfaz de las llamadas entrantes o salientes y el gestor
      de red
Oh!   Aplicaciones intermitentes
      Necesitan algunas interacciones con el usuario, pero generalmente
      resuelven todas sus actividades por si mismas, por ejemplo: el
      reproductor multimedia

      Widgets
      Se ejecutan desde la pantalla de Home del usuario.
Programando en Android
                       Componentes de una aplicación
   El usuario
                  Actividades
     puede
 interactuar a    Consiste en una pantalla con una sola interfaz de usuario,
travez de ellas   una aplicación se compone de un conjunto de actividades.
                  Se compone por la definición de un esqueleto xml de la
                  interfáz o varios y una clase controladora que hace uso de
                  dichos elementos.

                  Servicios
                  Se ejecuta en segundo plano y provee funcionalidad a otras
                  aplicaciones. Por ejemplo el reproductor de música que
                  corre en segundo plano mientras hacemos otras tareas
                                Tienen un
                               ciclo de vida
                              diferente a las
                                actividades
Programando en Android
                     Componentes de una aplicación
Por ejemplo,
  existe un     Proveedores de contenido
 proveedor
  para los      Permiten compartir datos con otras actividades y servicios.
contactos del   Usan una interfáz estándar en forma de URI.
   teléfono
                Cuando una aplicación es registrada en el sistema como
                proveedor de contenido, puede ser capaz de responder a
                estas peticiones

                Notificaciones
                Permiten desplegar de forma visual y/o auditiva mensajes
                para capturar la atención del usuario.
                              Se pueden
                             personalizar
                        visualmente u obtener
                           datos a través de
                                 ellas
Programando en Android
  El ciclo de vida de una
          Actividad
Para cada Actividad se deben
sobrecargar los metodos:
      onCreate
      onStart
      onResume
      onPause
      onStop
      onDestroy
Programando en Android
                              Ciclo de vida
        onCreate
        es llamada cuando la aplicacion se crea por primera vez.
        Crear e inicar elementos de las vistas, bd
        Objeter mensajes de otras actividades (mediante un Bundle)

        onStart
        es llamada cuando la actividad se muestra en pantalla,

        onResume
Me!     se ejecuta despues de onStart si la actividad corre en segundo
        plano de la vista, puede manejar los eventos derivados de la
        vista.
        Si otra aplicacion pide el foco en pantalla y luego al finalizar
        devuelve la vista a nuestra aplicacion, se ejecuta para poder
        actualizar datos en la vista.
Programando en Android
                          Ciclo de vida
      onPause
      Cuando se hace la transición a otra actividad, aqui se puede
      definir que partes del programa no se deben seguir
      ejecutando para ahorrar recursos.
      En este estado, si el dispositivo de queda sin memoria,
      considerara terminar la aplicación.

      onStop
      se ejecuta cuando la actividad no esta visible ya sea porque

Me!
      otra actividad solicitó el foco o porque la activida será
      destruida

      onDestroy
      es el último método de la aplicación que se ejecutará antes
      de que el proceso sea destruido
Programando en Android
                 Errores en tiempo de ejecución


ADB juega un
   papel
fundamental
para hallar el
    error
Programando en Android
                      AndroidManifest.xml
      Proposito
      Este archivo define la estructura y los metadatos de la
      aplicacion, sus componentes y requerimientos.
      Define cada componente de la aplicacion en un nodo y para
      cada uno define filtros de intentos y permisos que controlan la
      interaccion entre ellos.
      Define configuraciones de seguridad, requerimientos de
      hardware y de plataforma.

Oh!   Algunos elementos:

      reqFiveWayNav - especifica que el dispositivo debe tener un
      trackball o un D-pad

      reqHardKeyboard - especifica que se necesita un teclado fisico
Programando en Android
             AndroidManifest.xml
        Algunos elementos:
        uses-feature
               android.hardware.camera si se requiere la camara del
               dispositivo
        suports-screns
               smallScreens - QVGA
               normalScreen - WVGA
               anyDensity - si la aplicacion se acomodaa cualquier
               densidad
        application

Oh!
               activity
               provider
               receiver
        uses-permision - habilita el uso de recursos
        permision - establece restricciones al acceder a la aplicacion
        instrumentation - declara clases de prueba de la aplicacion
        .
Programando en Android
             Configuración de AndroidManifest.xml
 Configuraciones que ya tenemos
 Declaración de las actividades que forman la aplicación

 Lo que vamos a agregar

 Indicar qué actividad es la inicial

      <intent-filter>
         <action android:name="android.intent.action.MAIN" />
         <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>
Programando en Android
         Configuración de AndroidManifest.xml
 <activity android:label="@string/app_name"
 android:name="ControladorLogo">
     <intent-filter>
     <action android:name="android.intent.action.MAIN" />
     <category android:name="android.intent.category.LAUNCHER" />
     </intent-filter>
  </activity>
  <activity android:name="ControladorJuego" />
Programando en Android

        Configuración de AndroidManifest.xml

<uses-sdk android:minSdkVersion="8" />
<uses-permission
android:name="android.permission.VIBRATE" />


Por ejemplo aquí estamos otorgando a la aplicación permiso para
que pueda generar vibraciones a través del hardware del teléfono



             Wow
Programando en Android
                  Comunicación e Intenciones (intents)
                 Las actividades, servicios y los receptores de mensajes de difusión
  Reutilizar     se comunican y son invocados mediante mensajes asíncronos
funciones de     llamados Intents,
  otras apps
                 Permiten invocar actividades de otras aplicaciones
                 Permiten enviar datos mediante un objeto de tipo Bundle que puede
                 contener objetos serializables

 Compartimos     Los elementos accesibles se pueden referenciar por su nombre de
  información    clase + paquete o bien por una URI
      entre
   Actividades
                           Nombre
                           clase o
                           destino

                                                                      Activity
                            Datos
Programando en Android
Elementos visuales

        Un mundo de
        posibilidades
        para combinar
           y crear




Me!
Programando en Android
                 Elementos visuales

Elemento miElementoX = (Elemento)findViewById(R.id.X);


      Todos
     heredan
   propiedades
     de View
Programando en Android
                                  Elementos visuales
              Estructura xml          <LinearLayout xmlns:android="http://
               que define id          schemas.android.com/apk/res/android"
                                        android:id="@+id/root"
                                        android:orientation="vertical"
 Referencia en                          android:background="@drawable/lt_gray"
 el código del id                       android:layout_width="fill_parent"
                                        android:layout_height="wrap_content">
                                        ... otros elementos....
package curso.ejemplo.ids;            </LinearLayout>
import android.app.Activity;
import android.os.Bundle;

public class AndroidDemo extends Activity {
  private LinearLayout root;
  @Override public void onCreate(Bundle state) {
    super.onCreate(state);
    setContentView(R.layout.main);
    root = (LinearLayout) findViewById(R.id.root);
  }
}
Programando en Android
           Jugando con eventos




                                   Acciones
                                 guiadas por el
                                    usuario

  Toca
 Desliza
Presiona
Programando en Android

       Jugando con eventos
       Button.OnClickListener listener = new
       Button.OnClickListener() {
            @Override public void onClick(View arg0) {

          .........................acciones............................

^^          } };

           ((Button) findViewById(R.id.button1)).setOnClickListener
       (listener);
Programando en Android
               Menús
 Se lanza al
presionar un
  elemento
  particular




                              Se obtiene
                              con la tecla
                                 Menu
Programando en Android
                 Alertas y diálogos

                                       Se puede
                                        obtener
                                      información
                                         de ellos
   Mensaje
informativo, 1
  a la vez y
 desaparece
     solo
Programando en Android
       Almacenamiento

A

               B
                         C




                             D




                    E
Programando en Android


                    Acceso a hardware

Se necesita establecer permisos en el Android Manifest para
acceder a la mayoría de los recursos
El API cuenta con clases especializadas para manejar de forma
sencilla el harware disponible: GPS, Acelerómetro, Vibrador,
Sonido, Cámara, Micrófono, Bluetooth



             Intents
Programando en Android
                        private void recordVideo(Uri outputpath) {

                               Intent intent = new        Intent
                        (MediaStore.ACTION_VIDEO_CAPTURE);
Acceso a hardware




                               If (outputpath != null)
                               intent.putExtra(MediaStore.EXTRA_OUTPUT, output);
                               intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY,
                               HIGH_VIDEO_QUALITY);
                               startActivityForResult(intent, RECORD_VIDEO);
                        }
                                        @Override
                                        protected void onActivityResult(int requestCode,
                                        int resultCode, Intent data) {

                                                 if (requestCode == RECORD_VIDEO) {
                                                 Uri recordedVideo = data.getData();
                                                 //…. Otras acciones
                                         }}
Programando en Android
                        En el Android Manifest

                        <uses-permission android:name="android.permission.CAMERA"/>
Acceso a hardware




                        En el código

                        Camera camera = Camera.open();
                        Camera.Parameters parameters = camera.getParameters();
                        List<String> colorEffects = parameters.getSupportedColorEffects();
                        if (colorEffects.contains(Camera.Parameters.EFFECT_SEPIA))
                        parameters.setColorEffect(Camera.Parameters.EFFECT_SEPIA);
                        camera.setParameters(parameters);
                        camera.release();
Reproducir
                             un video




   Menu
  usando                  Usar
  layouts               contenido
compuestas              basado en
                           web



 Una aplicación en 15 minutos
                        Una app para
                        la CNDH
Programando en Android

                        Refinando la aplicación
 Antes de
teclear sin
 control…
              Recomendaciones para programar en Android
                 * No hacer suposiciones sobre el tamaño de la
                   pantalla o la resolución
                 * Nunca codificar los valores de cadena en el
                   código
                 * Utilizar diseños relativos y píxeles
                   independientes del        dispositivo
                 * Optimizar los activos para diferentes
                   resoluciones de pantalla
                 * Determinar qué APIs están disponibles
                 * Guarde los valores como los recursos
              (colores,dimensiones, matrices, imágenes, diseños)
Programando en Android
     Creando un proyecto
       usando Eclipse

El plugin que se instaló en eclipse permite
crear automáticamente proyectos con la
estructura adecuada, acceder a las
dispositivos virtuales y capacidades de
depuración



      File>New>AndroidProject
Programando en Android
                                Referencia
                                 de todos
Estructura de un proyecto       los objetos


             Clases
                                 Objetos
                                 del API



                             Textos, menús
            Recursos            colores,
                             formas, estilos
             visuales


         Esqueleto de las
             vistas
                                   Config.
                                  de la app
Programando en Android
Arquitectura de la applicación CNDH




Happy
coding

More Related Content

What's hot

Ventajas y desvetajas de Android
Ventajas y desvetajas de AndroidVentajas y desvetajas de Android
Ventajas y desvetajas de AndroidGore Ochoa
 
Desarrollo android -1 - introduccion
Desarrollo android  -1 - introduccionDesarrollo android  -1 - introduccion
Desarrollo android -1 - introduccionEmilio Aviles Avila
 
ANDROID INFORMACION
ANDROID INFORMACIONANDROID INFORMACION
ANDROID INFORMACIONFranco Paton
 
Sistema operativo android
Sistema operativo androidSistema operativo android
Sistema operativo androidRlaxYeah
 
Desarrollo en Android: Conceptos Básicos
Desarrollo en Android: Conceptos BásicosDesarrollo en Android: Conceptos Básicos
Desarrollo en Android: Conceptos BásicosGabriel Huecas
 
Sistema Operativo. android
Sistema Operativo. androidSistema Operativo. android
Sistema Operativo. androidnavarrocar
 
Sistema operativo android
Sistema operativo androidSistema operativo android
Sistema operativo androidingrythf
 
SISTEMA OPERATIVO ANDROID 27-03-15
SISTEMA OPERATIVO ANDROID 27-03-15SISTEMA OPERATIVO ANDROID 27-03-15
SISTEMA OPERATIVO ANDROID 27-03-15Lamar Smith
 
Concepto de Sistema Operativo Android
Concepto de Sistema Operativo AndroidConcepto de Sistema Operativo Android
Concepto de Sistema Operativo Androidingjmlobaton
 
Terminado,sistmas operativos
Terminado,sistmas operativosTerminado,sistmas operativos
Terminado,sistmas operativosJoseteMarta11
 
Sistemas operativos "Android"
Sistemas operativos "Android"Sistemas operativos "Android"
Sistemas operativos "Android"Lupita Solano
 
Sistema operativo android (1)
Sistema operativo android (1)Sistema operativo android (1)
Sistema operativo android (1)FranCy TEllo
 

What's hot (20)

Ventajas y desvetajas de Android
Ventajas y desvetajas de AndroidVentajas y desvetajas de Android
Ventajas y desvetajas de Android
 
Conceptos y Generalidades de Android
Conceptos y Generalidades de AndroidConceptos y Generalidades de Android
Conceptos y Generalidades de Android
 
Sistema Operativo Android
Sistema Operativo AndroidSistema Operativo Android
Sistema Operativo Android
 
Desarrollo android -1 - introduccion
Desarrollo android  -1 - introduccionDesarrollo android  -1 - introduccion
Desarrollo android -1 - introduccion
 
Tema SISTEMA OPERATIVO ANDROID
Tema SISTEMA OPERATIVO ANDROIDTema SISTEMA OPERATIVO ANDROID
Tema SISTEMA OPERATIVO ANDROID
 
Sistema operativo android
Sistema operativo androidSistema operativo android
Sistema operativo android
 
ANDROID INFORMACION
ANDROID INFORMACIONANDROID INFORMACION
ANDROID INFORMACION
 
Exposición - Android
Exposición - AndroidExposición - Android
Exposición - Android
 
Sistema operativo android
Sistema operativo androidSistema operativo android
Sistema operativo android
 
Desarrollo en Android: Conceptos Básicos
Desarrollo en Android: Conceptos BásicosDesarrollo en Android: Conceptos Básicos
Desarrollo en Android: Conceptos Básicos
 
Sistema Operativo. android
Sistema Operativo. androidSistema Operativo. android
Sistema Operativo. android
 
Sistema operativo android
Sistema operativo androidSistema operativo android
Sistema operativo android
 
SISTEMA OPERATIVO ANDROID 27-03-15
SISTEMA OPERATIVO ANDROID 27-03-15SISTEMA OPERATIVO ANDROID 27-03-15
SISTEMA OPERATIVO ANDROID 27-03-15
 
Concepto de Sistema Operativo Android
Concepto de Sistema Operativo AndroidConcepto de Sistema Operativo Android
Concepto de Sistema Operativo Android
 
Power point
Power pointPower point
Power point
 
Curso Android 2021
Curso Android  2021Curso Android  2021
Curso Android 2021
 
Terminado,sistmas operativos
Terminado,sistmas operativosTerminado,sistmas operativos
Terminado,sistmas operativos
 
Sistemas operativos "Android"
Sistemas operativos "Android"Sistemas operativos "Android"
Sistemas operativos "Android"
 
Android
AndroidAndroid
Android
 
Sistema operativo android (1)
Sistema operativo android (1)Sistema operativo android (1)
Sistema operativo android (1)
 

Viewers also liked

Manual programación android
Manual programación android Manual programación android
Manual programación android dcastacun
 
Interfaces increibles en Android
Interfaces increibles en AndroidInterfaces increibles en Android
Interfaces increibles en Androidjezabelink
 
Sistema Operativo Android; versiones, historia
Sistema Operativo Android; versiones, historiaSistema Operativo Android; versiones, historia
Sistema Operativo Android; versiones, historiaKaren Nuñez
 
Presentacion Android
Presentacion AndroidPresentacion Android
Presentacion AndroidJuan Antonio
 
Diseño de interfaces móviles (UX y la arquitectura de software)
Diseño de interfaces móviles (UX y la arquitectura de software)Diseño de interfaces móviles (UX y la arquitectura de software)
Diseño de interfaces móviles (UX y la arquitectura de software)jezabelink
 
Desarrollo de Aplicaciones Moviles en Android: Temas Avanzados
Desarrollo de Aplicaciones Moviles en Android: Temas AvanzadosDesarrollo de Aplicaciones Moviles en Android: Temas Avanzados
Desarrollo de Aplicaciones Moviles en Android: Temas AvanzadosGabriel Huecas
 
Introducción Arduino - Proyecto BitABit
Introducción Arduino - Proyecto BitABitIntroducción Arduino - Proyecto BitABit
Introducción Arduino - Proyecto BitABitJose Manuel Mencia Leal
 
Cylon.js - Javascript for Robotics Projects
Cylon.js - Javascript for Robotics ProjectsCylon.js - Javascript for Robotics Projects
Cylon.js - Javascript for Robotics ProjectsLuis Toscano
 
operaciones aritméticas usando
operaciones aritméticas  usando operaciones aritméticas  usando
operaciones aritméticas usando Sarahi Garcia Ruiz
 
Introducción a Android para desarrolladores Java
Introducción a Android para desarrolladores JavaIntroducción a Android para desarrolladores Java
Introducción a Android para desarrolladores JavaCésar Suárez Ortega
 
Intro. a Android Instituto Bosc de la Coma en Olot
Intro. a Android Instituto Bosc de la Coma en OlotIntro. a Android Instituto Bosc de la Coma en Olot
Intro. a Android Instituto Bosc de la Coma en Olothojalataverde
 

Viewers also liked (19)

Manual programación android
Manual programación android Manual programación android
Manual programación android
 
Interfaces increibles en Android
Interfaces increibles en AndroidInterfaces increibles en Android
Interfaces increibles en Android
 
Sistema Operativo Android; versiones, historia
Sistema Operativo Android; versiones, historiaSistema Operativo Android; versiones, historia
Sistema Operativo Android; versiones, historia
 
Presentacion Android
Presentacion AndroidPresentacion Android
Presentacion Android
 
Diseño de interfaces móviles (UX y la arquitectura de software)
Diseño de interfaces móviles (UX y la arquitectura de software)Diseño de interfaces móviles (UX y la arquitectura de software)
Diseño de interfaces móviles (UX y la arquitectura de software)
 
Taller de Android
Taller de AndroidTaller de Android
Taller de Android
 
Primer Ejemplo de Proyecto en Android Studio
Primer Ejemplo de Proyecto en Android StudioPrimer Ejemplo de Proyecto en Android Studio
Primer Ejemplo de Proyecto en Android Studio
 
Diapositivas android
Diapositivas androidDiapositivas android
Diapositivas android
 
APLICACIONES CREADAS PARA ANDROID
APLICACIONES CREADAS PARA ANDROIDAPLICACIONES CREADAS PARA ANDROID
APLICACIONES CREADAS PARA ANDROID
 
Desarrollo de Aplicaciones Moviles en Android: Temas Avanzados
Desarrollo de Aplicaciones Moviles en Android: Temas AvanzadosDesarrollo de Aplicaciones Moviles en Android: Temas Avanzados
Desarrollo de Aplicaciones Moviles en Android: Temas Avanzados
 
El gran libro de android
El gran libro de androidEl gran libro de android
El gran libro de android
 
Introducción Arduino - Proyecto BitABit
Introducción Arduino - Proyecto BitABitIntroducción Arduino - Proyecto BitABit
Introducción Arduino - Proyecto BitABit
 
Android: Interfaz de Usuario
Android: Interfaz de UsuarioAndroid: Interfaz de Usuario
Android: Interfaz de Usuario
 
20160229 SET Meetup Internet of Things
20160229 SET Meetup Internet of Things20160229 SET Meetup Internet of Things
20160229 SET Meetup Internet of Things
 
Cylon.js - Javascript for Robotics Projects
Cylon.js - Javascript for Robotics ProjectsCylon.js - Javascript for Robotics Projects
Cylon.js - Javascript for Robotics Projects
 
operaciones aritméticas usando
operaciones aritméticas  usando operaciones aritméticas  usando
operaciones aritméticas usando
 
Introducción a Android para desarrolladores Java
Introducción a Android para desarrolladores JavaIntroducción a Android para desarrolladores Java
Introducción a Android para desarrolladores Java
 
Herencia Y Polimorfismo
Herencia Y PolimorfismoHerencia Y Polimorfismo
Herencia Y Polimorfismo
 
Intro. a Android Instituto Bosc de la Coma en Olot
Intro. a Android Instituto Bosc de la Coma en OlotIntro. a Android Instituto Bosc de la Coma en Olot
Intro. a Android Instituto Bosc de la Coma en Olot
 

Similar to Introducción a Android: 10 cosas importantes que hay que entender

Curso Android tema 1
Curso Android tema 1Curso Android tema 1
Curso Android tema 1Frank Jorge
 
Curso Android Tema 2
Curso Android Tema 2Curso Android Tema 2
Curso Android Tema 2Frank Jorge
 
Taller de prog. en android
Taller de prog. en androidTaller de prog. en android
Taller de prog. en androidKarla Silva
 
Android
AndroidAndroid
AndroidCOECYS
 
"Android de la A a la Z" -- Unidad 1
"Android de la A a la Z" -- Unidad 1"Android de la A a la Z" -- Unidad 1
"Android de la A a la Z" -- Unidad 1Android UNAM
 
Deletreando Android
Deletreando AndroidDeletreando Android
Deletreando Androidjezabelink
 
12j sistemaandroid texto
12j sistemaandroid texto12j sistemaandroid texto
12j sistemaandroid textoHenry Ortiz
 
Android de la A a la Z - Unidad 1
Android de la A a la Z - Unidad 1Android de la A a la Z - Unidad 1
Android de la A a la Z - Unidad 1Jorge Ulises
 
Desarrollo de apps multiplataforma Movil
Desarrollo de apps multiplataforma MovilDesarrollo de apps multiplataforma Movil
Desarrollo de apps multiplataforma MovilIng Erick Guardado
 
Introducción a la programación androide
Introducción a la programación androideIntroducción a la programación androide
Introducción a la programación androideJomicast
 
Curso Iniciacion android
Curso Iniciacion androidCurso Iniciacion android
Curso Iniciacion androidZix Stdio
 
PhoneGap
PhoneGapPhoneGap
PhoneGapcccori
 

Similar to Introducción a Android: 10 cosas importantes que hay que entender (20)

App inventor
App inventorApp inventor
App inventor
 
Curso Android tema 1
Curso Android tema 1Curso Android tema 1
Curso Android tema 1
 
Documento de android
Documento de androidDocumento de android
Documento de android
 
Curso Android Tema 2
Curso Android Tema 2Curso Android Tema 2
Curso Android Tema 2
 
Taller de prog. en android
Taller de prog. en androidTaller de prog. en android
Taller de prog. en android
 
Android
AndroidAndroid
Android
 
Sistema Android
Sistema AndroidSistema Android
Sistema Android
 
"Android de la A a la Z" -- Unidad 1
"Android de la A a la Z" -- Unidad 1"Android de la A a la Z" -- Unidad 1
"Android de la A a la Z" -- Unidad 1
 
Deletreando Android
Deletreando AndroidDeletreando Android
Deletreando Android
 
12j sistemaandroid texto
12j sistemaandroid texto12j sistemaandroid texto
12j sistemaandroid texto
 
Android p
Android pAndroid p
Android p
 
Android
AndroidAndroid
Android
 
Android de la A a la Z - Unidad 1
Android de la A a la Z - Unidad 1Android de la A a la Z - Unidad 1
Android de la A a la Z - Unidad 1
 
Desarrollo de apps multiplataforma Movil
Desarrollo de apps multiplataforma MovilDesarrollo de apps multiplataforma Movil
Desarrollo de apps multiplataforma Movil
 
Introducción a la programación androide
Introducción a la programación androideIntroducción a la programación androide
Introducción a la programación androide
 
Curso Iniciacion android
Curso Iniciacion androidCurso Iniciacion android
Curso Iniciacion android
 
Material rap1
Material rap1Material rap1
Material rap1
 
android evolution
android evolutionandroid evolution
android evolution
 
PhoneGap
PhoneGapPhoneGap
PhoneGap
 
Android
AndroidAndroid
Android
 

Recently uploaded

HISPANIDAD - La cultura común de la HISPANOAMERICA
HISPANIDAD - La cultura común de la HISPANOAMERICAHISPANIDAD - La cultura común de la HISPANOAMERICA
HISPANIDAD - La cultura común de la HISPANOAMERICAJesus Gonzalez Losada
 
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxSecuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxNataliaGonzalez619348
 
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdfMEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdfJosé Hecht
 
Abregú, Podestá. Directores.Líderes en Acción.
Abregú, Podestá. Directores.Líderes en Acción.Abregú, Podestá. Directores.Líderes en Acción.
Abregú, Podestá. Directores.Líderes en Acción.profandrearivero
 
Amor o egoísmo, esa es la cuestión por definir.pdf
Amor o egoísmo, esa es la cuestión por definir.pdfAmor o egoísmo, esa es la cuestión por definir.pdf
Amor o egoísmo, esa es la cuestión por definir.pdfAlejandrino Halire Ccahuana
 
historieta materia de ecologías producto
historieta materia de ecologías productohistorieta materia de ecologías producto
historieta materia de ecologías productommartinezmarquez30
 
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/F
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/FEl PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/F
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/FJulio Lozano
 
BITÁCORA DE ESTUDIO DE PROBLEMÁTICA. TUTORÍA V. PDF 2 UNIDAD.pdf
BITÁCORA DE ESTUDIO DE PROBLEMÁTICA. TUTORÍA V. PDF 2 UNIDAD.pdfBITÁCORA DE ESTUDIO DE PROBLEMÁTICA. TUTORÍA V. PDF 2 UNIDAD.pdf
BITÁCORA DE ESTUDIO DE PROBLEMÁTICA. TUTORÍA V. PDF 2 UNIDAD.pdfsolidalilaalvaradoro
 
describimos como son afectados las regiones naturales del peru por la ola de ...
describimos como son afectados las regiones naturales del peru por la ola de ...describimos como son afectados las regiones naturales del peru por la ola de ...
describimos como son afectados las regiones naturales del peru por la ola de ...DavidBautistaFlores1
 
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfFichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfssuser50d1252
 
TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)
TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)
TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)jlorentemartos
 
NUEVO PLAN Y PROGRAMAS DE ESTUDIO 2022.pdf
NUEVO PLAN Y PROGRAMAS DE ESTUDIO  2022.pdfNUEVO PLAN Y PROGRAMAS DE ESTUDIO  2022.pdf
NUEVO PLAN Y PROGRAMAS DE ESTUDIO 2022.pdfEDNAMONICARUIZNIETO
 
SESIÓN DE APRENDIZAJE Leemos un texto para identificar los sinónimos y los an...
SESIÓN DE APRENDIZAJE Leemos un texto para identificar los sinónimos y los an...SESIÓN DE APRENDIZAJE Leemos un texto para identificar los sinónimos y los an...
SESIÓN DE APRENDIZAJE Leemos un texto para identificar los sinónimos y los an...GIANCARLOORDINOLAORD
 
Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.monthuerta17
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...YobanaZevallosSantil1
 
PPT_ Prefijo homo tema para trabajar los prefijos en razonamiento verbal
PPT_ Prefijo homo tema para trabajar los prefijos en razonamiento verbalPPT_ Prefijo homo tema para trabajar los prefijos en razonamiento verbal
PPT_ Prefijo homo tema para trabajar los prefijos en razonamiento verbalRosarioChoque3
 
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfFichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfssuser50d1252
 
Desarrollo de habilidades del siglo XXI - Práctica Educativa en una Unidad-Ca...
Desarrollo de habilidades del siglo XXI - Práctica Educativa en una Unidad-Ca...Desarrollo de habilidades del siglo XXI - Práctica Educativa en una Unidad-Ca...
Desarrollo de habilidades del siglo XXI - Práctica Educativa en una Unidad-Ca...Carol Andrea Eraso Guerrero
 

Recently uploaded (20)

HISPANIDAD - La cultura común de la HISPANOAMERICA
HISPANIDAD - La cultura común de la HISPANOAMERICAHISPANIDAD - La cultura común de la HISPANOAMERICA
HISPANIDAD - La cultura común de la HISPANOAMERICA
 
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxSecuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
 
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdfMEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
 
Abregú, Podestá. Directores.Líderes en Acción.
Abregú, Podestá. Directores.Líderes en Acción.Abregú, Podestá. Directores.Líderes en Acción.
Abregú, Podestá. Directores.Líderes en Acción.
 
Amor o egoísmo, esa es la cuestión por definir.pdf
Amor o egoísmo, esa es la cuestión por definir.pdfAmor o egoísmo, esa es la cuestión por definir.pdf
Amor o egoísmo, esa es la cuestión por definir.pdf
 
historieta materia de ecologías producto
historieta materia de ecologías productohistorieta materia de ecologías producto
historieta materia de ecologías producto
 
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/F
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/FEl PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/F
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/F
 
BITÁCORA DE ESTUDIO DE PROBLEMÁTICA. TUTORÍA V. PDF 2 UNIDAD.pdf
BITÁCORA DE ESTUDIO DE PROBLEMÁTICA. TUTORÍA V. PDF 2 UNIDAD.pdfBITÁCORA DE ESTUDIO DE PROBLEMÁTICA. TUTORÍA V. PDF 2 UNIDAD.pdf
BITÁCORA DE ESTUDIO DE PROBLEMÁTICA. TUTORÍA V. PDF 2 UNIDAD.pdf
 
describimos como son afectados las regiones naturales del peru por la ola de ...
describimos como son afectados las regiones naturales del peru por la ola de ...describimos como son afectados las regiones naturales del peru por la ola de ...
describimos como son afectados las regiones naturales del peru por la ola de ...
 
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfFichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
 
TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)
TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)
TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)
 
NUEVO PLAN Y PROGRAMAS DE ESTUDIO 2022.pdf
NUEVO PLAN Y PROGRAMAS DE ESTUDIO  2022.pdfNUEVO PLAN Y PROGRAMAS DE ESTUDIO  2022.pdf
NUEVO PLAN Y PROGRAMAS DE ESTUDIO 2022.pdf
 
SESIÓN DE APRENDIZAJE Leemos un texto para identificar los sinónimos y los an...
SESIÓN DE APRENDIZAJE Leemos un texto para identificar los sinónimos y los an...SESIÓN DE APRENDIZAJE Leemos un texto para identificar los sinónimos y los an...
SESIÓN DE APRENDIZAJE Leemos un texto para identificar los sinónimos y los an...
 
Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
 
Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 
PPT_ Prefijo homo tema para trabajar los prefijos en razonamiento verbal
PPT_ Prefijo homo tema para trabajar los prefijos en razonamiento verbalPPT_ Prefijo homo tema para trabajar los prefijos en razonamiento verbal
PPT_ Prefijo homo tema para trabajar los prefijos en razonamiento verbal
 
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfFichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
 
Desarrollo de habilidades del siglo XXI - Práctica Educativa en una Unidad-Ca...
Desarrollo de habilidades del siglo XXI - Práctica Educativa en una Unidad-Ca...Desarrollo de habilidades del siglo XXI - Práctica Educativa en una Unidad-Ca...
Desarrollo de habilidades del siglo XXI - Práctica Educativa en una Unidad-Ca...
 
El Bullying.
El Bullying.El Bullying.
El Bullying.
 

Introducción a Android: 10 cosas importantes que hay que entender

  • 1. ANDROID DEL 1 AL 10 Yésica Hernández Hernández @yezika_ink
  • 2. Temario 1 Antecedentes 2 Java SE 3 Android OS e instalación 4 Arquitectura MVC 5 Arquitectura de un programa 6 Interfaces de Usuario: Vistas e 7 Intenciones 8 Uso de Bases de Datos y Sistema de Archivos 9 Multimedia y Acceso a hw 10 CNDH: Una app en 15 minutos
  • 3. Introducción Antecedentes Uff ! } Evolución de los celulares
  • 4. Introducción Antecedentes Wow } 1997: Philips,"The Synergy" } acceso wireless a e-mail, internet y faxes.
  • 6. Introducción: JAVA Nace en 1995 con el proposito de proveer televisión digital interactiva. Implementa una MV que recibe codigo tipo Bytecode WORA (Write once, run anywhere) Controlado por el Java Comunnity Process Principios: Simple, orientado a objetos y familiar* Robusto y seguro Neutral respecto a la arquitectura y portable. Interpretado, dinamico y multihilo. http://download.oracle.com/javase/ tutorial/
  • 7. Introducción: JAVA Plataforma JAVA JVM: Maquina virtual de java API SDK Interface de Programación de Aplicaciones (API) Herramientas comunes: Debug Compilador <3 IDE Código de muestra Generador de documentación Documentación JRE Herramientas de despliegue Librerias JVM
  • 9. Introducción: Android Se anuncio en el 2007 (Open Handset Alliance) HTC, LG Motorola, Samsung China Mobile Communications, KDDI, DoCoMo, Sprint/Nextel, T- Mobile, Telecom Italia, Telefonica Audience, Broadcom, Intel, Marvell, NVidia Qualcomm, SiRF, Synaptics eBay, esmertec, Google, LivingImage, LiveWire, Nuance, Packet Video, SkyPop, SONiVOX), Aplix, Noser, TAT, Wind River Objetivo: Proveer una plataforma para las aplicaciones de dispositivos móviles a nivel mundial.
  • 10. Introducción: Android Problemas que propuso resolver: Fragmentación Pilas de software propietario Redes cerradas El entorno de ejecución de Android: Recursos limitados Mezclas de elementos (reutilizacion de componentes) Aplicaciones intercambiables
  • 11. Introducción: Android Capacidades Soporte de Hardware Disposición visual del adicional: GPS, dispositivo acelerometro, Almacenamiento termometro, Conectividad proximidad, Llamadas de voz y video temperatura, etc Envio de mensajes Bluetooth wow Multilenguaje Navegador web Reconocimiento de voz Multihilo Soporte de Java Thetering Formatos multimedia Capacidades de transmisión
  • 12. Introducción: Android Capacidades Soporte de Hardware Disposición visual del adicional: GPS, dispositivo acelerometro, Almacenamiento termometro, Conectividad proximidad, Llamadas de voz y video temperatura, etc Envio de mensajes Bluetooth Multilenguaje Reconocimiento de voz Navegador web Multihilo Soporte de Java Thetering Formatos multimedia Capacidades de transmisión
  • 14. Introducción: Android http://venturebeat.com/2011/07/25/att-gingerbread/
  • 15. ¿Por dónde empiezo? Ya quiero desarrollar una app! Primero hay que instalar todo lo necesario, ¿Ya lo tienen?
  • 16. Instalación Requisitos minimos Sistema operativos: Windows Linux Mac Hardware: Mínimo crítico 1 Gb en RAM* Deseable mas de 2 Gb Software: Java SDK instalado y configurado Driver USB para un dispositivo físico* !!! Descargar: Android SDK Eclipse IDE / Netbeans Driver USB* Plugin(s) de desarrollo
  • 17. Instalación Contenido del SDK Docs Copia de la documentación mas reciente Platforms Librerias, imagenes de sistema, codigo de muestra, skins y adb. Platform-tools Herramientas de desarrollo y depuración que dependen de la plataforma y se actualizan cuando se libera una nueva. Tools Herramientas de desarrollo y depuración, se actualizan periodicamente.
  • 18. Instalación Configuración de Eclipse Help > Install New Software Agregar url: https://dl-ssl.google.com/android/eclipse/
  • 20. Introducción: Android ADB (Linea de comandos) u Cliente y servidor en la maquina de desarrollo u Servicio (deamon) en el dispositivo u Establecer conexion con los dispositivos u Ejecutar comandos u Instalar aplicaciones <3 u Obtener el log del sistema u Acceder a bases de datos SQLite en el dispositivo
  • 21. Introducción: Android ANDROID (herramienta por linea de comandos o GUI)
  • 22. Introducción: Android ANDROID (herramienta por linea de comandos o GUI)
  • 23. Introducción: Android ANDROID (herramienta por linea de comandos o GUI) Aqui estamos descargando el api14 ICS
  • 24. Introducción: Android DDMS (herramienta por linea de comandos o GUI) Oh!
  • 25. Introducción Android Creando un dispositivo virtual En la herramienta android se pueden crear tanto dispositivos virtuales se deseen Por linea de comandos: ./RUTA_SDK_ANDROID/ tools/android Por medio del IDE
  • 26. Introducción: Android MAS INFORMACION http://developer.android.com/ guide/ developing/tools/index.html Yes!
  • 27. Programando en Android ¿Qué debo hacer primero? u Entender los tipos de aplicaciones u Entender el ciclo de vida u Entender los elementos visuales u Entender la interacción con la interfáz
  • 28. Programando en Android El modelo MVC en Android La parte visual que permite al Código que usuario recibe y interactuar procesa los eventos de la vista Define el comportamiento u objetivo del programa
  • 29. Programando en Android Tipos de aplicación Aplicaciones en primer plano Tienen funcionalidad solo cuando estan en primer plano. Ejemplo: juegos y aplicaciones con mapas Aplicaciones en segundo plano Despues de ser configuradas pasan la mayor parte del tiempo ejecutandose en segundio plano, normalmente responden a eventos causados por el HW, sistema u otras aplicaciones por ejemplo la interfaz de las llamadas entrantes o salientes y el gestor de red Oh! Aplicaciones intermitentes Necesitan algunas interacciones con el usuario, pero generalmente resuelven todas sus actividades por si mismas, por ejemplo: el reproductor multimedia Widgets Se ejecutan desde la pantalla de Home del usuario.
  • 30. Programando en Android Componentes de una aplicación El usuario Actividades puede interactuar a Consiste en una pantalla con una sola interfaz de usuario, travez de ellas una aplicación se compone de un conjunto de actividades. Se compone por la definición de un esqueleto xml de la interfáz o varios y una clase controladora que hace uso de dichos elementos. Servicios Se ejecuta en segundo plano y provee funcionalidad a otras aplicaciones. Por ejemplo el reproductor de música que corre en segundo plano mientras hacemos otras tareas Tienen un ciclo de vida diferente a las actividades
  • 31. Programando en Android Componentes de una aplicación Por ejemplo, existe un Proveedores de contenido proveedor para los Permiten compartir datos con otras actividades y servicios. contactos del Usan una interfáz estándar en forma de URI. teléfono Cuando una aplicación es registrada en el sistema como proveedor de contenido, puede ser capaz de responder a estas peticiones Notificaciones Permiten desplegar de forma visual y/o auditiva mensajes para capturar la atención del usuario. Se pueden personalizar visualmente u obtener datos a través de ellas
  • 32. Programando en Android El ciclo de vida de una Actividad Para cada Actividad se deben sobrecargar los metodos: onCreate onStart onResume onPause onStop onDestroy
  • 33. Programando en Android Ciclo de vida onCreate es llamada cuando la aplicacion se crea por primera vez. Crear e inicar elementos de las vistas, bd Objeter mensajes de otras actividades (mediante un Bundle) onStart es llamada cuando la actividad se muestra en pantalla, onResume Me! se ejecuta despues de onStart si la actividad corre en segundo plano de la vista, puede manejar los eventos derivados de la vista. Si otra aplicacion pide el foco en pantalla y luego al finalizar devuelve la vista a nuestra aplicacion, se ejecuta para poder actualizar datos en la vista.
  • 34. Programando en Android Ciclo de vida onPause Cuando se hace la transición a otra actividad, aqui se puede definir que partes del programa no se deben seguir ejecutando para ahorrar recursos. En este estado, si el dispositivo de queda sin memoria, considerara terminar la aplicación. onStop se ejecuta cuando la actividad no esta visible ya sea porque Me! otra actividad solicitó el foco o porque la activida será destruida onDestroy es el último método de la aplicación que se ejecutará antes de que el proceso sea destruido
  • 35. Programando en Android Errores en tiempo de ejecución ADB juega un papel fundamental para hallar el error
  • 36. Programando en Android AndroidManifest.xml Proposito Este archivo define la estructura y los metadatos de la aplicacion, sus componentes y requerimientos. Define cada componente de la aplicacion en un nodo y para cada uno define filtros de intentos y permisos que controlan la interaccion entre ellos. Define configuraciones de seguridad, requerimientos de hardware y de plataforma. Oh! Algunos elementos: reqFiveWayNav - especifica que el dispositivo debe tener un trackball o un D-pad reqHardKeyboard - especifica que se necesita un teclado fisico
  • 37. Programando en Android AndroidManifest.xml Algunos elementos: uses-feature android.hardware.camera si se requiere la camara del dispositivo suports-screns smallScreens - QVGA normalScreen - WVGA anyDensity - si la aplicacion se acomodaa cualquier densidad application Oh! activity provider receiver uses-permision - habilita el uso de recursos permision - establece restricciones al acceder a la aplicacion instrumentation - declara clases de prueba de la aplicacion .
  • 38. Programando en Android Configuración de AndroidManifest.xml Configuraciones que ya tenemos Declaración de las actividades que forman la aplicación Lo que vamos a agregar Indicar qué actividad es la inicial <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter>
  • 39. Programando en Android Configuración de AndroidManifest.xml <activity android:label="@string/app_name" android:name="ControladorLogo"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="ControladorJuego" />
  • 40. Programando en Android Configuración de AndroidManifest.xml <uses-sdk android:minSdkVersion="8" /> <uses-permission android:name="android.permission.VIBRATE" /> Por ejemplo aquí estamos otorgando a la aplicación permiso para que pueda generar vibraciones a través del hardware del teléfono Wow
  • 41. Programando en Android Comunicación e Intenciones (intents) Las actividades, servicios y los receptores de mensajes de difusión Reutilizar se comunican y son invocados mediante mensajes asíncronos funciones de llamados Intents, otras apps Permiten invocar actividades de otras aplicaciones Permiten enviar datos mediante un objeto de tipo Bundle que puede contener objetos serializables Compartimos Los elementos accesibles se pueden referenciar por su nombre de información clase + paquete o bien por una URI entre Actividades Nombre clase o destino Activity Datos
  • 42. Programando en Android Elementos visuales Un mundo de posibilidades para combinar y crear Me!
  • 43. Programando en Android Elementos visuales Elemento miElementoX = (Elemento)findViewById(R.id.X); Todos heredan propiedades de View
  • 44. Programando en Android Elementos visuales Estructura xml <LinearLayout xmlns:android="http:// que define id schemas.android.com/apk/res/android" android:id="@+id/root" android:orientation="vertical" Referencia en android:background="@drawable/lt_gray" el código del id android:layout_width="fill_parent" android:layout_height="wrap_content"> ... otros elementos.... package curso.ejemplo.ids; </LinearLayout> import android.app.Activity; import android.os.Bundle; public class AndroidDemo extends Activity { private LinearLayout root; @Override public void onCreate(Bundle state) { super.onCreate(state); setContentView(R.layout.main); root = (LinearLayout) findViewById(R.id.root); } }
  • 45. Programando en Android Jugando con eventos Acciones guiadas por el usuario Toca Desliza Presiona
  • 46. Programando en Android Jugando con eventos Button.OnClickListener listener = new Button.OnClickListener() { @Override public void onClick(View arg0) { .........................acciones............................ ^^ } }; ((Button) findViewById(R.id.button1)).setOnClickListener (listener);
  • 47. Programando en Android Menús Se lanza al presionar un elemento particular Se obtiene con la tecla Menu
  • 48. Programando en Android Alertas y diálogos Se puede obtener información de ellos Mensaje informativo, 1 a la vez y desaparece solo
  • 49. Programando en Android Almacenamiento A B C D E
  • 50. Programando en Android Acceso a hardware Se necesita establecer permisos en el Android Manifest para acceder a la mayoría de los recursos El API cuenta con clases especializadas para manejar de forma sencilla el harware disponible: GPS, Acelerómetro, Vibrador, Sonido, Cámara, Micrófono, Bluetooth Intents
  • 51. Programando en Android private void recordVideo(Uri outputpath) { Intent intent = new Intent (MediaStore.ACTION_VIDEO_CAPTURE); Acceso a hardware If (outputpath != null) intent.putExtra(MediaStore.EXTRA_OUTPUT, output); intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, HIGH_VIDEO_QUALITY); startActivityForResult(intent, RECORD_VIDEO); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == RECORD_VIDEO) { Uri recordedVideo = data.getData(); //…. Otras acciones }}
  • 52. Programando en Android En el Android Manifest <uses-permission android:name="android.permission.CAMERA"/> Acceso a hardware En el código Camera camera = Camera.open(); Camera.Parameters parameters = camera.getParameters(); List<String> colorEffects = parameters.getSupportedColorEffects(); if (colorEffects.contains(Camera.Parameters.EFFECT_SEPIA)) parameters.setColorEffect(Camera.Parameters.EFFECT_SEPIA); camera.setParameters(parameters); camera.release();
  • 53. Reproducir un video Menu usando Usar layouts contenido compuestas basado en web Una aplicación en 15 minutos Una app para la CNDH
  • 54. Programando en Android Refinando la aplicación Antes de teclear sin control… Recomendaciones para programar en Android * No hacer suposiciones sobre el tamaño de la pantalla o la resolución * Nunca codificar los valores de cadena en el código * Utilizar diseños relativos y píxeles independientes del dispositivo * Optimizar los activos para diferentes resoluciones de pantalla * Determinar qué APIs están disponibles * Guarde los valores como los recursos (colores,dimensiones, matrices, imágenes, diseños)
  • 55. Programando en Android Creando un proyecto usando Eclipse El plugin que se instaló en eclipse permite crear automáticamente proyectos con la estructura adecuada, acceder a las dispositivos virtuales y capacidades de depuración File>New>AndroidProject
  • 56. Programando en Android Referencia de todos Estructura de un proyecto los objetos Clases Objetos del API Textos, menús Recursos colores, formas, estilos visuales Esqueleto de las vistas Config. de la app
  • 57. Programando en Android Arquitectura de la applicación CNDH Happy coding