SlideShare a Scribd company logo
1 of 59
Download to read offline
Motorola Mobility


                                               Anna Schaller
                                Android Technology Evangelists
                    Plataformas y servicios para desarrolladores




Diseñando aplicaciones para el
Motorola XOOM
Bienvenido

 01 	
  Antes	
  y	
  ahora	
  
      	
  Diseño	
  de	
  smartphone	
  vs.	
  diseño	
  de	
  tablet	
  

 02 	
  Cambios	
  de	
  diseño	
  en	
  la	
  interfaz	
  gráfica	
  de	
  la	
  aplicación	
  
    	
  Introducción	
  a	
  las	
  caracterís9cas	
  de	
  la	
  interfaz	
  gráfica	
  de	
  Android	
  3.0	
  

 03 	
  Cambios	
  en	
  gráficos	
  y	
  medios	
  
    	
  Actualizaciones,	
  mejoras	
  e	
  información	
  relacionadas	
  con	
  el	
  soporte	
  
       de	
  gráficos	
  y	
  medios	
  

 04 	
  CaracterísAcas	
  de	
  hardware	
  
    	
  Soporte	
  de	
  Android	
  en	
  el	
  hardware	
  de	
  XOOM	
  

 05 	
  10	
  cosas	
  ……	
  
      	
  Pasos	
  fáciles	
  diseñados	
  para	
  adaptar	
  su	
  aplicación	
  al	
  XOOM.	
  	
  
                                                                                                  © 2010 Motorola Mobility, Inc.
MOTODEV App Summit 2011                                                               Page 3


 Presentación de la tableta
•  Pantalla: 10,1” diagonales (extra grande),
   WXGA (1280 x 800), 160 dpi (mdpi)
•  Memoria: 32 GB de almacenamiento flash
•  Procesador: Doble núcleo nVidia Tegra 2
•  Sensores: acelerómetro, barómetro,
   giroscopio, brújula, luz ambiente, GPS, sin
   proximidad o vibración, rotación en 4
   direcciones                                   •  Plataforma: Android 3.0
                                                    (Honeycomb)
•  Conectividad: 802.11 a/b/g/n, Bluetooth,
   HDMI                                          •  Entornos de aplicación:
                                                    Adobe AIR 2.6, Android,
•  Cámara: 2mp con enfoque fijo en la parte
                                                    NDK, Flash 10.1
   frontal / 5mp con enfoque automático en la
   parte posterior                               •  Numerosos cambios en el
                                                    software……..
•  Medios: grabación de video HD 720p,
   reproducción de HD 1080p
•  Almacenamiento externo: tarjeta SD de 32
   GB posterior al lanzamiento                                   © 2010 Motorola Mobility, Inc.
MOTODEV App Summit 2011                                                                  Page 4




¿Adónde se fue todo?

                                                       Botón de encendido/apagado
                Barra de estado


                                                        Teclas de Volumen
                                                        (arriba/abajo)




            Tecla Menú
                                                         Botón de bono
                                                         (comúnmente Buscar)

                          Tecla Inicio   Botón Atrás
                                                                    © 2010 Motorola Mobility, Inc.
MOTODEV App Summit 2011                          Page 5




Interacción con la tableta




Teclas de
Volumen
(arriba/abajo)                    Botón
                                  Encendido/
                                  apagado




                             © 2010 Motorola Mobility, Inc.
MOTODEV App Summit 2011                                            Page 6




Interacción (continuación)




No hay
botón
de
menú




                           Barra del sistema   © 2010 Motorola Mobility, Inc.
Página 7




                          •  Tema holográfico
Cambios en el diseño      •  Atenuación de la barra del
                  de la      sistema
 interfaz gráfica de la   •  Barra de acciones
            aplicación    •  Fragmentos
                          •  Nuevos widgets
                          •  Notificaciones actualizadas
                          •  Portapapeles del sistema
                          •  Arrastrar y soltar


                                           Título de presentación   Versión 1.0   24.02.09
MOTODEV App Summit 2011                                                                    Page 8




Tema holográfico

•  Heredado por todas las aplicaciones construidas para Android 3.0
    •  minSdkVersion o targetSdkVersion = 11 *y* habilita aceleración por
       hardware (android:hardwareAccelerated="true")
    –  Si la versión de SDK <= 9, entonces su aplicación utiliza los diseños de
       widget de Android 2.3 y no hereda el tema holográfico

•  Existen dos versiones
   –  Fondo azul con letras blancas
      predeterminado @android:style/
      Theme.Holo
   –  Holográfico inverso blanco con letras
      oscuras @android:style/
      Theme.Holo.Light


                                                                       © 2010 Motorola Mobility, Inc.
MOTODEV App Summit 2011                                                                    Page 9




Atenuación de la barra del sistema

•  Modo de luces apagadas
    –  Atenúa la barra del sistema al reemplazar los iconos por “puntos”
       holográficos (no se elimina la barra del sistema)


!       View v = findViewById(R.id.view_id);!
!       v.setSystemUiVisibility(View.STATUS_BAR_HIDDEN);!
!       v.setSystemUiVisibility(View.STATUS_BAR_VISIBLE);!




                                                                      © 2010 Motorola Mobility, Inc.
MOTODEV App Summit 2011                                                               Page 10




Barra de acciones - Simple
•  Reemplaza la barra de título tradicional en la parte superior de la
   aplicación



•  Icono de aplicación con título
•  Menú de desborde
   •  La creación de menús no ha cambiado!


       public boolean onCreateOptionsMenu(Menu menu) {...}!
     !public boolean onOptionsItemSelected(MenuItem item) {!
     ! !             !case R.id.menu_item ...}!


     !/res/menu/menu_definitions.xml!
                                                                 © 2010 Motorola Mobility, Inc.
MOTODEV App Summit 2011                                                                 Page 11

Barra de acciones – Dividida en fichas con elementos de
acción
   Icono
                       Fichas                               Elementos de acción
“Accionable”




 •  Se puede hacer que el icono de aplicación cause una acción específica
 •  Interfaz dividida en fichas en la barra de acciones
 •  Elementos de acción individuales en lugar de aparecer en el menú de desborde
     –  Con o sin texto; con o sin icono
 •  Para administrar la barra de acciones
        !ActionBar actionBar = getActionBar();!
        !actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);!

     •  Consulte android.app.actionbar!                             © 2010 Motorola Mobility, Inc.
MOTODEV App Summit 2011                                                             Page 12


Cambiando al modo de pantalla completa - quitando la
barra de acciones

•  Puede ocultar la barra de acciones; *sin embargo,* su aplicación
   perderá acceso a su menú
    <activity android:theme="@android:style/Theme.NoTitleBar">
                                                             !
•  Otra manera de ocultar la barra de acciones es programáticamente,
   permitiendo que el usuario alterne
!        !!
!        !!
!        !ActionBar bar = getActionBar();!
           if (bar != null) {!
              if (bar.isShowing()) bar.hide();!
!        !     else bar.show();!
           }!



                                                               © 2010 Motorola Mobility, Inc.
MOTODEV App Summit 2011                                                            Page 13




Menús

•  Para respaldar la compatabilidad con versiones anteriores, se agregó
   botón de menú en la barra del sistema
   –  minSdkVersion y targetSdkVersion < 11




                                                              © 2010 Motorola Mobility, Inc.
MOTODEV App Summit 2011                                                           Page 14




Fragmentos

•  Permite que una aplicación sea dividida en subcomponentes que se
   pueden administrar individualmente y combinar de diferentes maneras,
   como crear una interfaz de usuario de múltiples secciones.




                                                             © 2010 Motorola Mobility, Inc.
MOTODEV App Summit 2011                                                           Page 15




  Fragmentos (continuación)

  •  Un fragmento siempre debe estar incrustado en una Actividad

  Actividad




Fragmento
de lista




Fragmento




                                                               © 2010 Motorola Mobility, Inc.
MOTODEV App Summit 2011                                                Page 16




Fragmentos (fragmento base)
                                        Fragmento (base)
•  Crear clase que extienda el
   Fragment!
•  Muestra contenido similar a una
   Activity (imágenes, texto, widgets
   de aplicación)
•  No se puede adjuntar a otro
   fragmento o ficha
•  Puede agregar elementos al
   menú de desborde de la Activity
   (barra de acciones)
•  No tiene que estar visible (puede
   funcionar como proceso de
   fondo)
•  Si está visible, requerirá su
   propio archivo de diseño                       © 2010 Motorola Mobility, Inc.
MOTODEV App Summit 2011                                             Page 17




Fragmentos (adición a una actividad)


XOOM_hc_app
 /res/layout/main.xml


 Diseño de la Activity

    Fragmento                                 PictureList.java
    (de lista)


    Fragmento
    (de contenido)
    con imagen
    incrustada
                                       ContentFragment.java

                                               © 2010 Motorola Mobility, Inc.
MOTODEV App Summit 2011                                                                                   Page 18




Fragmentos (continuación)
 •  Información práctica sobre los Fragmentos en la Guía del desarrollador 3.0
 •  Consulte la Referencia de 3.0 para las API
     •    android.app.Fragment!
     •    android.app.ListFragment!
           •  Muestra una lista similar a ListActivity
     •    android.app.DialogFragment             !
           •  Muestra un cuadro de diálogo flotante!
     •    android.app.FragmentManager
           •  Interfaz para interactuar con el fragmento (findFragmentById)
     •    android.app.FragmentTransaction !
           •  APIs para operaciones con fragmentos (agregar, quitar, reemplazar, ocultar,
              mostrar)!
 •  Publicación en blog The Android 3.0 Fragments API
     –  más detalles sobre los Fragmentos para todas las versiones de Android 1.6 y superiores

                                                                                     © 2010 Motorola Mobility, Inc.
MOTODEV App Summit 2011                                                              Page 19




Nuevas vistas
•  Widgets de aplicación
    •  Menú emergente (android.widget.PopupMenu)
         •  El menú se adjunta a una vista (botón por ejemplo)
•  Widgets de la pantalla de inicio
    –  Vista de pila
       (android.widget.StackView)
         •  Una vista que muestra sus niveles
            inferiores en una pila 3D y permite a
            los usuarios pasar discretamente por
            los niveles inferiores.
•  Notificaciones enriquecidas
   (android.app.Notification.Builder)
    –  construir diseños de
    notificaciones                                               © 2010 Motorola Mobility, Inc.
MOTODEV App Summit 2011                                                                    Page 20




Ejemplo de funcionamiento
•  La Galería de Honeycomb en muestras de SDK exhibe…..
   –  Barra de acciones con interfaz dividida en fichas, menú de elementos de
      acción y menú de desborde
   –  Lista de fragmentos y fragmento en orientación vertical y horizontal
   –  Nuevo tema
   –  Arrastrar y soltar
   –  Animación
   –  Ocultar/Mostrar
       Barra de acciones
   –  Modo
       Luces apagadas


                                                                      © 2010 Motorola Mobility, Inc.
•  Aceleración por hardware
                           para gráficos 2D

Gráficos y multimedia   •  Compresión de textura
                        •  Nueva estructura de
                           animaciones
                        •  Soporte de medios




                                      Título de presentación   Versión 1.0   24.02.09
MOTODEV App Summit 2011                                                              Page 22




