SlideShare una empresa de Scribd logo
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

Más contenido relacionado

La actualidad más candente

Ventajas y desvetajas de Android
Ventajas y desvetajas de AndroidVentajas y desvetajas de Android
Ventajas y desvetajas de Android
Gore Ochoa
 
Conceptos y Generalidades de Android
Conceptos y Generalidades de AndroidConceptos y Generalidades de Android
Conceptos y Generalidades de Android
Pedro Antonio Villalta (Pavillalta)
 
Sistema Operativo Android
Sistema Operativo AndroidSistema Operativo Android
Sistema Operativo Android
Alfredito Aguayo
 
Desarrollo android -1 - introduccion
Desarrollo android  -1 - introduccionDesarrollo android  -1 - introduccion
Desarrollo android -1 - introduccion
Emilio Aviles Avila
 
Sistema operativo android
Sistema operativo androidSistema operativo android
Sistema operativo android
Mónica Duque Lonoño
 
ANDROID INFORMACION
ANDROID INFORMACIONANDROID INFORMACION
ANDROID INFORMACION
Franco Paton
 
Exposición - Android
Exposición - AndroidExposición - Android
Exposición - Android
Luis Eduardo Pelaez Valencia
 
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ásicos
Gabriel Huecas
 
Sistema Operativo. android
Sistema Operativo. androidSistema Operativo. android
Sistema Operativo. android
navarrocar
 
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-15
Lamar Smith
 
Concepto de Sistema Operativo Android
Concepto de Sistema Operativo AndroidConcepto de Sistema Operativo Android
Concepto de Sistema Operativo Android
ingjmlobaton
 
Curso Android 2021
Curso Android  2021Curso Android  2021
Curso Android 2021
elprofenava2002
 
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
 
Android
AndroidAndroid
Sistema operativo android (1)
Sistema operativo android (1)Sistema operativo android (1)
Sistema operativo android (1)FranCy TEllo
 

La actualidad más candente (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)
 

Destacado

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 Android
jezabelink
 
Sistema Operativo Android; versiones, historia
Sistema Operativo Android; versiones, historiaSistema Operativo Android; versiones, historia
Sistema Operativo Android; versiones, historia
Karen Nuñez
 
Presentacion Android
Presentacion AndroidPresentacion Android
Presentacion Android
Juan 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
 
Taller de Android
Taller de AndroidTaller de Android
Taller de Android
Dr. Edwin Hernandez
 
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
Pedro Antonio Villalta (Pavillalta)
 
APLICACIONES CREADAS PARA ANDROID
APLICACIONES CREADAS PARA ANDROIDAPLICACIONES CREADAS PARA ANDROID
APLICACIONES CREADAS PARA ANDROID
Karlozz Patrik Gonzalez May
 
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
Gabriel Huecas
 
El gran libro de android
El gran libro de androidEl gran libro de android
El gran libro de android
Jose Luis Fernandez
 
Introducción Arduino - Proyecto BitABit
Introducción Arduino - Proyecto BitABitIntroducción Arduino - Proyecto BitABit
Introducción Arduino - Proyecto BitABit
Jose Manuel Mencia Leal
 
Android: Interfaz de Usuario
Android: Interfaz de UsuarioAndroid: Interfaz de Usuario
Android: Interfaz de Usuario
Enrique López Mañas
 
20160229 SET Meetup Internet of Things
20160229 SET Meetup Internet of Things20160229 SET Meetup Internet of Things
20160229 SET Meetup Internet of Things
Prof. Dr. Roland Petrasch
 
Cylon.js - Javascript for Robotics Projects
Cylon.js - Javascript for Robotics ProjectsCylon.js - Javascript for Robotics Projects
Cylon.js - Javascript for Robotics Projects
Luis 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 Java
Cé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 Olot
hojalataverde
 