Aceleración por hardware
 •  Soporte integrado para aceleración en un subconjunto de gráficos 2D
    (API Canvas)
 •  Globalmente para toda la aplicación o para Activity individual al
    establecer el nodo apropiado en el manifiesto
      •  android:hardwareAccelerated="true"!
 •  Localmente en cada Activity y/o ventana programáticamente a través de
    WindowManager.LayoutParams!


  !      Window win = getWindow(); !
  !      win.setFlags!
  !       (WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,!
          !WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);!


 •  Realice una prueba para determinar si canvas es acelerado por
    hardware con isHardwareAcclerated()!
                                                                © 2010 Motorola Mobility, Inc.
MOTODEV App Summit 2011                                                               Page 23




Compresión de textura

•  Diferentes chipsets admiten diferentes tipos de compresión
•  Formatos para móvil:
   –  Soporte de ETC1 en todos los dispositivos Android con OpenGL ES 2.0
      pero sin canal alfa
   –  PVRTC (GPU PowerVR SGX 530 de Imagination Technologies)
   –  ATITC (GPU Adreno de Qualcomm)
   –  S3TC o DXT1, 3, 5 (GPU nVidia)
•  Solución: filtrado de compresión de textura
   <supports-gl-textures android:name="string">!
   donde string es la extensión de OpenGL ES para un tipo de compresión
   por ejemplo android:name="GL_EXT_texture_compression_s3tc"!

                                                                 © 2010 Motorola Mobility, Inc.
MOTODEV App Summit 2011                                                              Page 24




Compresión de textura (continuación)

•  Funciona con todos los niveles de API, no sólo con Honeycomb
•  Se debe definir una etiqueta para cada formato admitido
•  Lista de tipos de compresión admitidos en la Guía del desarrollador
   Android – Tags del Manifiesto de Android
   http://developer.android.com/guide/topics/manifest/supports-gl-texture-
   element.html
•  Para las herramientas, consulte el artículo técnico de MotoDev en
   http://developer.motorola.com/docstools/library/understanding-texture-
   compression/




                                                                © 2010 Motorola Mobility, Inc.
MOTODEV App Summit 2011                                                                                         Page 25




Animación
Dos sistemas de animación entre los que puede elegir:
1.         Animaciones de vistas (android.view.animation)
      –     Animaciones de interpolaciones
            •    Realiza una serie de transformaciones simples en el contenido de un objeto View.
            •    Las transiciones básicas incluyen rotación, desvanecimiento, movimiento y ampliación en un
                 gráfico.
      –     Animaciones en cuadros
            •    La animación cuadro por cuadro le permite cargar una serie de recursos Drawables uno tras
                 otro para crear una animación.