Destacado (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 a Introducción a Android: 10 cosas importantes que hay que entender

App inventor
App inventorApp inventor
App inventor
Mariaelena Moscoso
 
Curso Android tema 1
Curso Android tema 1Curso Android tema 1
Curso Android tema 1
Frank Jorge
 
Documento de android
Documento de androidDocumento de android
Documento de android
Edenilson Ramírez
 
Curso Android Tema 2
Curso Android Tema 2Curso Android Tema 2
Curso Android Tema 2
Frank Jorge
 
Taller de prog. en android
Taller de prog. en androidTaller de prog. en android
Taller de prog. en androidKarla Silva
 
Android
AndroidAndroid
Android
COECYS
 
"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
Android UNAM
 
Deletreando Android
Deletreando AndroidDeletreando Android
Deletreando Android
jezabelink
 
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 1
Jorge Ulises
 
Desarrollo de apps multiplataforma Movil
Desarrollo de apps multiplataforma MovilDesarrollo de apps multiplataforma Movil
Desarrollo de apps multiplataforma Movil
Ing 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 androide
Jomicast
 
Curso Iniciacion android
Curso Iniciacion androidCurso Iniciacion android
Curso Iniciacion android
Zix Stdio
 
android evolution
android evolutionandroid evolution
android evolution
Noemii Lopez Gonzalez
 
PhoneGap
PhoneGapPhoneGap
PhoneGap
cccori
 

Similar a 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
 

Último

Proceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de PamplonaProceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de Pamplona
Edurne Navarro Bueno
 
True Mother's Speech at THE PENTECOST SERVICE..pdf
True Mother's Speech at THE PENTECOST SERVICE..pdfTrue Mother's Speech at THE PENTECOST SERVICE..pdf
True Mother's Speech at THE PENTECOST SERVICE..pdf
Mercedes Gonzalez
 
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptxc3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
Martín Ramírez
 
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
pablomarin116
 
Horarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de MadridHorarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de Madrid
20minutos
 
Portafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPNPortafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPN
jmorales40
 
3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...
3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...
3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...
rosannatasaycoyactay
 
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdfT3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
eliecerespinosa
 
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfUn libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
sandradianelly
 
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIACONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
BetzabePecheSalcedo1
 
Presentación Revistas y Periódicos Digitales
Presentación Revistas y Periódicos DigitalesPresentación Revistas y Periódicos Digitales
Presentación Revistas y Periódicos Digitales
nievesjiesc03
 
evalaución de reforzamiento de cuarto de secundaria de la competencia lee
evalaución de reforzamiento de cuarto de secundaria de la competencia leeevalaución de reforzamiento de cuarto de secundaria de la competencia lee
evalaución de reforzamiento de cuarto de secundaria de la competencia lee
MaribelGaitanRamosRa
 
Texto_de_Aprendizaje-1ro_secundaria-2024.pdf
Texto_de_Aprendizaje-1ro_secundaria-2024.pdfTexto_de_Aprendizaje-1ro_secundaria-2024.pdf
Texto_de_Aprendizaje-1ro_secundaria-2024.pdf
ClaudiaAlcondeViadez
 
corpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdfcorpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdf
YolandaRodriguezChin
 
Junio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividadesJunio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividades
cintiat3400
 
El Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundoEl Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundo
SandraBenitez52
 
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIALCUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
DivinoNioJess885
 
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
FelixCamachoGuzman
 
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
20minutos
 
Sesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdfSesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdf
https://gramadal.wordpress.com/
 

Último (20)

Proceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de PamplonaProceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de Pamplona
 
True Mother's Speech at THE PENTECOST SERVICE..pdf
True Mother's Speech at THE PENTECOST SERVICE..pdfTrue Mother's Speech at THE PENTECOST SERVICE..pdf
True Mother's Speech at THE PENTECOST SERVICE..pdf
 
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptxc3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
 
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
 
Horarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de MadridHorarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de Madrid
 
Portafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPNPortafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPN
 
3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...
3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...
3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...
 
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdfT3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
 
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfUn libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
 
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIACONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
 
Presentación Revistas y Periódicos Digitales
Presentación Revistas y Periódicos DigitalesPresentación Revistas y Periódicos Digitales
Presentación Revistas y Periódicos Digitales
 
evalaución de reforzamiento de cuarto de secundaria de la competencia lee
evalaución de reforzamiento de cuarto de secundaria de la competencia leeevalaución de reforzamiento de cuarto de secundaria de la competencia lee
evalaución de reforzamiento de cuarto de secundaria de la competencia lee
 
Texto_de_Aprendizaje-1ro_secundaria-2024.pdf
Texto_de_Aprendizaje-1ro_secundaria-2024.pdfTexto_de_Aprendizaje-1ro_secundaria-2024.pdf
Texto_de_Aprendizaje-1ro_secundaria-2024.pdf
 
corpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdfcorpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdf
 
Junio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividadesJunio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividades
 
El Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundoEl Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundo
 
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIALCUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
 
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
 
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
 
Sesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdfSesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdf
 

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