2.         Animaciones de propiedades (android.animation                 // nuevo en honeycomb)
      –     Puede animar casi todo (¡como los drawables, no solamente vistas!)
      –     Extiende el conjunto de propiedades que se pueden animar (agrupar y reproducir)
      –     Las animaciones de vistas son más sencillas y rápidas, las animaciones de propiedades hacen
            más
      –     Consulte http://developer.android.com/guide/topics/graphics/animation.html


                                                                                            © 2010 Motorola Mobility, Inc.
MOTODEV App Summit 2011                                                                                      Page 26


Soporte de medios -- Colocando contenido en el
dispositivo
       •  Transferencia de archivos de medios digitales
            –  Soporte integrado para el Protocolo de transporte de medios/imágenes (MTP/PTP).
            –  El usuario conecta el cable USB y se inicia la aplicación Transferencia de archivos de
               Android.
            –  Los usuarios pueden copiar fotografías, películas, videos, tonos de timbre, podcasts y más
               en carpetas predefinidas, o crear nuevas carpetas para otros contenidos.




                                                                                        © 2010 Motorola Mobility, Inc.
•  Sensores
Hardware   •  Cámara
           •  Pantalla táctil
           •  Telefonía
MOTODEV App Summit 2011                                                                        Page 28




Sensores

•  Acelerómetro, giroscopio, magnetómetro, barómetro, brújula, luz
   ambiente, GPS, sin sensor de proximidad, sin vibración
•  Orientación del dispositivo
     –  La orientación natural es horizontal con rotación en 4 direcciones

      +ye                        +x

                                                                            +z
                                                          +yes

                           +ye                 -ye
-x                   +x                                                                               +x

                                                     -x

                                         -x
               -ye                                                                         -ye
      Rotación 0                 Rotación 90                     Rotación © 2010 Motorola Mobility, Inc.
                                                                          0
MOTODEV App Summit 2011                                                               Page 29




Sensores (continuación)

•  Utilice android.view.Display.getRotation() para obtener la
   dirección actual
•  Adjust x/y values for all four rotation types
   –  ROTATION_0
   –  ROTATION_90
   –  ROTATION_180
   –  ROTATION_270
•  Consulte la muestra AccelerometerPlay en el SDK
•  Más detalles en la publicación del blog de Android
   One Screen Turn Deserves Another
•  Si necesita evitar que su aplicación gire, bloquéela en orientación
   natural con
        <activity android:orientation="nosensor" />!
                                                                 © 2010 Motorola Mobility, Inc.
MOTODEV App Summit 2011                                                                     Página30
                                                                                            Page




Sensores -- lectura del sensor de barómetro
// www.engineeringtoolbox.com/air-altitude-pressure-d_462.html!
// reducir en ~ 1,2 gm/cm2 por cada ganancia de 10 metros!
// en la elevación!




                                                © 2010 Motorola Mobility, Inc. Versión 1.0
                                                                        © 2010 Motorola Mobility, Inc.
MOTODEV App Summit 2011                                                              Page 31




Cámaras

•  2 cámaras disponibles – parte frontal y parte posterior
   –  5 mp, enfoque automático en la parte posterior
   –  2 mp, enfoque fijo en la parte frontal
•  Se agregó soporte para dos cámaras en Gingerbread (2.3)
•  La cámara posterior es la principal, de modo que el filtrado se basa en
   las funciones de la cámara posterior (por ejemplo
   android.hardware.camera.autofocus)


  <uses-permission android:name="android.permission.CAMERA" />!
  <uses-feature android:name="android.hardware.camera.front"!
                     ! android:required=<true or false> /> !



                                                                © 2010 Motorola Mobility, Inc.
MOTODEV App Summit 2011                                                               Page 32




Cámara (continuación)
import android.hardware.Camera;!
import android.hardware.Camera.CameraInfo;!

[...]!

public void toggleCamera() {!
   Camera mCamera;!
   int numberOfCameras = Camera.getNumberOfCameras();!
   CameraInfo cameraInfo = new CameraInfo();!
   for (int i = 0; i < numberOfCameras; i++) {!
      Camera.getCameraInfo(i, cameraInfo);!
      if (cameraInfo.facing == CameraInfo.CAMERA_FACING_FRONT) {!
             mCamera = Camera.open(i);!
 !     !     // hacer algo con cámara frontal!

          } else if (cameraInfo.facing == CameraInfo.CAMERA_FACING_BACK) {!
                mCamera = Camera.open(i);!
!          !    // hacer algo con cámara posterior!
          }!
     }!
}!
                                                                 © 2010 Motorola Mobility, Inc.
MOTODEV App Summit 2011                                                               Page 33




Pantalla táctil
•  android.hardware.touchscreen.multitouch                 (API nivel 7)
   –  Admite toque con 2 dedos
•  android.hardware.touchscreen.distinct                   (API nivel 8)
   –  Admite el rastreo de 2 o más dedos completamente independiente
•  android.hardware.touchscreen.multitouch.jazzhands       (API nivel 9)

    –  Admite el rastreo de 5
       o más dedos
       completamente
       independiente (toque
       de 10 dedos)
    –  Establezca la etiqueta
       <uses-feature> para
       filtrar en dispositivos
       que admitan esto
       (como el XOOM)                                            © 2010 Motorola Mobility, Inc.
MOTODEV App Summit 2011                                                               Page 34




Pantalla táctil (continuación)

•  Debido a que el XOOM no tiene un teclado físico, la superficie táctil
   es el principal punto de contacto para los usuarios
      •  Asegúrese de entender cómo funcionan los toques
•  Siga utilizando el escuchador de eventos onTouch con MotionEvents
      •  MotionEvent.getPointerCount() devuelve el número de puntos de
         toque
      •  MotionEvent.getPointerId() le permite rastrear dedos individuales
•  Consulte la publicación de blog de Adam Powell en
   Making Sense of Multitouch




                                                                 © 2010 Motorola Mobility, Inc.
MOTODEV App Summit 2011                                                                Page 35




Telefonía
•  Perspectiva del dispositivo
   –  Los dispositivos CDMA, UMTS/GMS tienen un radio para admitir redes 4G/
      LTE
   •  Se admite subconjunto de la estructura de telefonía
      (android.telephony.TelephonyManager)
•  Perspectiva de la aplicación
   –  No se admite la función de telefonía
   <uses-feature android:name="android.hardware.telephony"!
    ! !      !android:required="true"/>!

•  Múltiple configuraciones para XOOM
   –  CDMA, UMTS/GSM, WiFi-only
   •  La información de TelephonyManager.getDeviceId() no será
      igual
                                                                  © 2010 Motorola Mobility, Inc.
   –  Normalmente devuelve IMEI o MIED: el dispositivo WiFi devuelve null
MOTODEV App Summit 2011                                                                                      Page 36




Telefonía (continuación)
•  Obtención de identificadores únicos: Piense en para qué obtendrá los datos. ¿Intenta
   llevar un registro del hardware o de la aplicación?
    –  El rastreo de hardware necesita que sean persistentes ante un restablecimiento de fábrica.
    –  El rastreo de aplicación necesita restablecimiento de valores cuando hay un restablecimiento de
       fábrica.
•  Dirección Mac (no recomendado)
    –  No todos los dispositivos tienen WiFi. Además, si el WiFi no está activado, el hardware podría no
       reportar la dirección Mac.
•  Número de serie (no recomendado)
    –  Sólo se garantiza en dispositivos sin telefonía.
•  ANDROID_ID (probablemente su mejor opción para el rastreo de aplicación)
    –  Se genera y almacena cuando el dispositivo se inicializa por primera vez. Se restablece cuando
       el dispositivo se borra.
    –  No se garantiza en dispositivos anteriores a Android 2.2
•  Planifique para contingencia

                                                                                        © 2010 Motorola Mobility, Inc.
•  SDK de Honeycomb
               •  targetSdkVersion
               •  Diseños
               •  Manejo de excepciones
10 cosas……..   •  Modo de compatibilidad
               •  Drawables
               •  Texto
               •  Permisos y funciones
               •  Mantenimiento de la base de
                  códigos
               •  SDK de Honeycomb
MOTODEV App Summit 2011                                                                      Page 38




10 cosas que puede hacer de inmediato

1.  Descargar el SDK de Honeycomb (y las herramientas actualizadas)
    y realizar un recorrido de prueba para su aplicación en el emulador.
2.  Cambiar targetSdkVersion a “11” y ver lo que cambia.
3.  Agregar las carpetas /res/layout-xlarge y /res/layout-
    xlarge-port a su proyecto con diseños optimizados para la
    pantalla más grande.
4.  Actualizar el manejo de errores para salir honrosamente en lugar de
    mostrar "la aplicación no responde" por opción predeterminada o
    dejar colgado al usuario.
5.  Verificar si la aplicación se está ejecutando en el “modo de
    compatibilidad”.
     a.    minSdkVersion=“3” sin targetSdkVersion; construir para 1.5
     b.    minSdkVersion=“3” y targetSdkVersion=“3”; construido para cualquier
           SDK > 1.5
     c.    “Efecto shadowbox”                                           © 2010 Motorola Mobility, Inc.
MOTODEV App Summit 2011                                                                 Page 39




10 cosas que puede hacer (continuación)




        –  Establezca targetSdkVersion >= “4” y construya para SDK >= 1.6
                                                                   © 2010 Motorola Mobility, Inc.
MOTODEV App Summit 2011                                                    Page 40




10 cosas que puede hacer de inmediato (continuación)
6.  Vuelva a ver sus gráficos en /res/drawable-<density>.




                                                      © 2010 Motorola Mobility, Inc.
MOTODEV App Summit 2011                                                              Page 41




10 cosas que puede hacer de inmediato (continuación)

•  Utilice la herramienta 9-patch para crear una región “ampliable”


•  Coloque el fondo en ImageView y establecer
   scaleType=centerCrop!


   !<ImageView!
   ! !android:src="@drawable/background"!
   ! !android:layout_width="match_parent"!
   ! !android:layout_height="match_parent"!
   ! !android:scaleType="centerCrop" />




                                                                © 2010 Motorola Mobility, Inc.
MOTODEV App Summit 2011                                                        Page 42




10 cosas que puede hacer de inmediato (continuación)
•     Las imágenes basadas en patrón se pueden mostrar en mosaico

     •  /res/layout/main.xml!

      !<LinearLayout !
      ! !      !android:background="@drawable/background"!

     •  /res/layout/background.xml!

      !<bitmap!
      ! !xmlns:android=!
      ! !      !"http://schemas.android.com/apk/res/android"!
      ! !android:src="@drawable/baseimage"!
      ! !android:tileMode="repeat"!
      ! !android:filter="true"!
      ! !android:dither="true" />!


                                                           © 2010 Motorola Mobility, Inc.
MOTODEV App Summit 2011                                                          Page 43




10 cosas que puede hacer de inmediato (continuación)

•     Leer createScaledBitmap() utilizando las dimensiones de
      DisplayMetrics!


     !BitmapDrawable backgroundImage = !
     ! !    (BitmapDrawable)getResources().getDrawable !      !
        !   (R.drawable.background);!
     !Bitmap backgroundBitmap = backgroundImage.getBitmap();!
     !backgroundBitmap = Bitmap.createScaledBitmap     !      !

  !       !           !(backgroundBitmap,!
  !       !           ! dm.widthPixels,    // mostrar ancho de métricas!
  !       !           ! dm.heightPixels,   // mostrar alto de métricas!
  !       !           ! true);             // habilitar filtrado!



                                                             © 2010 Motorola Mobility, Inc.
MOTODEV App Summit 2011                                                                  Page 44




10 cosas que puede hacer de inmediato (continuación)
7.  Verificar que su texto sea legible y fluya adecuadamente en la
    pantalla más grande.
    –  Con más definición (1280 x 800), optimice el texto para aprovechar el
       espacio




                                                                    © 2010 Motorola Mobility, Inc.
MOTODEV App Summit 2011                                                             Page 45




10 cosas que puede hacer de inmediato (continuación)

   •    Cree 2 etiquetas <dimens> diferentes en /res/values y /res-values-
        xlarge con 2 tamaños de fuente diferentes (ambas en unidades de sp)




   •    Agregue @dimen/<variable> a la propiedad <style> textSize

   <style name="readText" parent="@android:style/TextAppearance"> !
     !<item name="android:textSize">@dimen/font_size</item>!
     !<item name="android:textColor">#000000</item> !
   </style>!


                                                               © 2010 Motorola Mobility, Inc.
MOTODEV App Summit 2011                                                                      Page 46




 10 cosas que puede hacer de inmediato (continuación)
 8.  Verificar sus permisos y la etiqueta <uses-feature> que podría filtrar
     su aplicación del mercado.
      –  Los permisos no filtran su aplicación, la etiqueta <uses-feature> sí.
      –  El XOOM no tiene telefonía…bueno, relativamente.
                <uses-permission   android:name="CALL_PHONE" /> !
                <uses-permission   android:name="CALL_PRIVILEGED" />!
                <uses-permission   android:name="MODIFY_PHONE_STATE" />!
                <uses-permission   android:name="PROCESS_OUTGOING_CALLS" />!
                <uses-permission   android:name="READ_SMS" />!
                <uses-permission   android:name="RECEIVE_SMS" />!
                <uses-permission   android:name="RECEIVE_MMS" />!
                <uses-permission   android:name="RECEIVE_WAP_PUSH" />!
                <uses-permission   android:name="SEND_SMS" />!
     lica   *   <uses-permission   android:name="WRITE_APN_SETTINGS" />!
*imp            <uses-permission   android:name="WRITE_SMS" />!

        ! ! <uses-feature              !      !       ! !
        ! !             !android:name="android.hardware.telephony"!
        ! !             !android:required="true"/>                        © 2010 Motorola Mobility, Inc.
MOTODEV App Summit 2011                                                                   Page 47




10 cosas que puede hacer de inmediato (continuación)
    •  Debe establecer explícitamente android:required="false" si
       desea ver la aplicación en el XOOM
    –  Ejecute la herramienta aapt en su apk para mostrar funciones
       explícitas
          $ aapt dump badging <path_to_exported_.apk>!

    $ ./aapt dump badging BTExample.apk

       package: name='com.example.android.btexample' versionCode=''
       versionName=''

       uses-permission:'android.permission.BLUETOOTH_ADMIN'

       uses-feature:'android.hardware.bluetooth'

       sdkVersion:'3'

       targetSdkVersion:'5’

       <. . .>




    –  Ejecute MOTODEV App Validator para mostrar funciones implícitas.
        •  http://developer.motorola.com/testing/app-validator/  © 2010 Motorola Mobility, Inc.
MOTODEV App Summit 2011                                                             Page 48




10 cosas que puede hacer de inmediato (continuación)

9.  Determinar cómo administrar su base de códigos. La
    recomendación oficial es mantener un enfoque binario individual.
    Recuerde que la biblioteca de compatibilidad le permite usar
    fragmentos hasta en 1.6.
10.  Descargar el SDK de Honeycomb (y las herramientas
     actualizadas) y realizar un recorrido de prueba para su aplicación
     en el emulador.




                                                               © 2010 Motorola Mobility, Inc.
MOTODEV App Summit 2011                                                         Page 49




                                    •  Widgets de tamaño variable

                                    •  Entrada y Movimiento

                     Android 3.1    •  API de USB
                     API Nivel 12   •  Soporte a MTP/PTP

                                    •  Real-time Transport Protocol
                                       (RTP)

                                    •  API Fragment Breadcrumbs




                                                           © 2010 Motorola Mobility, Inc.
MOTODEV App Summit 2011                                                        Page 50




Widgets de tamaño variable
•  Los widgets de Homescreen tienen tamaño variable
   –  horizontalmente, verticalmente, o en los dos ejes
•  Define un atributo resizemode en el metadato
   AppWidgetProviderInfo de los widgets


  <appwidget-provider xmlns:android="http://schemas.android.com/apk/
       !res/android"

    android:minWidth="294dp"

    android:minHeight="72dp"

    android:updatePeriodMillis="86400000"

    android:previewImage="@drawable/preview"

    android:initialLayout="@layout/example_appwidget"!
    android:configure="com.example.android.ExampleAppWidgetConfigure"

    android:resizeMode="horizontal|vertical" >

  </appwidget-provider>!

                                                          © 2010 Motorola Mobility, Inc.
MOTODEV App Summit 2011                                                                 Page 51




Eventos de Entrada y de Movimiento
•  El sistema de eventos de entrada fue extendido para soportar una
   variedad de fuentes de entrada nuevas y eventos de movimiento, a
   través de todas las vistas e ventanas
•  Para entrada del mouse y de dispositivos apuntadores, la plataforma
   soporta dos nuevos eventos de movimiento
   •  ACTION_SCROLL (horizontal o vertical) proporciona la ubicación del
      puntero adonde el movimiento de scroll ocurrió, cómo de un scrollwheel
   •  ACTION_HOVER_MOVE informa la ubicación del mouse cuándo no se
      pulsan los botones
•  Eventos de movimiento de joysticks, gamepads, mouse y trackballs no
   son eventos táctiles
   –  Nuevo método de retrollamada pasándolos a una vista (“View “) como
      eventos “genéricos” de movimiento a través de una llamada a
      onGenericMotionEvent(), en vez de llamar a onTouchEvent()!
                                                                   © 2010 Motorola Mobility, Inc.
MOTODEV App Summit 2011                                                                Page 52




API de USB
•  Compatibilidad integrada con la plataforma para USB “host mode” y
   expone una API que permite que aplicaciones manegen los periféricos
   conectados
   –  El “host mode” se basa en el controlador de hardware USB adecuado en el
      dispositivo Android
   –  En dispositivos que soportan “host mode”, como el XOOM, las aplicaciones
      pueden utilizarse de la API para identificar y comunicarse con los
      dispositivos conectados
•  También existe soporte para dos tipos básicos de hardware conectados
   (depende se el dispositivo Android está actuando como host)
   –  dispositivo USB: hardware conectado que depende del dispositivo Android
      para servir como host (cámaras, teclados, mouse)
   –  accesorio USB: hardware conectado que tiene un USB “host
      controller” (robótica)
•  Las API de USB APIs están disponibles en el paquete
   android.hardware.usb                                           © 2010 Motorola Mobility, Inc.
MOTODEV App Summit 2011                                                                 Page 53




Soporte a MTP/PTP

•  Nuevo paquete android.mtp
   –  Clases MtpDevice, MtpDeviceInfo, MtpConstants!
•  Las API permiten que aplicaciones interactúen directamente con
   cámaras y otros dispositivos PTP (“Picture Transfer Protocol”)
   conectados en el USB “host bus”
   –  Instancie un objeto MtpDevice referenciando un UsbDevice conectados
                                                                        !
   –  Abre la conexión y transfiere los datos
   –  Obtiene información sobre el dispositivo e objetos almacenados en él
   –  Recibe notificaciones cuándo dispositivos estén conectados o quitados!
•  La aplicación Gallery ahora soporta PTP, para que los usuarios puedan
   conectar sus cámaras a través de USB e importar imágenes para el
   Galery con un solo toque

                                                                   © 2010 Motorola Mobility, Inc.
MOTODEV App Summit 2011                               Page 54




                          DEMO



                                 © 2010 Motorola Mobility, Inc.
MOTODEV App Summit 2011                                                                    Page 55




Más información: developer.motorola.com

•  Herramientas
    –  MOTODEV Studio: IDE basado en eclipse con funciones adicionales
       (localización de cadenas de texto, administrador de base de datos)
    –  App Validator: herramienta en línea para las pruebas previas de las
       aplicaciones Android para verificar su compatibilidad con los dispositivos
•  Artículos técnicos
    –  Motorola XOOM Programming Tips (Consejos prácticos de programación
       para Motorola XOOM)
    –  Understanding Texture Compression (Entendiendo la compresión de
       textura)
•  Especificaciones del producto
    –  http://developer.motorola.com/products/xoom/
•  Paneles de discusión
    -  http://community.developer.motorola.com/
                                                                      © 2010 Motorola Mobility, Inc.
MOTODEV App Summit 2011                                                       Page 56




              ¿Desea	
  formular	
  alguna	
  
                    pregunta?
                            Brasil - #appsum11br
                          Argentina - #appsum11ar
                           México - #appsum11mx


                      community.developer.motorola.com
                                                         © 2010 Motorola Mobility, Inc.
MOTODEV App Summit 2011                                                                          Page 57




                                  gracias
                                   horario	
  comercial	
  
            XXX	
  junio	
  ?,	
  ??horario	
  a.m.	
  de	
  la9noamérica	
  	
  


                           moto.ly/officehours/???


                                                                            © 2010 Motorola Mobility, Inc.
MOTODEV App Summit 2011                                                                                                                                        Page 58




LEGAL
INFORMACIÓN DE LA LICENCIA

Con excepción de dónde se especifique, el código de fuente de muestra escrito por Motorola Mobility Inc. y a usted suministrado tiene la licencia que a
   continuación se describe.
Copyright © 2010-2011, Motorola, Inc. Todos los derechos reservados, salvo que se indique explícitamente lo contrario.
•  Se permite la redistribución y el uso en forma de fuente o binaria, con o sin modificación, siempre y cuando se cumplan las siguientes condiciones:
•  Las redistribuciones del código fuente deben conservar el aviso de derechos de autor arriba mencionado, la presente lista de condiciones y el siguiente
   descargo de responsabilidad.
•  Las redistribuciones en forma binaria deben reproducir el aviso de derechos de autor arriba mencionado, la presente lista de condiciones y el siguiente descargo
   de responsabilidad en la documentación y/u otros materiales suministrados con la distribución.
Ni el nombre de Motorola, Inc. ni los nombres de sus distribuidores pueden usarse para avalar o promover productos que deriven de este software sin previa
     autorización específica por escrito.
EL PRESENTE SOFTWARE SE SUMINISTRA POR LOS TITULARES Y CONTRIBUYENTES DE LOS DERECHOS DE AUTOR EN EL ESTADO EN QUE SE
    ENCUENTRA Y SE EXCLUYE CUALQUIER GARANTÍA EXPRESA O IMPLÍCITA, INCLUIDAS, A TÍTULO ENUNCIATIVO, LAS GARANTÍAS IMPLÍCITAS DE
    COMERCIABILIDAD Y APTITUD PARA UN FIN PARTICULAR. EN NINGÚN CASO PODRÁ EL TITULAR DE LOS DERECHOS DE AUTOR O LOS
    CONTRIBUYENTES SER RESPONSABLE POR NINGÚN DAÑO Y PERJUICIO DIRECTO, INDIRECTO, INCIDENTAL, ESPECIAL, PUNITIVO, O
    CONSECUENCIAL (A TÍTULO ENUNCIATIVO DE ABASTECIMIENTO DE BIENES O SERVICIOS DE SUSTITUCIÓN; PÉRDIDA DE USO, DATOS O
    GANANCIAS O INTERRUPCIÓN DE ACTIVIDADES) INDEPENDIENTEMENTE DE SU ORIGEN Y DE TODA TEORÍA DE RESPONSABILIDAD, YA SEA EN
    EL CONTRATO, LA RESPONSABILIDAD ESTRICTA O POR LESIÓN JURÍDICA (INCLUSO NEGLIGENCIA O DE OTRO MODO) QUE SURJA DE ALGUNA
    MANERA DEL USO DE ESTE SOFTWARE, INCLUSO SI SE ADVIRTIÓ DE LA POSIBILIDAD DE DICHO DAÑO.

Otro código fuente mostrado en la presentación podrá ofrecerse bajo otras licencias.

Apache 2.0
Copyright © 2010, Proyecto Código Abierto Android. Todos los derechos reservados, salvo indicación expresa en contrario.
Con licencia de Apache, Versión 2.0 (la "Licencia"); no podrá usar este archivo, salvo que cumpla con lo que establece la licencia. Puede obtener una copia de la
    licencia en http://www.apache.org/licenses/LICENSE-2.0.
Salvo que lo exija la legislación vigente o se preste conformidad por escrito, el software distribuido bajo licencia, se distribuye "EN EL ESTADO EN QUE SE
    ENCUENTRA" SIN GARANTÍAS DE NINGÚN TIPO, explícitas o implícitas. Consulte la Licencia para ver los permisos y las limitaciones que rigen para la
    Licencia según el idioma específico.

Creative Commons 3.0 Attribution License
Partes de esta presentación se reprodujeron de un trabajo creado y compartido con Google (http://code.google.com/policies.html) y se usaron conforme a los
    términos descritos en Creative Commons 3.0 Attribution License (http://creativecommons.org/licenses/by/3.0/).

                                                                                                                                           © 2010 Motorola Mobility, Inc.
MOTODEV App Summit 2011                        Page 59




                          © 2010 Motorola Mobility, Inc.

More Related Content

What's hot

What's hot (15)

Curso desarrollo en android
Curso desarrollo en androidCurso desarrollo en android
Curso desarrollo en android
 
Android laura c parra
Android laura c parraAndroid laura c parra
Android laura c parra
 
Android
AndroidAndroid
Android
 
Seminario Android
Seminario AndroidSeminario Android
Seminario Android
 
Tópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movilTópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movil
 
Luisa fermnanda suarez taborda 9c android
Luisa fermnanda suarez taborda 9c androidLuisa fermnanda suarez taborda 9c android
Luisa fermnanda suarez taborda 9c android
 
Fundamentos del Desarrollo de Aplicaciones para Android
Fundamentos del Desarrollo de Aplicaciones para AndroidFundamentos del Desarrollo de Aplicaciones para Android
Fundamentos del Desarrollo de Aplicaciones para Android
 
Android
AndroidAndroid
Android
 
Entendiendo android
Entendiendo androidEntendiendo android
Entendiendo android
 
Concepto de Sistema Operativo Android
Concepto de Sistema Operativo AndroidConcepto de Sistema Operativo Android
Concepto de Sistema Operativo Android
 
Exposición 20 aniversario linux
Exposición 20 aniversario linuxExposición 20 aniversario linux
Exposición 20 aniversario linux
 
Android otro nivel
Android otro nivelAndroid otro nivel
Android otro nivel
 
Galaxy y (4)
Galaxy y (4)Galaxy y (4)
Galaxy y (4)
 
R esume libro el gran libro de android
R esume libro el gran libro de androidR esume libro el gran libro de android
R esume libro el gran libro de android
 
Android
AndroidAndroid
Android
 

Viewers also liked

Como conectar con mis clientes a traves de Facebook y Twitter
Como conectar con mis clientes a traves de Facebook y TwitterComo conectar con mis clientes a traves de Facebook y Twitter
Como conectar con mis clientes a traves de Facebook y TwitterFundació Bit
 
Cómo me encuentran mis clientes en internet
Cómo me encuentran mis clientes en internet Cómo me encuentran mis clientes en internet
Cómo me encuentran mis clientes en internet Fundació Bit
 
Effektiv markedsføring i sosiale medier
Effektiv markedsføring i sosiale medierEffektiv markedsføring i sosiale medier
Effektiv markedsføring i sosiale medierOve Dalen
 
Serveis a empreses de la FundacióBit
Serveis a empreses de la FundacióBitServeis a empreses de la FundacióBit
Serveis a empreses de la FundacióBitFundació Bit
 

Viewers also liked (8)

Meghan Issues in Africa Presentation Fall 2010
Meghan Issues in Africa Presentation Fall 2010Meghan Issues in Africa Presentation Fall 2010
Meghan Issues in Africa Presentation Fall 2010
 
Como conectar con mis clientes a traves de Facebook y Twitter
Como conectar con mis clientes a traves de Facebook y TwitterComo conectar con mis clientes a traves de Facebook y Twitter
Como conectar con mis clientes a traves de Facebook y Twitter
 
Cómo me encuentran mis clientes en internet
Cómo me encuentran mis clientes en internet Cómo me encuentran mis clientes en internet
Cómo me encuentran mis clientes en internet
 
Schubbersserena
SchubbersserenaSchubbersserena
Schubbersserena
 
Effektiv markedsføring i sosiale medier
Effektiv markedsføring i sosiale medierEffektiv markedsføring i sosiale medier
Effektiv markedsføring i sosiale medier
 
Male Shopping Experience Final
Male Shopping Experience FinalMale Shopping Experience Final
Male Shopping Experience Final
 
Manos
ManosManos
Manos
 
Serveis a empreses de la FundacióBit
Serveis a empreses de la FundacióBitServeis a empreses de la FundacióBit
Serveis a empreses de la FundacióBit
 

Similar to Diseñando apps para Motorola XOOM

Cómo aprovechar Webtop Cómo HTML5 mejora la experiencia del usuario
Cómo aprovechar Webtop Cómo HTML5 mejora la experiencia del usuarioCómo aprovechar Webtop Cómo HTML5 mejora la experiencia del usuario
Cómo aprovechar Webtop Cómo HTML5 mejora la experiencia del usuarioMotorola Mobility - MOTODEV
 
Seminario Dispositivos moviles
Seminario Dispositivos movilesSeminario Dispositivos moviles
Seminario Dispositivos movilesMiguel Gea
 
Presentacion yuri
Presentacion yuriPresentacion yuri
Presentacion yurixamybed123
 
Presentacion Apps Moviles Atrapalo.com
Presentacion Apps Moviles Atrapalo.comPresentacion Apps Moviles Atrapalo.com
Presentacion Apps Moviles Atrapalo.comJose Diaz Moreno
 
Desarrollo De Aplicacion De Silverlight De Principio A Fin
Desarrollo De Aplicacion De Silverlight De Principio A FinDesarrollo De Aplicacion De Silverlight De Principio A Fin
Desarrollo De Aplicacion De Silverlight De Principio A Finvideos
 
Bases de Datos para Dispositivos Móviles - Unidad I Introducción a la Progra...
Bases de Datos para Dispositivos Móviles - Unidad I Introducción a la Progra...Bases de Datos para Dispositivos Móviles - Unidad I Introducción a la Progra...
Bases de Datos para Dispositivos Móviles - Unidad I Introducción a la Progra...José Antonio Sandoval Acosta
 
Cómo agregar calidad a sus aplicaciones mediante pruebas
Cómo agregar calidad a sus aplicaciones mediante pruebas Cómo agregar calidad a sus aplicaciones mediante pruebas
Cómo agregar calidad a sus aplicaciones mediante pruebas Motorola Mobility - MOTODEV
 
Preguntas de android.....
Preguntas de android.....Preguntas de android.....
Preguntas de android.....Homero Jimenez
 
U1 p5 entornos_desarrollo_moviles
U1 p5 entornos_desarrollo_movilesU1 p5 entornos_desarrollo_moviles
U1 p5 entornos_desarrollo_movilesAkirepaho
 
Sistema Operativo iOS
Sistema Operativo iOSSistema Operativo iOS
Sistema Operativo iOSDraven Draven
 

Similar to Diseñando apps para Motorola XOOM (20)

Introducción a los "Pelochos"
Introducción a los "Pelochos"Introducción a los "Pelochos"
Introducción a los "Pelochos"
 
Presentación de los fragmentos
Presentación de los fragmentos Presentación de los fragmentos
Presentación de los fragmentos
 
windows phone
windows phonewindows phone
windows phone
 
windows phone .
windows phone .windows phone .
windows phone .
 
Cómo aprovechar Webtop Cómo HTML5 mejora la experiencia del usuario
Cómo aprovechar Webtop Cómo HTML5 mejora la experiencia del usuarioCómo aprovechar Webtop Cómo HTML5 mejora la experiencia del usuario
Cómo aprovechar Webtop Cómo HTML5 mejora la experiencia del usuario
 
Seminario Dispositivos moviles
Seminario Dispositivos movilesSeminario Dispositivos moviles
Seminario Dispositivos moviles
 
Diapositivas
DiapositivasDiapositivas
Diapositivas
 
Presentacion yuri
Presentacion yuriPresentacion yuri
Presentacion yuri
 
Presentacion yuri
Presentacion yuriPresentacion yuri
Presentacion yuri
 
Presentacion Apps Moviles Atrapalo.com
Presentacion Apps Moviles Atrapalo.comPresentacion Apps Moviles Atrapalo.com
Presentacion Apps Moviles Atrapalo.com
 
Desarrollo De Aplicacion De Silverlight De Principio A Fin
Desarrollo De Aplicacion De Silverlight De Principio A FinDesarrollo De Aplicacion De Silverlight De Principio A Fin
Desarrollo De Aplicacion De Silverlight De Principio A Fin
 
Bases de Datos para Dispositivos Móviles - Unidad I Introducción a la Progra...
Bases de Datos para Dispositivos Móviles - Unidad I Introducción a la Progra...Bases de Datos para Dispositivos Móviles - Unidad I Introducción a la Progra...
Bases de Datos para Dispositivos Móviles - Unidad I Introducción a la Progra...
 
Cómo agregar calidad a sus aplicaciones mediante pruebas
Cómo agregar calidad a sus aplicaciones mediante pruebas Cómo agregar calidad a sus aplicaciones mediante pruebas
Cómo agregar calidad a sus aplicaciones mediante pruebas
 
INTRODUCCION A ANDROID
INTRODUCCION A ANDROIDINTRODUCCION A ANDROID
INTRODUCCION A ANDROID
 
Preguntas de android.....
Preguntas de android.....Preguntas de android.....
Preguntas de android.....
 
Terminada 2.0
Terminada 2.0Terminada 2.0
Terminada 2.0
 
U1 p5 entornos_desarrollo_moviles
U1 p5 entornos_desarrollo_movilesU1 p5 entornos_desarrollo_moviles
U1 p5 entornos_desarrollo_moviles
 
iOS sistema operativo
iOS sistema operativoiOS sistema operativo
iOS sistema operativo
 
IOS
IOSIOS
IOS
 
Sistema Operativo iOS
Sistema Operativo iOSSistema Operativo iOS
Sistema Operativo iOS
 

More from Motorola Mobility - MOTODEV

HTML5 vs Native Android: Smart Enterprises for the Future
HTML5 vs Native Android: Smart Enterprises for the FutureHTML5 vs Native Android: Smart Enterprises for the Future
HTML5 vs Native Android: Smart Enterprises for the FutureMotorola Mobility - MOTODEV
 
Getting Your App Discovered: Android Market & Beyond
Getting Your App Discovered: Android Market & BeyondGetting Your App Discovered: Android Market & Beyond
Getting Your App Discovered: Android Market & BeyondMotorola Mobility - MOTODEV
 
Gráficos cada vez más rápidos. Cómo usar NDK y RenderScript
Gráficos cada vez más rápidos. Cómo usar NDK y RenderScript Gráficos cada vez más rápidos. Cómo usar NDK y RenderScript
Gráficos cada vez más rápidos. Cómo usar NDK y RenderScript Motorola Mobility - MOTODEV
 
Consejos principales para Android UI Cómo alcanzar la magia en los tablets
Consejos principales para Android UI Cómo alcanzar la magia en los tabletsConsejos principales para Android UI Cómo alcanzar la magia en los tablets
Consejos principales para Android UI Cómo alcanzar la magia en los tabletsMotorola Mobility - MOTODEV
 
Gráficos cada vez mais rápidos utilização de NDK e Renderscript
Gráficos cada vez mais rápidos utilização de NDK e RenderscriptGráficos cada vez mais rápidos utilização de NDK e Renderscript
Gráficos cada vez mais rápidos utilização de NDK e RenderscriptMotorola Mobility - MOTODEV
 
Como integrar qualidade aos seus aplicativos através de testes
Como integrar qualidade aos seus aplicativos através de testesComo integrar qualidade aos seus aplicativos através de testes
Como integrar qualidade aos seus aplicativos através de testesMotorola Mobility - MOTODEV
 
Tirando vantagem do webtop como o html5 aprimora a experiência do usuário de ...
Tirando vantagem do webtop como o html5 aprimora a experiência do usuário de ...Tirando vantagem do webtop como o html5 aprimora a experiência do usuário de ...
Tirando vantagem do webtop como o html5 aprimora a experiência do usuário de ...Motorola Mobility - MOTODEV
 
Desenvolvimento de aplicativos para o tablet Motorola XOOM
Desenvolvimento de aplicativos para o tablet Motorola XOOMDesenvolvimento de aplicativos para o tablet Motorola XOOM
Desenvolvimento de aplicativos para o tablet Motorola XOOMMotorola Mobility - MOTODEV
 

More from Motorola Mobility - MOTODEV (20)

HTML5 vs Native Android: Smart Enterprises for the Future
HTML5 vs Native Android: Smart Enterprises for the FutureHTML5 vs Native Android: Smart Enterprises for the Future
HTML5 vs Native Android: Smart Enterprises for the Future
 
The Enterprise Dilemma: Native vs. Web
The Enterprise Dilemma: Native vs. WebThe Enterprise Dilemma: Native vs. Web
The Enterprise Dilemma: Native vs. Web
 
Kill the Laptop!
Kill the Laptop!Kill the Laptop!
Kill the Laptop!
 
MOTODEV App Validator
MOTODEV App ValidatorMOTODEV App Validator
MOTODEV App Validator
 
Beautifully Usable, Multiple Screens Too
Beautifully Usable, Multiple Screens TooBeautifully Usable, Multiple Screens Too
Beautifully Usable, Multiple Screens Too
 
Getting the Magic on Android Tablets
Getting the Magic on Android TabletsGetting the Magic on Android Tablets
Getting the Magic on Android Tablets
 
Getting Your App Discovered: Android Market & Beyond
Getting Your App Discovered: Android Market & BeyondGetting Your App Discovered: Android Market & Beyond
Getting Your App Discovered: Android Market & Beyond
 
Introducing Fragments
Introducing FragmentsIntroducing Fragments
Introducing Fragments
 
Taking Advantage of Webtop
Taking Advantage of WebtopTaking Advantage of Webtop
Taking Advantage of Webtop
 
Building Quality Into Your Apps Through Testing
Building Quality Into Your Apps Through TestingBuilding Quality Into Your Apps Through Testing
Building Quality Into Your Apps Through Testing
 
Top Tips for Android UIs
Top Tips for Android UIsTop Tips for Android UIs
Top Tips for Android UIs
 
Designing Apps for Motorla Xoom Tablet
Designing Apps for Motorla Xoom TabletDesigning Apps for Motorla Xoom Tablet
Designing Apps for Motorla Xoom Tablet
 
Gráficos cada vez más rápidos. Cómo usar NDK y RenderScript
Gráficos cada vez más rápidos. Cómo usar NDK y RenderScript Gráficos cada vez más rápidos. Cómo usar NDK y RenderScript
Gráficos cada vez más rápidos. Cómo usar NDK y RenderScript
 
Consejos principales para Android UI Cómo alcanzar la magia en los tablets
Consejos principales para Android UI Cómo alcanzar la magia en los tabletsConsejos principales para Android UI Cómo alcanzar la magia en los tablets
Consejos principales para Android UI Cómo alcanzar la magia en los tablets
 
Principais dicas para UIs do Android
Principais dicas para UIs do AndroidPrincipais dicas para UIs do Android
Principais dicas para UIs do Android
 
Gráficos cada vez mais rápidos utilização de NDK e Renderscript
Gráficos cada vez mais rápidos utilização de NDK e RenderscriptGráficos cada vez mais rápidos utilização de NDK e Renderscript
Gráficos cada vez mais rápidos utilização de NDK e Renderscript
 
Como integrar qualidade aos seus aplicativos através de testes
Como integrar qualidade aos seus aplicativos através de testesComo integrar qualidade aos seus aplicativos através de testes
Como integrar qualidade aos seus aplicativos através de testes
 
Tirando vantagem do webtop como o html5 aprimora a experiência do usuário de ...
Tirando vantagem do webtop como o html5 aprimora a experiência do usuário de ...Tirando vantagem do webtop como o html5 aprimora a experiência do usuário de ...
Tirando vantagem do webtop como o html5 aprimora a experiência do usuário de ...
 
Introdução a fragmentos
Introdução a fragmentosIntrodução a fragmentos
Introdução a fragmentos
 
Desenvolvimento de aplicativos para o tablet Motorola XOOM
Desenvolvimento de aplicativos para o tablet Motorola XOOMDesenvolvimento de aplicativos para o tablet Motorola XOOM
Desenvolvimento de aplicativos para o tablet Motorola XOOM
 

Recently uploaded

Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 

Recently uploaded (20)

Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 

Diseñando apps para Motorola XOOM

  • 1. Motorola Mobility Anna Schaller Android Technology Evangelists Plataformas y servicios para desarrolladores Diseñando aplicaciones para el Motorola XOOM
  • 2. Bienvenido 01  Antes  y  ahora    Diseño  de  smartphone  vs.  diseño  de  tablet   02  Cambios  de  diseño  en  la  interfaz  gráfica  de  la  aplicación    Introducción  a  las  caracterís9cas  de  la  interfaz  gráfica  de  Android  3.0   03  Cambios  en  gráficos  y  medios    Actualizaciones,  mejoras  e  información  relacionadas  con  el  soporte   de  gráficos  y  medios   04  CaracterísAcas  de  hardware    Soporte  de  Android  en  el  hardware  de  XOOM   05  10  cosas  ……    Pasos  fáciles  diseñados  para  adaptar  su  aplicación  al  XOOM.     © 2010 Motorola Mobility, Inc.
  • 3. MOTODEV App Summit 2011 Page 3 Presentación de la tableta •  Pantalla: 10,1” diagonales (extra grande), WXGA (1280 x 800), 160 dpi (mdpi) •  Memoria: 32 GB de almacenamiento flash •  Procesador: Doble núcleo nVidia Tegra 2 •  Sensores: acelerómetro, barómetro, giroscopio, brújula, luz ambiente, GPS, sin proximidad o vibración, rotación en 4 direcciones •  Plataforma: Android 3.0 (Honeycomb) •  Conectividad: 802.11 a/b/g/n, Bluetooth, HDMI •  Entornos de aplicación: Adobe AIR 2.6, Android, •  Cámara: 2mp con enfoque fijo en la parte NDK, Flash 10.1 frontal / 5mp con enfoque automático en la parte posterior •  Numerosos cambios en el software…….. •  Medios: grabación de video HD 720p, reproducción de HD 1080p •  Almacenamiento externo: tarjeta SD de 32 GB posterior al lanzamiento © 2010 Motorola Mobility, Inc.
  • 4. MOTODEV App Summit 2011 Page 4 ¿Adónde se fue todo? Botón de encendido/apagado Barra de estado Teclas de Volumen (arriba/abajo) Tecla Menú Botón de bono (comúnmente Buscar) Tecla Inicio Botón Atrás © 2010 Motorola Mobility, Inc.
  • 5. MOTODEV App Summit 2011 Page 5 Interacción con la tableta Teclas de Volumen (arriba/abajo) Botón Encendido/ apagado © 2010 Motorola Mobility, Inc.
  • 6. MOTODEV App Summit 2011 Page 6 Interacción (continuación) No hay botón de menú Barra del sistema © 2010 Motorola Mobility, Inc.
  • 7. Página 7 •  Tema holográfico Cambios en el diseño •  Atenuación de la barra del de la sistema interfaz gráfica de la •  Barra de acciones aplicación •  Fragmentos •  Nuevos widgets •  Notificaciones actualizadas •  Portapapeles del sistema •  Arrastrar y soltar Título de presentación Versión 1.0 24.02.09
  • 8. MOTODEV App Summit 2011 Page 8 Tema holográfico •  Heredado por todas las aplicaciones construidas para Android 3.0 •  minSdkVersion o targetSdkVersion = 11 *y* habilita aceleración por hardware (android:hardwareAccelerated="true") –  Si la versión de SDK <= 9, entonces su aplicación utiliza los diseños de widget de Android 2.3 y no hereda el tema holográfico •  Existen dos versiones –  Fondo azul con letras blancas predeterminado @android:style/ Theme.Holo –  Holográfico inverso blanco con letras oscuras @android:style/ Theme.Holo.Light © 2010 Motorola Mobility, Inc.
  • 9. MOTODEV App Summit 2011 Page 9 Atenuación de la barra del sistema •  Modo de luces apagadas –  Atenúa la barra del sistema al reemplazar los iconos por “puntos” holográficos (no se elimina la barra del sistema) ! View v = findViewById(R.id.view_id);! ! v.setSystemUiVisibility(View.STATUS_BAR_HIDDEN);! ! v.setSystemUiVisibility(View.STATUS_BAR_VISIBLE);! © 2010 Motorola Mobility, Inc.
  • 10. MOTODEV App Summit 2011 Page 10 Barra de acciones - Simple •  Reemplaza la barra de título tradicional en la parte superior de la aplicación •  Icono de aplicación con título •  Menú de desborde •  La creación de menús no ha cambiado! public boolean onCreateOptionsMenu(Menu menu) {...}! !public boolean onOptionsItemSelected(MenuItem item) {! ! ! !case R.id.menu_item ...}! !/res/menu/menu_definitions.xml! © 2010 Motorola Mobility, Inc.
  • 11. MOTODEV App Summit 2011 Page 11 Barra de acciones – Dividida en fichas con elementos de acción Icono Fichas Elementos de acción “Accionable” •  Se puede hacer que el icono de aplicación cause una acción específica •  Interfaz dividida en fichas en la barra de acciones •  Elementos de acción individuales en lugar de aparecer en el menú de desborde –  Con o sin texto; con o sin icono •  Para administrar la barra de acciones !ActionBar actionBar = getActionBar();! !actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);! •  Consulte android.app.actionbar! © 2010 Motorola Mobility, Inc.
  • 12. MOTODEV App Summit 2011 Page 12 Cambiando al modo de pantalla completa - quitando la barra de acciones •  Puede ocultar la barra de acciones; *sin embargo,* su aplicación perderá acceso a su menú <activity android:theme="@android:style/Theme.NoTitleBar"> ! •  Otra manera de ocultar la barra de acciones es programáticamente, permitiendo que el usuario alterne ! !! ! !! ! !ActionBar bar = getActionBar();! if (bar != null) {! if (bar.isShowing()) bar.hide();! ! ! else bar.show();! }! © 2010 Motorola Mobility, Inc.
  • 13. MOTODEV App Summit 2011 Page 13 Menús •  Para respaldar la compatabilidad con versiones anteriores, se agregó botón de menú en la barra del sistema –  minSdkVersion y targetSdkVersion < 11 © 2010 Motorola Mobility, Inc.
  • 14. MOTODEV App Summit 2011 Page 14 Fragmentos •  Permite que una aplicación sea dividida en subcomponentes que se pueden administrar individualmente y combinar de diferentes maneras, como crear una interfaz de usuario de múltiples secciones. © 2010 Motorola Mobility, Inc.
  • 15. MOTODEV App Summit 2011 Page 15 Fragmentos (continuación) •  Un fragmento siempre debe estar incrustado en una Actividad Actividad Fragmento de lista Fragmento © 2010 Motorola Mobility, Inc.
  • 16. MOTODEV App Summit 2011 Page 16 Fragmentos (fragmento base) Fragmento (base) •  Crear clase que extienda el Fragment! •  Muestra contenido similar a una Activity (imágenes, texto, widgets de aplicación) •  No se puede adjuntar a otro fragmento o ficha •  Puede agregar elementos al menú de desborde de la Activity (barra de acciones) •  No tiene que estar visible (puede funcionar como proceso de fondo) •  Si está visible, requerirá su propio archivo de diseño © 2010 Motorola Mobility, Inc.
  • 17. MOTODEV App Summit 2011 Page 17 Fragmentos (adición a una actividad) XOOM_hc_app /res/layout/main.xml Diseño de la Activity Fragmento PictureList.java (de lista) Fragmento (de contenido) con imagen incrustada ContentFragment.java © 2010 Motorola Mobility, Inc.
  • 18. MOTODEV App Summit 2011 Page 18 Fragmentos (continuación) •  Información práctica sobre los Fragmentos en la Guía del desarrollador 3.0 •  Consulte la Referencia de 3.0 para las API •  android.app.Fragment! •  android.app.ListFragment! •  Muestra una lista similar a ListActivity •  android.app.DialogFragment ! •  Muestra un cuadro de diálogo flotante! •  android.app.FragmentManager •  Interfaz para interactuar con el fragmento (findFragmentById) •  android.app.FragmentTransaction ! •  APIs para operaciones con fragmentos (agregar, quitar, reemplazar, ocultar, mostrar)! •  Publicación en blog The Android 3.0 Fragments API –  más detalles sobre los Fragmentos para todas las versiones de Android 1.6 y superiores © 2010 Motorola Mobility, Inc.
  • 19. MOTODEV App Summit 2011 Page 19 Nuevas vistas •  Widgets de aplicación •  Menú emergente (android.widget.PopupMenu) •  El menú se adjunta a una vista (botón por ejemplo) •  Widgets de la pantalla de inicio –  Vista de pila (android.widget.StackView) •  Una vista que muestra sus niveles inferiores en una pila 3D y permite a los usuarios pasar discretamente por los niveles inferiores. •  Notificaciones enriquecidas (android.app.Notification.Builder) –  construir diseños de notificaciones © 2010 Motorola Mobility, Inc.
  • 20. MOTODEV App Summit 2011 Page 20 Ejemplo de funcionamiento •  La Galería de Honeycomb en muestras de SDK exhibe….. –  Barra de acciones con interfaz dividida en fichas, menú de elementos de acción y menú de desborde –  Lista de fragmentos y fragmento en orientación vertical y horizontal –  Nuevo tema –  Arrastrar y soltar –  Animación –  Ocultar/Mostrar Barra de acciones –  Modo Luces apagadas © 2010 Motorola Mobility, Inc.
  • 21. •  Aceleración por hardware para gráficos 2D Gráficos y multimedia •  Compresión de textura •  Nueva estructura de animaciones •  Soporte de medios Título de presentación Versión 1.0 24.02.09
  • 22. MOTODEV App Summit 2011 Page 22 Aceleración por hardware •  Soporte integrado para aceleración en un subconjunto de gráficos 2D (API Canvas) •  Globalmente para toda la aplicación o para Activity individual al establecer el nodo apropiado en el manifiesto •  android:hardwareAccelerated="true"! •  Localmente en cada Activity y/o ventana programáticamente a través de WindowManager.LayoutParams! ! Window win = getWindow(); ! ! win.setFlags! ! (WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,! !WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);! •  Realice una prueba para determinar si canvas es acelerado por hardware con isHardwareAcclerated()! © 2010 Motorola Mobility, Inc.
  • 23. MOTODEV App Summit 2011 Page 23 Compresión de textura •  Diferentes chipsets admiten diferentes tipos de compresión •  Formatos para móvil: –  Soporte de ETC1 en todos los dispositivos Android con OpenGL ES 2.0 pero sin canal alfa –  PVRTC (GPU PowerVR SGX 530 de Imagination Technologies) –  ATITC (GPU Adreno de Qualcomm) –  S3TC o DXT1, 3, 5 (GPU nVidia) •  Solución: filtrado de compresión de textura <supports-gl-textures android:name="string">! donde string es la extensión de OpenGL ES para un tipo de compresión por ejemplo android:name="GL_EXT_texture_compression_s3tc"! © 2010 Motorola Mobility, Inc.
  • 24. MOTODEV App Summit 2011 Page 24 Compresión de textura (continuación) •  Funciona con todos los niveles de API, no sólo con Honeycomb •  Se debe definir una etiqueta para cada formato admitido •  Lista de tipos de compresión admitidos en la Guía del desarrollador Android – Tags del Manifiesto de Android http://developer.android.com/guide/topics/manifest/supports-gl-texture- element.html •  Para las herramientas, consulte el artículo técnico de MotoDev en http://developer.motorola.com/docstools/library/understanding-texture- compression/ © 2010 Motorola Mobility, Inc.
  • 25. MOTODEV App Summit 2011 Page 25 Animación Dos sistemas de animación entre los que puede elegir: 1.  Animaciones de vistas (android.view.animation) –  Animaciones de interpolaciones •  Realiza una serie de transformaciones simples en el contenido de un objeto View. •  Las transiciones básicas incluyen rotación, desvanecimiento, movimiento y ampliación en un gráfico. –  Animaciones en cuadros •  La animación cuadro por cuadro le permite cargar una serie de recursos Drawables uno tras otro para crear una animación. 2.  Animaciones de propiedades (android.animation // nuevo en honeycomb) –  Puede animar casi todo (¡como los drawables, no solamente vistas!) –  Extiende el conjunto de propiedades que se pueden animar (agrupar y reproducir) –  Las animaciones de vistas son más sencillas y rápidas, las animaciones de propiedades hacen más –  Consulte http://developer.android.com/guide/topics/graphics/animation.html © 2010 Motorola Mobility, Inc.
  • 26. MOTODEV App Summit 2011 Page 26 Soporte de medios -- Colocando contenido en el dispositivo •  Transferencia de archivos de medios digitales –  Soporte integrado para el Protocolo de transporte de medios/imágenes (MTP/PTP). –  El usuario conecta el cable USB y se inicia la aplicación Transferencia de archivos de Android. –  Los usuarios pueden copiar fotografías, películas, videos, tonos de timbre, podcasts y más en carpetas predefinidas, o crear nuevas carpetas para otros contenidos. © 2010 Motorola Mobility, Inc.
  • 27. •  Sensores Hardware •  Cámara •  Pantalla táctil •  Telefonía
  • 28. MOTODEV App Summit 2011 Page 28 Sensores •  Acelerómetro, giroscopio, magnetómetro, barómetro, brújula, luz ambiente, GPS, sin sensor de proximidad, sin vibración •  Orientación del dispositivo –  La orientación natural es horizontal con rotación en 4 direcciones +ye +x +z +yes +ye -ye -x +x +x -x -x -ye -ye Rotación 0 Rotación 90 Rotación © 2010 Motorola Mobility, Inc. 0
  • 29. MOTODEV App Summit 2011 Page 29 Sensores (continuación) •  Utilice android.view.Display.getRotation() para obtener la dirección actual •  Adjust x/y values for all four rotation types –  ROTATION_0 –  ROTATION_90 –  ROTATION_180 –  ROTATION_270 •  Consulte la muestra AccelerometerPlay en el SDK •  Más detalles en la publicación del blog de Android One Screen Turn Deserves Another •  Si necesita evitar que su aplicación gire, bloquéela en orientación natural con <activity android:orientation="nosensor" />! © 2010 Motorola Mobility, Inc.
  • 30. MOTODEV App Summit 2011 Página30 Page Sensores -- lectura del sensor de barómetro // www.engineeringtoolbox.com/air-altitude-pressure-d_462.html! // reducir en ~ 1,2 gm/cm2 por cada ganancia de 10 metros! // en la elevación! © 2010 Motorola Mobility, Inc. Versión 1.0 © 2010 Motorola Mobility, Inc.
  • 31. MOTODEV App Summit 2011 Page 31 Cámaras •  2 cámaras disponibles – parte frontal y parte posterior –  5 mp, enfoque automático en la parte posterior –  2 mp, enfoque fijo en la parte frontal •  Se agregó soporte para dos cámaras en Gingerbread (2.3) •  La cámara posterior es la principal, de modo que el filtrado se basa en las funciones de la cámara posterior (por ejemplo android.hardware.camera.autofocus) <uses-permission android:name="android.permission.CAMERA" />! <uses-feature android:name="android.hardware.camera.front"! ! android:required=<true or false> /> ! © 2010 Motorola Mobility, Inc.
  • 32. MOTODEV App Summit 2011 Page 32 Cámara (continuación) import android.hardware.Camera;! import android.hardware.Camera.CameraInfo;! [...]! public void toggleCamera() {! Camera mCamera;! int numberOfCameras = Camera.getNumberOfCameras();! CameraInfo cameraInfo = new CameraInfo();! for (int i = 0; i < numberOfCameras; i++) {! Camera.getCameraInfo(i, cameraInfo);! if (cameraInfo.facing == CameraInfo.CAMERA_FACING_FRONT) {! mCamera = Camera.open(i);! ! ! // hacer algo con cámara frontal! } else if (cameraInfo.facing == CameraInfo.CAMERA_FACING_BACK) {! mCamera = Camera.open(i);! ! ! // hacer algo con cámara posterior! }! }! }! © 2010 Motorola Mobility, Inc.
  • 33. MOTODEV App Summit 2011 Page 33 Pantalla táctil •  android.hardware.touchscreen.multitouch (API nivel 7) –  Admite toque con 2 dedos •  android.hardware.touchscreen.distinct (API nivel 8) –  Admite el rastreo de 2 o más dedos completamente independiente •  android.hardware.touchscreen.multitouch.jazzhands (API nivel 9) –  Admite el rastreo de 5 o más dedos completamente independiente (toque de 10 dedos) –  Establezca la etiqueta <uses-feature> para filtrar en dispositivos que admitan esto (como el XOOM) © 2010 Motorola Mobility, Inc.
  • 34. MOTODEV App Summit 2011 Page 34 Pantalla táctil (continuación) •  Debido a que el XOOM no tiene un teclado físico, la superficie táctil es el principal punto de contacto para los usuarios •  Asegúrese de entender cómo funcionan los toques •  Siga utilizando el escuchador de eventos onTouch con MotionEvents •  MotionEvent.getPointerCount() devuelve el número de puntos de toque •  MotionEvent.getPointerId() le permite rastrear dedos individuales •  Consulte la publicación de blog de Adam Powell en Making Sense of Multitouch © 2010 Motorola Mobility, Inc.
  • 35. MOTODEV App Summit 2011 Page 35 Telefonía •  Perspectiva del dispositivo –  Los dispositivos CDMA, UMTS/GMS tienen un radio para admitir redes 4G/ LTE •  Se admite subconjunto de la estructura de telefonía (android.telephony.TelephonyManager) •  Perspectiva de la aplicación –  No se admite la función de telefonía <uses-feature android:name="android.hardware.telephony"! ! ! !android:required="true"/>! •  Múltiple configuraciones para XOOM –  CDMA, UMTS/GSM, WiFi-only •  La información de TelephonyManager.getDeviceId() no será igual © 2010 Motorola Mobility, Inc. –  Normalmente devuelve IMEI o MIED: el dispositivo WiFi devuelve null
  • 36. MOTODEV App Summit 2011 Page 36 Telefonía (continuación) •  Obtención de identificadores únicos: Piense en para qué obtendrá los datos. ¿Intenta llevar un registro del hardware o de la aplicación? –  El rastreo de hardware necesita que sean persistentes ante un restablecimiento de fábrica. –  El rastreo de aplicación necesita restablecimiento de valores cuando hay un restablecimiento de fábrica. •  Dirección Mac (no recomendado) –  No todos los dispositivos tienen WiFi. Además, si el WiFi no está activado, el hardware podría no reportar la dirección Mac. •  Número de serie (no recomendado) –  Sólo se garantiza en dispositivos sin telefonía. •  ANDROID_ID (probablemente su mejor opción para el rastreo de aplicación) –  Se genera y almacena cuando el dispositivo se inicializa por primera vez. Se restablece cuando el dispositivo se borra. –  No se garantiza en dispositivos anteriores a Android 2.2 •  Planifique para contingencia © 2010 Motorola Mobility, Inc.
  • 37. •  SDK de Honeycomb •  targetSdkVersion •  Diseños •  Manejo de excepciones 10 cosas…….. •  Modo de compatibilidad •  Drawables •  Texto •  Permisos y funciones •  Mantenimiento de la base de códigos •  SDK de Honeycomb
  • 38. MOTODEV App Summit 2011 Page 38 10 cosas que puede hacer de inmediato 1.  Descargar el SDK de Honeycomb (y las herramientas actualizadas) y realizar un recorrido de prueba para su aplicación en el emulador. 2.  Cambiar targetSdkVersion a “11” y ver lo que cambia. 3.  Agregar las carpetas /res/layout-xlarge y /res/layout- xlarge-port a su proyecto con diseños optimizados para la pantalla más grande. 4.  Actualizar el manejo de errores para salir honrosamente en lugar de mostrar "la aplicación no responde" por opción predeterminada o dejar colgado al usuario. 5.  Verificar si la aplicación se está ejecutando en el “modo de compatibilidad”. a.  minSdkVersion=“3” sin targetSdkVersion; construir para 1.5 b.  minSdkVersion=“3” y targetSdkVersion=“3”; construido para cualquier SDK > 1.5 c.  “Efecto shadowbox” © 2010 Motorola Mobility, Inc.
  • 39. MOTODEV App Summit 2011 Page 39 10 cosas que puede hacer (continuación) –  Establezca targetSdkVersion >= “4” y construya para SDK >= 1.6 © 2010 Motorola Mobility, Inc.
  • 40. MOTODEV App Summit 2011 Page 40 10 cosas que puede hacer de inmediato (continuación) 6.  Vuelva a ver sus gráficos en /res/drawable-<density>. © 2010 Motorola Mobility, Inc.
  • 41. MOTODEV App Summit 2011 Page 41 10 cosas que puede hacer de inmediato (continuación) •  Utilice la herramienta 9-patch para crear una región “ampliable” •  Coloque el fondo en ImageView y establecer scaleType=centerCrop! !<ImageView! ! !android:src="@drawable/background"! ! !android:layout_width="match_parent"! ! !android:layout_height="match_parent"! ! !android:scaleType="centerCrop" /> © 2010 Motorola Mobility, Inc.
  • 42. MOTODEV App Summit 2011 Page 42 10 cosas que puede hacer de inmediato (continuación) •  Las imágenes basadas en patrón se pueden mostrar en mosaico •  /res/layout/main.xml! !<LinearLayout ! ! ! !android:background="@drawable/background"! •  /res/layout/background.xml! !<bitmap! ! !xmlns:android=! ! ! !"http://schemas.android.com/apk/res/android"! ! !android:src="@drawable/baseimage"! ! !android:tileMode="repeat"! ! !android:filter="true"! ! !android:dither="true" />! © 2010 Motorola Mobility, Inc.
  • 43. MOTODEV App Summit 2011 Page 43 10 cosas que puede hacer de inmediato (continuación) •  Leer createScaledBitmap() utilizando las dimensiones de DisplayMetrics! !BitmapDrawable backgroundImage = ! ! ! (BitmapDrawable)getResources().getDrawable ! ! ! (R.drawable.background);! !Bitmap backgroundBitmap = backgroundImage.getBitmap();! !backgroundBitmap = Bitmap.createScaledBitmap ! ! ! ! !(backgroundBitmap,! ! ! ! dm.widthPixels,    // mostrar ancho de métricas! ! ! ! dm.heightPixels,   // mostrar alto de métricas!   ! ! ! true);             // habilitar filtrado! © 2010 Motorola Mobility, Inc.
  • 44. MOTODEV App Summit 2011 Page 44 10 cosas que puede hacer de inmediato (continuación) 7.  Verificar que su texto sea legible y fluya adecuadamente en la pantalla más grande. –  Con más definición (1280 x 800), optimice el texto para aprovechar el espacio © 2010 Motorola Mobility, Inc.
  • 45. MOTODEV App Summit 2011 Page 45 10 cosas que puede hacer de inmediato (continuación) •  Cree 2 etiquetas <dimens> diferentes en /res/values y /res-values- xlarge con 2 tamaños de fuente diferentes (ambas en unidades de sp) •  Agregue @dimen/<variable> a la propiedad <style> textSize <style name="readText" parent="@android:style/TextAppearance"> ! !<item name="android:textSize">@dimen/font_size</item>! !<item name="android:textColor">#000000</item> ! </style>! © 2010 Motorola Mobility, Inc.
  • 46. MOTODEV App Summit 2011 Page 46 10 cosas que puede hacer de inmediato (continuación) 8.  Verificar sus permisos y la etiqueta <uses-feature> que podría filtrar su aplicación del mercado. –  Los permisos no filtran su aplicación, la etiqueta <uses-feature> sí. –  El XOOM no tiene telefonía…bueno, relativamente. <uses-permission android:name="CALL_PHONE" /> ! <uses-permission android:name="CALL_PRIVILEGED" />! <uses-permission android:name="MODIFY_PHONE_STATE" />! <uses-permission android:name="PROCESS_OUTGOING_CALLS" />! <uses-permission android:name="READ_SMS" />! <uses-permission android:name="RECEIVE_SMS" />! <uses-permission android:name="RECEIVE_MMS" />! <uses-permission android:name="RECEIVE_WAP_PUSH" />! <uses-permission android:name="SEND_SMS" />! lica * <uses-permission android:name="WRITE_APN_SETTINGS" />! *imp <uses-permission android:name="WRITE_SMS" />! ! ! <uses-feature ! ! ! ! ! ! !android:name="android.hardware.telephony"! ! ! !android:required="true"/> © 2010 Motorola Mobility, Inc.
  • 47. MOTODEV App Summit 2011 Page 47 10 cosas que puede hacer de inmediato (continuación) •  Debe establecer explícitamente android:required="false" si desea ver la aplicación en el XOOM –  Ejecute la herramienta aapt en su apk para mostrar funciones explícitas $ aapt dump badging <path_to_exported_.apk>! $ ./aapt dump badging BTExample.apk
 package: name='com.example.android.btexample' versionCode='' versionName=''
 uses-permission:'android.permission.BLUETOOTH_ADMIN'
 uses-feature:'android.hardware.bluetooth'
 sdkVersion:'3'
 targetSdkVersion:'5’
 <. . .>
 –  Ejecute MOTODEV App Validator para mostrar funciones implícitas. •  http://developer.motorola.com/testing/app-validator/ © 2010 Motorola Mobility, Inc.
  • 48. MOTODEV App Summit 2011 Page 48 10 cosas que puede hacer de inmediato (continuación) 9.  Determinar cómo administrar su base de códigos. La recomendación oficial es mantener un enfoque binario individual. Recuerde que la biblioteca de compatibilidad le permite usar fragmentos hasta en 1.6. 10.  Descargar el SDK de Honeycomb (y las herramientas actualizadas) y realizar un recorrido de prueba para su aplicación en el emulador. © 2010 Motorola Mobility, Inc.
  • 49. MOTODEV App Summit 2011 Page 49 •  Widgets de tamaño variable •  Entrada y Movimiento Android 3.1 •  API de USB API Nivel 12 •  Soporte a MTP/PTP •  Real-time Transport Protocol (RTP) •  API Fragment Breadcrumbs © 2010 Motorola Mobility, Inc.
  • 50. MOTODEV App Summit 2011 Page 50 Widgets de tamaño variable •  Los widgets de Homescreen tienen tamaño variable –  horizontalmente, verticalmente, o en los dos ejes •  Define un atributo resizemode en el metadato AppWidgetProviderInfo de los widgets <appwidget-provider xmlns:android="http://schemas.android.com/apk/ !res/android"
   android:minWidth="294dp"
   android:minHeight="72dp"
   android:updatePeriodMillis="86400000"
   android:previewImage="@drawable/preview"
   android:initialLayout="@layout/example_appwidget"! android:configure="com.example.android.ExampleAppWidgetConfigure"
   android:resizeMode="horizontal|vertical" >
 </appwidget-provider>! © 2010 Motorola Mobility, Inc.
  • 51. MOTODEV App Summit 2011 Page 51 Eventos de Entrada y de Movimiento •  El sistema de eventos de entrada fue extendido para soportar una variedad de fuentes de entrada nuevas y eventos de movimiento, a través de todas las vistas e ventanas •  Para entrada del mouse y de dispositivos apuntadores, la plataforma soporta dos nuevos eventos de movimiento •  ACTION_SCROLL (horizontal o vertical) proporciona la ubicación del puntero adonde el movimiento de scroll ocurrió, cómo de un scrollwheel •  ACTION_HOVER_MOVE informa la ubicación del mouse cuándo no se pulsan los botones •  Eventos de movimiento de joysticks, gamepads, mouse y trackballs no son eventos táctiles –  Nuevo método de retrollamada pasándolos a una vista (“View “) como eventos “genéricos” de movimiento a través de una llamada a onGenericMotionEvent(), en vez de llamar a onTouchEvent()! © 2010 Motorola Mobility, Inc.
  • 52. MOTODEV App Summit 2011 Page 52 API de USB •  Compatibilidad integrada con la plataforma para USB “host mode” y expone una API que permite que aplicaciones manegen los periféricos conectados –  El “host mode” se basa en el controlador de hardware USB adecuado en el dispositivo Android –  En dispositivos que soportan “host mode”, como el XOOM, las aplicaciones pueden utilizarse de la API para identificar y comunicarse con los dispositivos conectados •  También existe soporte para dos tipos básicos de hardware conectados (depende se el dispositivo Android está actuando como host) –  dispositivo USB: hardware conectado que depende del dispositivo Android para servir como host (cámaras, teclados, mouse) –  accesorio USB: hardware conectado que tiene un USB “host controller” (robótica) •  Las API de USB APIs están disponibles en el paquete android.hardware.usb © 2010 Motorola Mobility, Inc.
  • 53. MOTODEV App Summit 2011 Page 53 Soporte a MTP/PTP •  Nuevo paquete android.mtp –  Clases MtpDevice, MtpDeviceInfo, MtpConstants! •  Las API permiten que aplicaciones interactúen directamente con cámaras y otros dispositivos PTP (“Picture Transfer Protocol”) conectados en el USB “host bus” –  Instancie un objeto MtpDevice referenciando un UsbDevice conectados ! –  Abre la conexión y transfiere los datos –  Obtiene información sobre el dispositivo e objetos almacenados en él –  Recibe notificaciones cuándo dispositivos estén conectados o quitados! •  La aplicación Gallery ahora soporta PTP, para que los usuarios puedan conectar sus cámaras a través de USB e importar imágenes para el Galery con un solo toque © 2010 Motorola Mobility, Inc.
  • 54. MOTODEV App Summit 2011 Page 54 DEMO © 2010 Motorola Mobility, Inc.
  • 55. MOTODEV App Summit 2011 Page 55 Más información: developer.motorola.com •  Herramientas –  MOTODEV Studio: IDE basado en eclipse con funciones adicionales (localización de cadenas de texto, administrador de base de datos) –  App Validator: herramienta en línea para las pruebas previas de las aplicaciones Android para verificar su compatibilidad con los dispositivos •  Artículos técnicos –  Motorola XOOM Programming Tips (Consejos prácticos de programación para Motorola XOOM) –  Understanding Texture Compression (Entendiendo la compresión de textura) •  Especificaciones del producto –  http://developer.motorola.com/products/xoom/ •  Paneles de discusión -  http://community.developer.motorola.com/ © 2010 Motorola Mobility, Inc.
  • 56. MOTODEV App Summit 2011 Page 56 ¿Desea  formular  alguna   pregunta? Brasil - #appsum11br Argentina - #appsum11ar México - #appsum11mx community.developer.motorola.com © 2010 Motorola Mobility, Inc.
  • 57. MOTODEV App Summit 2011 Page 57 gracias horario  comercial   XXX  junio  ?,  ??horario  a.m.  de  la9noamérica     moto.ly/officehours/??? © 2010 Motorola Mobility, Inc.
  • 58. MOTODEV App Summit 2011 Page 58 LEGAL INFORMACIÓN DE LA LICENCIA Con excepción de dónde se especifique, el código de fuente de muestra escrito por Motorola Mobility Inc. y a usted suministrado tiene la licencia que a continuación se describe. Copyright © 2010-2011, Motorola, Inc. Todos los derechos reservados, salvo que se indique explícitamente lo contrario. •  Se permite la redistribución y el uso en forma de fuente o binaria, con o sin modificación, siempre y cuando se cumplan las siguientes condiciones: •  Las redistribuciones del código fuente deben conservar el aviso de derechos de autor arriba mencionado, la presente lista de condiciones y el siguiente descargo de responsabilidad. •  Las redistribuciones en forma binaria deben reproducir el aviso de derechos de autor arriba mencionado, la presente lista de condiciones y el siguiente descargo de responsabilidad en la documentación y/u otros materiales suministrados con la distribución. Ni el nombre de Motorola, Inc. ni los nombres de sus distribuidores pueden usarse para avalar o promover productos que deriven de este software sin previa autorización específica por escrito. EL PRESENTE SOFTWARE SE SUMINISTRA POR LOS TITULARES Y CONTRIBUYENTES DE LOS DERECHOS DE AUTOR EN EL ESTADO EN QUE SE ENCUENTRA Y SE EXCLUYE CUALQUIER GARANTÍA EXPRESA O IMPLÍCITA, INCLUIDAS, A TÍTULO ENUNCIATIVO, LAS GARANTÍAS IMPLÍCITAS DE COMERCIABILIDAD Y APTITUD PARA UN FIN PARTICULAR. EN NINGÚN CASO PODRÁ EL TITULAR DE LOS DERECHOS DE AUTOR O LOS CONTRIBUYENTES SER RESPONSABLE POR NINGÚN DAÑO Y PERJUICIO DIRECTO, INDIRECTO, INCIDENTAL, ESPECIAL, PUNITIVO, O CONSECUENCIAL (A TÍTULO ENUNCIATIVO DE ABASTECIMIENTO DE BIENES O SERVICIOS DE SUSTITUCIÓN; PÉRDIDA DE USO, DATOS O GANANCIAS O INTERRUPCIÓN DE ACTIVIDADES) INDEPENDIENTEMENTE DE SU ORIGEN Y DE TODA TEORÍA DE RESPONSABILIDAD, YA SEA EN EL CONTRATO, LA RESPONSABILIDAD ESTRICTA O POR LESIÓN JURÍDICA (INCLUSO NEGLIGENCIA O DE OTRO MODO) QUE SURJA DE ALGUNA MANERA DEL USO DE ESTE SOFTWARE, INCLUSO SI SE ADVIRTIÓ DE LA POSIBILIDAD DE DICHO DAÑO. Otro código fuente mostrado en la presentación podrá ofrecerse bajo otras licencias. Apache 2.0 Copyright © 2010, Proyecto Código Abierto Android. Todos los derechos reservados, salvo indicación expresa en contrario. Con licencia de Apache, Versión 2.0 (la "Licencia"); no podrá usar este archivo, salvo que cumpla con lo que establece la licencia. Puede obtener una copia de la licencia en http://www.apache.org/licenses/LICENSE-2.0. Salvo que lo exija la legislación vigente o se preste conformidad por escrito, el software distribuido bajo licencia, se distribuye "EN EL ESTADO EN QUE SE ENCUENTRA" SIN GARANTÍAS DE NINGÚN TIPO, explícitas o implícitas. Consulte la Licencia para ver los permisos y las limitaciones que rigen para la Licencia según el idioma específico. Creative Commons 3.0 Attribution License Partes de esta presentación se reprodujeron de un trabajo creado y compartido con Google (http://code.google.com/policies.html) y se usaron conforme a los términos descritos en Creative Commons 3.0 Attribution License (http://creativecommons.org/licenses/by/3.0/). © 2010 Motorola Mobility, Inc.
  • 59. MOTODEV App Summit 2011 Page 59 © 2010 Motorola Mobility, Inc.