Android Developers
Plataforma Android Studio Google Play Jetpack Kotlin Documentos Noticias
  • Documentación
Descripción general Guías Referencia Ejemplos Diseño y calidad
Android Developers
  • Plataforma
  • Android Studio
  • Google Play
  • Jetpack
  • Kotlin
  • Documentos
    • Descripción general
    • Guías
    • Referencia
    • Ejemplos
    • Diseño y calidad
  • Noticias
  • Aspectos básicos de la app
  • Introducción
  • Cómo crear tu primera app
    • Descripción general
    • Cómo crear un proyecto de Android
    • Cómo ejecutar tu app
    • Cómo crear una interfaz de usuario sencilla
    • Cómo iniciar otra actividad
  • Aspectos fundamentales de la app
  • Recursos de la app
    • Descripción general
    • Cómo administrar los cambios en la configuración
    • Localización
      • Cómo localizar tu app
      • Cómo probar tu app con configuraciones regionales simuladas
      • Unicode y compatibilidad internacional
      • Resolución de idioma y configuración regional
    • Recursos XML complejos
    • Tipos de recursos
      • Descripción general
      • Animación
      • Lista de estado de colores
      • Elemento de diseño
      • Diseño
      • Menú
      • String
      • Estilo
      • Fuente
      • Más tipos
  • Archivo de manifiesto de la app
    • Descripción general
    • <action>
    • <activity>
    • <activity-alias>
    • <application>
    • <category>
    • <compatible-screens>
    • <data>
    • <grant-uri-permission>
    • <instrumentation>
    • <intent-filter>
    • <manifest>
    • <meta-data>
    • <path-permission>
    • <permission>
    • <permission-group>
    • <permission-tree>
    • <provider>
    • <receiver>
    • <service>
    • <supports-gl-texture>
    • <supports-screens>
    • <uses-configuration>
    • <uses-feature>
    • <uses-library>
    • <uses-permission>
    • <uses-permission-sdk-23>
    • <uses-sdk>
  • Dispositivos
  • Compatibilidad con dispositivos
    • Descripción general
    • Descripción general de la compatibilidad de pantallas
    • Cómo brindar compatibilidad con diferentes tamaños de pantalla
    • Cómo brindar compatibilidad con diferentes densidades de píxeles
    • Cómo brindar compatibilidad con cortes de pantalla
    • Cómo declarar una compatibilidad de pantalla restringida
    • Compatibilidad con varios APK
      • Descripción general
      • Cómo crear varios APK para diferentes niveles de API
      • Cómo crear varios APK para diferentes tamaños de pantallas
      • Cómo crear varios APK para diferentes texturas GL
      • Cómo crear varios APK con numerosas dimensiones
    • Cómo brindar compatibilidad con diferentes idiomas y culturas
    • Cómo brindar compatibilidad con diferentes versiones de plataformas
    • Filtros en Google Play
  • Wear
    • Descripción general
    • Cómo agregar funciones de wearables a las notificaciones
      • Descripción general
      • Cómo crear una notificación
      • Estilos de notificaciones
      • Modo puente para notificaciones
      • Cómo mantener la compatibilidad
    • Cómo crear apps para wearables
      • Descripción general
      • Cómo crear y ejecutar una app para wearables
      • Apps independientes
      • Cómo crear diseños personalizados
      • Cómo mantener tu app visible
      • Autenticación en Wear
      • Cómo agregar capacidades de voz
      • Cómo empaquetar y distribuir apps de Wear
      • Cómo depurar una app de Wear
      • Cómo crear capturas de pantalla de IU de Wear
      • Cómo crear apps de Wear para China
    • Cómo crear IU personalizadas
      • Descripción general
      • Cómo definir diseños
      • Cómo crear listas
      • Cómo mostrar confirmaciones
      • Cómo salir de las actividades en pantalla completa
      • Cómo usar la biblioteca de IU de Wear
      • Acciones y navegación de Wear
      • Botones físicos
      • Entrada rotativa
      • Cómo crear editores de método de entrada
      • Cómo usar gestos de muñeca
    • Cómo enviar y sincronizar datos
      • Descripción general
      • Sincronización y acceso a la red
      • Cómo acceder a la capa de datos de wearables
      • Cómo sincronizar elementos de datos
      • Cómo transferir elementos
      • Cómo enviar y recibir mensajes
      • Cómo administrar eventos de la capa de datos
      • Cómo migrar apps de Wear a GoogleApi
    • Cómo crear proveedores de datos
      • Descripción general
      • Cómo exponer datos a complicaciones
    • Cómo crear caras de reloj
      • Descripción general
      • Cómo diseñar caras de reloj
      • Cómo crear un servicio para caras de reloj
      • Cómo dibujar caras de reloj
      • Complicaciones de caras de reloj
      • Cómo exponer datos a complicaciones
      • Cómo agregar complicaciones a una cara de reloj
      • Cómo crear caras de reloj interactivas
      • Cómo brindar actividades de configuración
      • Cómo solucionar problemas comunes
      • Cómo mejorar el rendimiento con la aceleración de hardware
      • Cómo optimizar las caras de reloj
    • Cómo detectar la ubicación
    • Solicitud de permisos
    • Cómo usar las bocinas
  • Android TV
    • Descripción general
    • Cómo crear apps para TV
      • Descripción general
      • Cómo comenzar a usar apps para TV
      • Bibliotecas de AndroidX TV
      • Cómo controlar hardware de TV
      • Cómo administrar controladores de TV
      • Cómo crear diseños de TV
      • Teclado en pantalla
      • Cómo desarrollar la navegación para TV
      • Prácticas recomendadas para aumentar las interacciones con Google TV
    • Cómo crear apps de reproducción para TV
      • Descripción general
      • Cómo crear un navegador de catálogos
      • Cómo proporcionar una vista de tarjetas
      • Cómo crear una vista de detalles
      • Cómo usar controles de transporte de Leanback
      • Cómo mostrar una tarjeta de Está sonando
      • Cómo agregar un paso guiado
      • Cómo presentar tu app a los usuarios que acceden por primera vez
      • Cómo habilitar la reproducción en segundo plano
    • Cómo ayudar a los usuarios a encontrar contenido en la TV
      • Descripción general
      • Cómo recomendar contenido de TV
        • Descripción general
        • Canales en la pantalla principal
        • Atributos de programación de video
        • Atributos de programación de audio
        • Atributos de programación de juegos
        • Ver siguiente
          • Agregar programas
          • Atributos
          • Lineamientos para desarrolladores de apps
          • Lineamientos para proveedores de TV
        • Cómo obtener vistas previas de videos
        • Recomendaciones para Android N y versiones anteriores
      • Cómo permitir las búsquedas en apps para TV
      • Cómo realizar búsquedas en apps para TV
    • Cómo compilar juegos para TV
    • Cómo compilar servicios de entrada de TV
      • Descripción general
      • Cómo desarrollar un servicio de entrada de TV
      • Cómo trabajar con datos del canal
      • Cómo administrar la interacción del usuario con la TV
      • Compatibilidad con time-shifting
      • Compatibilidad con la grabación de contenido
    • Lista de verificación de apps para TV
    • Accesibilidad en TVs
      • Compatibilidad con accesibilidad en aplicaciones no nativas
      • Prácticas recomendadas sobre accesibilidad de aplicaciones no nativas
      • Ejemplos de evaluación de TalkBack para apps de TV
    • Vista previa para desarrolladores de Android 12 para TV
  • Android para vehículos
    • Descripción general
    • Cómo compilar apps multimedia para vehículos
      • Cómo compilar apps multimedia para vehículos
      • Cómo agregar compatibilidad con Android Auto
      • Cómo agregar compatibilidad con el SO Android Automotive
    • Cómo crear apps de mensajería para Android Auto
    • Cómo compilar apps de carga, navegación y estacionamiento para Android Auto (Beta)
    • Cómo probar apps de Android para vehículos
    • Servicios de Google Play
    • Notificaciones en el SO Android Automotive
  • Android Things
    • Descripción general
    • Diferencias entre plataformas
    • Servicios de Google
    • Hardware compatible
      • Descripción general
      • NXP i.MX7D
      • Raspberry Pi 3
      • Configuración avanzada
        • Descripción general
        • Cómo instalar una imagen manualmente
        • Cómo recuperar un dispositivo
        • Cómo conectarse a una red Wi-Fi con adb
    • Cómo crear apps
      • Cómo crear una app de Things
        • Descripción general
        • Cómo crear un proyecto
        • Cómo conectar el hardware
        • Cómo interactuar con periféricos
        • Cómo integrar controladores periféricos
      • Cómo comunicarse con dispositivos inalámbricos
        • Bluetooth
        • LoWPAN
      • Cómo configurar dispositivos
        • Configuración
        • Actualizaciones
      • Cómo interactuar con periféricos
        • Descripción general
        • GPIO
        • PWM
        • I2C
        • SPI
        • UART
        • PIO nativo
        • Herramienta de CLI
      • Cómo integrar código nativo
      • Cómo crear controladores del espacio del usuario
        • Descripción general
        • Ubicación
        • Entrada
        • Sensores
        • LoWPAN
      • Ejemplos
    • Cómo administrar dispositivos
      • Descripción general
      • Cómo crear un producto
      • Cómo configurar un producto
      • Cómo crear una compilación
        • Descripción general
        • Cómo administrar apps
      • Cómo impulsar una actualización
        • Descripción general
        • Actualizaciones automáticas
      • Cómo supervisar las estadísticas
    • Condiciones
      • Condiciones del Servicio de Console
      • Acuerdo de licencia del SDK
    • Android Things Console
  • Dispositivos con Sistema operativo Chrome
    • Descripción general
    • Cómo compilar apps para el Sistema operativo Chrome
    • Cómo optimizar apps para el Sistema operativo Chrome
    • Cómo preparar tu entorno de desarrollo
    • Compatibilidad con manifiestos de apps para Chromebooks
    • Compatibilidad de dispositivos con el Sistema operativo Chrome y apps
    • Diferencias en el procesamiento de apps en Chromebooks
    • Administración de ventanas
    • Compatibilidad de entrada para Chromebooks
    • Cómo adaptar juegos para el Sistema operativo Chrome
    • Animación fluida en el Sistema operativo Chrome
    • Casos de prueba de apps para Android en el Sistema operativo Chrome
  • Temas principales
  • Actividades
    • Introducción a las actividades
    • Ciclo de vida de la actividad
    • Cambios en el estado de la actividad
    • Cómo probar tus actividades
    • Tareas y pila de actividades
    • Procesos y el ciclo de vida de la app
    • Objetos parcelables y paquetes
    • Fragmentos
      • Descripción general
      • Cómo crear un fragmento
      • Administrador de fragmentos
      • Transacciones de fragmentos
      • Cómo animar transiciones entre fragmentos
      • Ciclo de vida de los fragmentos
      • Cómo guardar un estado con fragmentos
      • Cómo comunicarse con fragmentos
      • Cómo trabajar con la barra de la app
      • Cómo mostrar diálogos con DialogFragment
      • Cómo probar tus fragmentos
    • Cómo interactuar con otras apps
      • Descripción general
      • Cómo enviar al usuario a otra app
      • Cómo obtener un resultado de una actividad
      • Cómo permitir que otras apps inicien tu actividad
      • Cómo administrar la visibilidad de un paquete
      • Cómo configurar la visibilidad de un paquete en función de casos de uso
    • Cómo procesar vínculos de apps
      • Descripción general
      • Cómo habilitar vínculos al contenido de la app
      • Cómo verificar los vínculos de la app
      • Cómo crear vínculos de apps para apps instantáneas
    • Cargadores
    • Pantalla de Recientes
    • Compatibilidad con el modo Multiventana
    • Restricciones sobre el inicio de actividades en segundo plano
    • Cómo crear apps para dispositivos plegables
    • Accesos directos a apps
      • Descripción general
      • Cómo crear accesos directos
      • Cómo administrar combinaciones de teclas
      • Prácticas recomendadas para accesos directos
    • Widgets de apps
      • Descripción general
      • Cómo crear un widget de la app
      • Cómo crear un host de widgets de la app
  • Compatibilidad con apps
    • Descripción general
    • Herramientas de marco de compatibilidad
    • Restricciones en interfaces que no pertenecen al SDK
  • Componentes de la arquitectura
    • Descripción general
    • Cómo agregar componentes a tu proyecto
    • Inicio de apps
    • DataStore
    • Vinculación de vista
      • Descripción general
      • Cómo migrar de sintéticos de Kotlin para ver los enlaces
    • Biblioteca de vinculación de datos
      • Descripción general
      • Comenzar
      • Diseños y expresiones vinculantes
      • Cómo trabajar con objetos de datos observables
      • Clases de vinculación generadas
      • Adaptadores de vinculación
      • Cómo vincular vistas de diseño con componentes de arquitectura
      • Vinculación de datos en dos direcciones
    • Cómo gestionar los ciclos de vida
    • LiveData
    • Biblioteca de paginación
      • Descripción general
      • Cómo visualizar listas paginadas
      • Cómo cargar datos paginados
      • Paging 3
        • Descripción general
        • Cómo cargar y mostrar datos paginados
        • Página de la red y la base de datos
        • Cómo transformar transmisiones de datos
        • Cómo migrar a Paging 3
    • ViewModel
    • WorkManager
      • Descripción general
      • Cómo comenzar
      • Guías prácticas
        • Cómo definir tus WorkRequests
        • Estados de trabajos
        • Cómo administrar trabajos
        • Cómo observar el progreso intermedio de un trabajador
        • Cómo concatenar el trabajo
        • Cómo probar una implementación de trabajadores
        • Pruebas de integración con WorkManager
        • Cómo depurar WorkManager
      • Conceptos avanzados
        • Inicialización y configuración
        • Cómo ejecutar subprocesos en WorkManager
          • Descripción general
          • Cómo ejecutar subprocesos en Worker
          • Cómo ejecutar subprocesos en CoroutineWorker
          • Cómo ejecutar subprocesos en RxWorker
          • Cómo ejecutar subprocesos en ListenableWorker
        • Asistencia para trabajadores de larga ejecución
      • Cómo migrar desde Firebase JobDispatcher
      • Cómo realizar la migración desde GCMNetworkManager
    • Cómo guardar estados
    • Módulo de estado guardado para ViewModel
    • Cómo usar las corrutinas de Kotlin con componentes de arquitectura
    • Notas de la versión
    • Recursos adicionales
  • Componente de Navigation
    • Descripción general
    • Principios de la navegación
    • Cómo comenzar
    • Cómo crear destinos
    • Cómo diseñar para diferentes factores de forma
    • Cómo diseñar gráficos de navegación
    • Gráficos anidados
    • Acciones generales
    • Cómo navegar a un destino
    • Navegación condicional
    • Cómo pasar datos entre destinos
    • Cómo crear un vínculo directo para un destino
    • Cómo animar las transiciones entre destinos
    • Cómo actualizar los componentes de IU con NavigationUI
    • DSL de Kotlin
    • Cómo crear vistas deslizantes con pestañas mediante ViewPager
    • Cómo crear vistas deslizantes con pestañas mediante ViewPager2
    • Cómo interactuar de manera programática
    • Cómo navegar con módulos de funciones
    • Cómo probar la navegación
    • Cómo controlar cambios de configuración
    • Cómo agregar nuevos tipos de destinos
    • Cómo brindar navegación hacia atrás personalizada
    • Cómo migrar al componente de navegación
  • Intents y filtros de intents
    • Descripción general
    • Intents comunes
  • Interfaz de usuario
    • Descripción general
    • Diseños
      • Descripción general
      • Cómo crear una IU receptiva con ConstraintLayout
      • Cómo agregar movimiento a tu diseño con MotionLayout
        • Descripción general
        • Ejemplos de MotionLayout
        • Referencia XML de MotionLayout
          • Descripción general
          • <MotionScene>
          • <ConstraintSet>
          • <Constraint>
          • <Transition>
          • <onClick>
          • <onSwipe>
          • <KeyFrameSet>
          • <KeyPosition>
          • <KeyAttribute>
      • Cómo crear una lista con RecyclerView
      • Personalización avanzada de RecyclerView
      • Cómo crear un diseño basado en tarjetas
      • Cómo implementar flujos de IU adaptables
      • Cómo mejorar el rendimiento del diseño
        • Descripción general
        • Cómo optimizar las jerarquías de diseño
        • Cómo reutilizar diseños con <include/>
        • Carga de vistas demorada
      • Diseño lineal
      • Vista del adaptador
      • Diseño relativo
      • Componentes de vistas personalizadas
        • Descripción general
        • Cómo crear una clase de vista personalizada
        • Cómo implementar dibujos personalizados
        • Cómo hacer una vista interactiva
        • Cómo optimizar la vista
    • Apariencia y estilo
      • Material design
      • Estilos y temas
      • Tema oscuro
      • Íconos adaptables
      • Cómo agregar un botón de acción flotante
      • Cómo crear vistas de recorte y sombras
      • Texto
        • Ajuste automático de tamaño de TextView
        • Fuentes descargables
        • Fuentes en XML
        • Compatibilidad con emojis
        • Widget de ampliación
        • Intervalos
      • Botones
      • Casillas de verificación
      • Botones de selección
      • Botones de activación
      • Controles de números
      • Selectores
      • Información sobre la herramienta
    • Notificaciones
      • Descripción general
      • Cómo crear una notificación
      • Cómo crear una notificación expandible
      • Cómo mostrar notificaciones sujetas a horarios específicos
      • Cómo iniciar una actividad desde una notificación
      • Cómo crear un grupo de notificaciones
      • Cómo crear y administrar canales de notificaciones
      • Cómo modificar una insignia de notificación
      • Cómo crear una notificación personalizada
    • Conversaciones
    • Burbujas
    • Cómo agregar la barra de apps
      • Descripción general
      • Cómo configurar la barra de la app
      • Cómo agregar y administrar acciones
      • Cómo agregar una acción hacia arriba
      • Cómo usar vistas y proveedores de acciones
    • Cómo controlar el nivel de visibilidad de la IU del sistema
      • Descripción general
      • Cómo atenuar las barras del sistema
      • Cómo ocultar la barra de estado
      • Cómo ocultar la barra de navegación
      • Cómo habilitar el modo de pantalla completa
      • Cómo responder a los cambios en el nivel de visibilidad de la IU
    • Cómo agregar compatibilidad con el gesto de deslizar para actualizar
      • Descripción general
      • Cómo agregar el gesto de deslizar para actualizar a tu app
      • Cómo responder a un gesto para actualizar
    • Descripción general de las notificaciones
    • Descripción general de los mensajes emergentes
      • Descripción general
      • Cómo crear y mostrar un mensaje emergente
      • Cómo agregar una acción a un mensaje
    • Diálogos
    • Menús
    • Configuración
      • Descripción general
      • Cómo organizar tus opciones de configuración
      • Cómo personalizar la configuración
      • Cómo usar valores guardados
      • Cómo crear una jerarquía en código
      • Cómo controlar otros factores de forma
      • Componentes y atributos de preferencias
    • Búsqueda
      • Descripción general
      • Cómo crear una interfaz de búsqueda
      • Cómo agregar sugerencias de consulta reciente
      • Cómo agregar sugerencias personalizadas
      • Configuración que permite búsquedas
      • Cómo agregar la funcionalidad de búsqueda
        • Descripción general
        • Cómo configurar la interfaz de búsqueda
        • Cómo almacenar y buscar datos
        • Cómo mantener la compatibilidad con versiones anteriores
    • Cómo copiar y pegar
    • Cómo arrastrar y soltar
    • Compatibilidad con pantalla en pantalla
    • Cómo crear IU compatibles con versiones anteriores
      • Descripción general
      • Cómo abstraer las nuevas API
      • Cómo crear conexiones proxy con las API nuevas
      • Cómo crear una implementación con API anteriores
      • Cómo usar componentes de compatibilidad de versiones
    • Control de dispositivos
  • Animaciones y transiciones
    • Descripción general
    • Introducción a las animaciones
    • Descripción general de la animación de propiedades
    • Cómo animar gráficos con elementos de diseño
    • Cómo mostrar/ocultar una vista con animación
    • Cómo mover una vista con una animación
    • Cómo mover una vista con una animación de navegación
    • Cómo ampliar una vista con animaciones con zoom
    • Cómo animar movimiento con física de resortes
    • Cómo animar automáticamente las actualizaciones de diseño
    • Cómo animar los cambios de diseño con una transición
    • Cómo crear una animación de transición personalizada
    • Cómo iniciar una actividad con una animación
    • Cómo deslizarse entre fragmentos con ViewPager
    • Cómo deslizarse entre fragmentos con ViewPager2
    • Cómo migrar contenido de ViewPager a ViewPager2
    • Recursos adicionales
  • Imágenes y gráficos
    • Descripción general
    • Descripción general de los elementos de diseño
    • Descripción general de las interfaces de elementos de diseño
    • Cómo gestionar mapas de bits
    • Cómo seleccionar colores con la API de Palette
    • Cómo reducir los tamaños de descarga de imágenes
    • Aceleración de hardware
    • OpenGL ES
    • Cómo mostrar gráficos con OpenGL ES
      • Descripción general
      • Cómo crear un entorno OpenGL ES
      • Cómo definir formas
      • Cómo dibujar formas
      • Cómo aplicar vistas de cámara y proyección
      • Cómo agregar movimiento
      • Cómo responder a eventos táctiles
    • Procesamiento
      • Descripción general
      • Cómo reducir la superposición
      • Jerarquías de vista y rendimiento
      • Cómo hacer un análisis con la representación GPU del perfil
    • Cómo mejorar gráficos con contenido de una amplia gama de colores
  • Audio y video
    • Descripción general de audio y video
    • Controles multimedia
    • Formatos multimedia compatibles
    • Códecs de archivos multimedia
    • Arquitectura de apps multimedia
      • Descripción general de la arquitectura de apps multimedia
      • Cómo usar sesiones multimedia
      • Cómo crear una app de audio
        • Descripción general de las apps de audio
        • Cómo crear servicios para el navegador multimedia
        • Cómo crear actividad de clientes para el navegador multimedia
        • Devoluciones de llamadas de sesiones multimedia
        • Cómo usar la app de prueba del control multimedia
      • Cómo crear una app de video
        • Descripción general de las apps de video
        • Cómo crear una actividad del reproductor de video
        • Devoluciones de llamadas de sesiones multimedia
      • Cómo responder a los botones multimedia
      • Cómo controlar cambios en la salida de audio
      • Cómo administrar el enfoque automático
      • Apps multimedia y del Asistente de Google
    • Enrutamiento entre dispositivos
      • Descripción general del enrutamiento
      • Descripción general de MediaRouter
      • Descripción general de MediaRouteProvider
    • Cómo controlar la amplitud con VolumeShaper
    • Descripción general de MediaPlayer
    • Descripción general de MediaRecorder
    • ExoPlayer
    • Cómo compartir entradas de audio
    • Cómo realizar capturas de reproducción
    • Velocidad de fotogramas
    • Recursos adicionales para contenido multimedia
  • Servicios
    • Descripción general
    • Servicios en primer plano
    • Servicios vinculados
    • Descripción general de AIDL
  • Tareas en segundo plano
    • Descripción general
    • Subprocesos en segundo plano
    • Optimizaciones en segundo plano
    • Transmisiones
      • Descripción general
      • Excepciones de transmisiones implícitas
    • Cómo administrar el estado activo del dispositivo
      • Descripción general
      • Cómo mantener activo el dispositivo
      • Cómo programar alarmas repetitivas
  • Permisos
    • Descripción general
    • Cómo evaluar si tu app necesita permisos
    • Cómo declarar permisos de la app
    • Cómo solicitar permisos de la app
    • Prácticas recomendadas de permisos de la app
    • Permisos que solo se usan en controladores predeterminados
    • Restringe las interacciones con otras apps
    • Cómo definir permisos personalizados
  • Archivos y datos de la app
    • Descripción general
    • Descripción general del almacenamiento
    • Cómo guardar contenido en el almacenamiento específico de la app
    • Cómo guardar contenido en el almacenamiento compartido
      • Descripción general
      • Multimedia
      • Documentos y otros archivos
      • Conjuntos de datos
    • Cómo administrar todos los archivos de un dispositivo de almacenamiento
    • Cómo guardar datos de pares clave-valor
    • Cómo guardar contenido en una base de datos local
      • Descripción general
      • Cómo definir datos mediante entidades
      • Cómo acceder a datos mediante DAO
      • Cómo definir relaciones entre objetos
      • Escribe consultas DAO asíncronas
      • Cómo implementar vistas en una base de datos
      • Cómo autocompletar el contenido de tu base de datos
      • Cómo migrar tu base de datos
      • Cómo probar y depurar tu base de datos
      • Cómo hacer referencia a datos complejos
      • Cómo migrar de SQLite a Room
      • Cómo guardar datos con SQLite
    • Prácticas recomendadas y casos prácticos de almacenamiento
    • Cómo compartir datos simples
      • Descripción general
      • Cómo enviar datos simples a otras apps
      • Cómo recibir datos simples de otras apps
    • Cómo compartir archivos
      • Descripción general
      • Cómo configurar el uso compartido de archivos
      • Cómo compartir un archivo
      • Cómo solicitar un archivo compartido
      • Cómo recuperar información de archivos
    • Cómo compartir archivos con NFC
      • Descripción general
      • Cómo enviar archivos a otro dispositivo
      • Cómo recibir archivos de otro dispositivo
    • Cómo imprimir archivos
      • Descripción general
      • Cómo imprimir fotos
      • Cómo imprimir documentos HTML
      • Cómo imprimir documentos personalizados
    • Proveedores de contenido
      • Descripción general
      • Conceptos básicos sobre proveedores de contenido
      • Cómo crear un proveedor de contenido
      • Cómo abrir archivos con el marco de trabajo de acceso al almacenamiento
      • Cómo crear un proveedor de documentos personalizado
    • Ubicación de la instalación de la app
  • Identidad y datos del usuario
    • Descripción general
    • Cómo agregar un flujo de trabajo de acceso
    • Cómo mostrar un diálogo de autenticación biométrica
    • Autofill Framework
      • Descripción general
      • Cómo optimizar tu app para el autocompletado
      • Cómo crear servicios de autocompletado
      • Cómo integrar la opción de autocompletado con teclados
    • Cómo auditar el acceso a datos
    • Cómo obtener un ID de publicidad que el usuario puede restablecer
    • Descripción general del proveedor de calendario
    • Proveedor de contactos
      • Descripción general
      • Cómo recuperar una lista de contactos
      • Cómo recuperar los detalles de un contacto
      • Cómo modificar contactos con intents
      • Cómo mostrar la insignia de Contacto rápido
    • Transferencia de cuentas
    • Copia de seguridad de datos
      • Descripción general
      • Cómo crear una copia de seguridad de los datos del usuario
      • Cómo crear copias de seguridad de pares clave-valor
      • Cómo probar copias de seguridad y restablecimiento
    • Prácticas recomendadas para identificadores únicos
    • Cómo recordar y autenticar usuarios
      • Descripción general
      • Cómo recordar a tus usuarios
      • Autenticación en servicios OAuth2
      • Cómo crear un tipo de cuenta personalizado
  • Ubicación del usuario
    • Descripción general
    • Cómo solicitar permisos de ubicación
    • Cómo obtener la última ubicación conocida
    • Cómo cambiar la configuración de la ubicación
    • Cómo solicitar actualizaciones de ubicación
    • Cómo acceder a la ubicación en segundo plano
    • Cómo crear y supervisar el geovallado
    • Cómo detectar cuándo un usuario inicia una actividad
    • Cómo optimizar la ubicación para ahorrar batería
    • Cómo migrar a API de ubicación y contexto
    • Cómo agregar mapas
  • Modo táctil y método de entrada
    • Descripción general
    • Eventos de entrada
    • Uso de gestos táctiles
      • Descripción general
      • Detección de gestos comunes
      • Seguimiento de movimientos táctiles y punteros
      • Cómo animar el gesto para desplazar
      • Gestos de navegación de asistencia
      • Cómo controlar gestos multitáctiles
      • Arrastre y escala
      • Administración de eventos táctiles en ViewGroup
    • Cómo administrar la entrada del teclado
      • Descripción general
      • Cómo especificar el tipo de método de entrada
      • Cómo administrar la visibilidad del método de entrada
      • Cómo brindar compatibilidad con navegación de teclado
      • Cómo administrar las acciones del teclado
    • Cómo brindar compatibilidad con controladores para juegos
      • Descripción general
      • Cómo administrar acciones de los controladores
      • Cómo brindar compatibilidad con controladores en diferentes versiones de Android
      • Cómo brindar compatibilidad con varios controladores para juegos
    • Editores de método de entrada
      • Cómo crear un método de entrada
      • Teclado de imagen
    • Corrector ortográfico
  • CameraX
    • Descripción general
    • Arquitectura de CameraX
    • Configuración
    • Vista previa
    • Análisis de imágenes
    • Captura de imágenes
    • Extensiones de proveedores
    • Resultado de la transformación
    • Rotaciones de casos de uso
    • Dispositivos compatibles con CameraX
  • Camera2
    • Descripción general
    • Solicitudes y sesiones de capturas de la cámara
    • Enumeración de cámaras
    • Cómo usar varias transmisiones de cámara a la vez
    • API de varias cámaras
  • Cámara
    • Descripción general
    • Cómo tomar fotos
    • Cómo grabar videos
    • Cómo controlar la cámara
    • API de cámara
  • Sensores
    • Descripción general
    • Información general de sensores
    • Sensores de movimiento
    • Sensores de posición
    • Sensores de entorno
    • Dimensiones GNSS sin procesar
  • Conectividad
    • Descripción general
    • Cómo llevar a cabo operaciones de red
      • Descripción general
      • Cómo conectarse a la red
      • Cómo administrar el uso de la red
      • Cómo leer el estado de la red
      • Cómo optimizar el uso de datos de red
      • Cómo analizar datos XML
    • Cómo transmitir datos de red mediante Volley
      • Descripción general
      • Cómo enviar una solicitud simple
      • Cómo configurar RequestQueue
      • Cómo realizar una solicitud estándar
      • Cómo implementar una solicitud personalizada
    • Cómo realizar operaciones de red con Cronet
      • Descripción general
      • Cómo enviar una solicitud simple
      • Ciclo de vida de solicitud de Cronet
      • Referencia
        • org.chromium.net
          • Descripción general
          • CallbackException
          • CronetEngine
            • Descripción general
            • CronetEngine.Builder
              • Descripción general
              • LibraryLoader
          • CronetException
          • InlineExecutionProhibitedException
          • NetworkException
          • QuicException
          • UploadDataProvider
          • UploadDataProviders
          • UploadDataSink
          • URLRequest
            • Descripción general
            • Builder
            • Callback
            • Status
            • StatusListener
          • UrlResponseInfo
            • Descripción general
            • HeaderBlock
    • Mejora tus apps con 5G
    • Cómo crear aplicaciones cliente-servidor con gRPC
    • Cómo transferir datos sin consumir la batería
      • Descripción general
      • Cómo optimizar las descargas para lograr un acceso de red eficiente
      • Cómo minimizar el efecto de las actualizaciones regulares
      • Cómo evitar las descargas redundantes
      • Cómo modificar patrones en función del tipo de conectividad
    • Cómo reducir el consumo de batería de la red
      • Descripción general
      • Cómo recopilar datos del tráfico de red
      • Cómo analizar el tráfico de datos
      • Cómo optimizar el uso de redes iniciado por el usuario
      • Cómo optimizar el uso de redes iniciado por apps
      • Cómo optimizar el uso de redes iniciado por el servidor
      • Cómo optimizar el uso general de redes
    • Cómo transferir datos mediante adaptadores de sincronización
      • Descripción general
      • Cómo crear un autenticador auxiliar
      • Cómo crear un proveedor de contenido auxiliar
      • Cómo crear un adaptador de sincronización
      • Cómo ejecutar un adaptador de sincronización
    • Bluetooth
      • Descripción general
      • Descripción general del Bluetooth de bajo consumo
    • NFC
      • Descripción general
      • Conceptos básicos de NFC
      • NFC avanzadas
      • Descripción general de la emulación de tarjetas basadas en el host
    • Telecomunicaciones
      • Descripción general
      • Cómo crear una app de llamadas
      • Cómo evitar la falsificación de identidad del identificador de llamada
      • ID de telefonía
    • Wi-Fi
      • Descripción general
      • Descripción general de la búsqueda de Wi-Fi
      • Wi-Fi entre pares
      • Descripción general del reconocimiento de Wi-Fi
      • Ubicación de Wi-Fi con RTT
      • Hotspot solo local
      • Infraestructura de Wi-Fi
        • Descripción general de la infraestructura de Wi-Fi
        • API de sugerencia de Wi-Fi para la conexión a Internet
        • API de solicitud de red Wi-Fi para la conectividad entre pares
        • Passpoint
        • Cómo guardar redes y configuraciones de Passpoint
    • USB
      • Descripción general
      • Descripción general de los accesorios
      • Descripción general del host
    • VPN
    • Descripción general del protocolo de inicio de sesión
    • Detección y conexión
      • Descripción general
      • Cómo usar la detección del servicio de red
      • Cómo crear conexiones P2P con Wi-Fi
      • Cómo usar P2P Wi-Fi para detectar servicios
      • Easy Connect para Wi-Fi
    • Compatibilidad con el lector de la API de Open Mobile
  • RenderScript
    • Descripción general
    • RenderScript avanzado
    • Referencia de API en tiempo de ejecución
      • Descripción general
      • Tipos numéricos
      • Tipos de objetos
      • Funciones de conversión
      • Funciones y constantes matemáticas
      • Funciones matemáticas de vector
      • Funciones de matriz
      • Funciones de cuaternión
      • Funciones de actualizaciones atómicas
      • Tipos y funciones de tiempo
      • Funciones de acceso a datos de asignación
      • Funciones de características de objetos
      • Tipos y funciones de invocación de kernel
      • Funciones de entrada y salida
      • Funciones de depuración
      • Tipos y funciones de gráficos
      • Índice
  • Contenido basado en la Web
    • Descripción general
    • Creación de aplicaciones web en WebView
    • Cómo administrar objetos WebView
    • Oscurecer contenido web
    • Privacidad del usuario en Crash Reporting de WebView
    • Cómo migrar a WebView en Android 4.4
    • Compatibilidad con diferentes pantallas en aplicaciones web
    • Depuración de aplicaciones web
    • Prácticas recomendadas para aplicaciones web
  • Paquetes Android App Bundle
    • Descripción general
    • Play Feature Delivery
      • Descripción general
      • Cómo configurar el módulo base
      • Cómo configurar la entrega durante la instalación
      • Cómo configurar la entrega a pedido
      • Prácticas recomendadas de la entrega on demand
      • Cómo configurar la entrega instantánea
      • Cómo configurar la entrega condicional
    • Play Asset Delivery
      • Descripción general
      • Cómo compilar para Java o código nativo
      • Cómo compilar para Unity
      • Cómo orientar formatos de compresión de texturas
    • Cómo probar tu paquete de aplicación
      • Descripción general
      • Cómo realizar pruebas locales de instalaciones de módulos
  • Google Play
    • Facturación Google Play
    • Biblioteca de Google Play Core
      • Descripción general
      • Play Feature Delivery
      • Play Asset Delivery
        • Descripción general
        • Cómo integrar la entrega de recursos (Java)
        • Cómo integrar la entrega de recursos (nativo)
        • Cómo integrar la entrega de recursos (Unity)
        • Cómo probar la entrega de recursos
      • Opiniones integradas en la app
        • Descripción general
        • Cómo realizar la integración con Kotlin o Java
        • Cómo realizar la integración con código nativo
        • Cómo realizar la integración con Unity
        • Cómo realizar pruebas de opiniones integradas en la app
      • Compatibilidad con actualizaciones dentro de la app
      • Cómo realizar pruebas locales de instalaciones de módulos
      • Condiciones del Servicio
    • Google Play Instant
      • Descripción general de Google Play Instant
      • Cómo comenzar a usar las apps instantáneas
        • Cómo crear un paquete de aplicación instantánea
        • Recomendaciones de UX para apps
      • Cómo comenzar a crear juegos instantáneos
        • Descripción general
        • Complemento para Unity
        • Prácticas recomendadas de UX para juegos
        • Cómo migrar a paquetes Android App Bundle
        • Cómo implementar la entrega de recursos en la nube
        • Asistencia para los Servicios de juego de Google Play
        • Juegos instantáneos de Play
        • Lista de tareas de juegos instantáneos de Play
      • Cómo reducir el tamaño de tu app o juego instantáneo
      • Cómo agregar anuncios en tu app o juego instantáneo
      • Cómo brindar varios puntos de entrada
      • Cómo realizar la integración con Firebase
        • Cómo agregar Google Analytics para Firebase a tu app instantánea
        • Cómo usar Firebase Dynamic Links con apps instantáneas
      • Lista de verificación de requisitos técnicos
      • Política de Google Play Instant
      • Recursos
        • Referencia
        • Ejemplos de código
        • Notas de la versión del SDK
        • Intents de Apps instantáneas
      • Asistencia
        • Errores conocidos
        • StackOverflow
    • API de Google Play Developer
    • Archivos de expansión de APK
    • Servicio de licencias para aplicaciones
      • Descripción general
      • Descripción general sobre las licencias
      • Cómo realizar la configuración para licencias
      • Cómo agregar la verificación del servidor
      • Cómo agregar la verificación del cliente
      • Referencia sobre licencias
    • Referencia de instalación de Google Play
      • Descripción general
      • Biblioteca de referencia de instalación de Play
        • Descripción general
        • Referencia
        • Notas de la versión
      • API de referencia de instalación de Play
  • Acciones en apps
  • Secciones
    • Descripción general
    • Cómo comenzar
    • Plantillas de secciones
  • Juegos
  • Desarrolla
    • Vistas previas para desarrolladores
    • Cómo crear tu juego en Unity
    • Cómo crear tu juego en Unreal
    • Cómo crear una experiencia de acceso optimizada
    • Cómo determinar las necesidades de acceso a datos sensibles
    • Cómo proteger tu juego
    • Cómo desarrollar juegos para todas las pantallas
    • Más información sobre cómo renderizar durante bucles de juego
  • Optimización
    • Herramientas para optimizar tu juego
    • Compatibilidad con arquitecturas de 64 bits
    • Cómo mejorar el rendimiento de tu juego
    • Cómo administrar de manera eficaz la memoria en juegos
    • Cómo detectar y diagnosticar fallas
    • Cómo identificar los hotspots de la CPU
    • Cómo implementar el SDK de juegos de Android
      • Descripción general
      • Notas de la versión
      • Cómo lograr una alternación de fotogramas correcta
        • Descripción general
        • Procesadores de OpenGL
          • Cómo integrar
          • Cómo actualizar tu configuración de compilación
          • Cómo agregar funciones de ritmo de fotogramas
          • Cómo verificar la mejora del ritmo de fotogramas
        • Procesadores de Vulkan
          • Cómo integrar
          • Cómo actualizar tu configuración de compilación
          • Cómo agregar funciones de ritmo de fotogramas
          • Cómo verificar la mejora del ritmo de fotogramas
      • Cómo optimizar la velocidad de fotogramas
        • Descripción general
        • Integración con motores personalizados
          • Descripción general
          • Cómo ejecutar la app de demostración
          • Cómo habilitar la API
          • Cómo actualizar tu configuración de compilación
          • Cómo definir anotaciones, parámetros de fidelidad y opciones de configuración
          • Cómo agregar funciones de latencia de fotogramas
          • Cómo agregar funciones de grabación durante el tiempo de carga
          • Cómo validar, empaquetar y publicar el APK
          • Cómo solucionar los problemas comunes
          • Uso avanzado
        • Integración de Unity
          • Descripción general
          • Cómo habilitar la API
          • Cómo integrar el complemento
          • Cómo inicializar la biblioteca y verificar la operación
          • Cómo definir anotaciones, parámetros de fidelidad y niveles de calidad
          • Cómo agregar funciones de grabación durante el tiempo de carga
          • Cómo ejecutar la app de supervisión
          • Revisar y publicar
          • Cómo solucionar los problemas comunes
      • Referencia
        • Biblioteca de Frame Pacing
          • Descripción general
          • Módulos
          • Herramientas comunes de Swappy
          • Swappy para OpenGL
          • Swappy para extras de OpenGL
          • Swappy para Vulkan
          • Structs
          • SwappyStats
          • SwappyThreadFunctions
          • SwappyTracer
          • SwappyVkFunctionProvider
        • Biblioteca de Performance Tuner
          • Motor personalizado
            • Descripción general
            • Módulos
            • Utilidades de caché de Tuning Fork
            • Utilidades adicionales de Tuning Fork
            • Interfaz principal de Tuning Fork
            • Structs
            • TuningFork_CProtobufSerialization
            • TuningFork_Cache
            • TuningFork_LoadingTimeMetadata
            • TuningFork_MetricLimits
            • TuningFork_Settings
          • Unity
            • Descripción general
            • Clases
            • AndroidPerformanceTuner< TFidelity, TAnnotation >
            • LoadingTimeMetadata
            • Result< T >
            • Structs
            • MetricLimits
            • Espacios de nombres
            • Google
            • Google.Android
            • Google.Android.PerformanceTuner
    • Cómo reducir el tamaño de un juego
    • Gráficos de perfiles
    • Cómo depurar el uso de la memoria nativa
  • Cómo lanzar y, luego, iterar
    • Cómo lanzar tu juego en Google Play
    • Cómo crear un Android App Bundle en Unity
    • Cómo agregar compatibilidad con el acceso instantáneo
    • Cómo mantenerse conectado con la base de usuarios
  • Prácticas recomendadas
  • Inyección de dependencias
    • Descripción general
    • Inserción manual de dependencias
    • Inserción de dependencias con Hilt
    • Hilt en apps con varios módulos
    • Hilt y las integraciones de Jetpack
    • Guía de prueba de Hilt
    • Dagger
      • Conceptos básicos de Dagger
      • Cómo usar Dagger en apps para Android
      • Cómo usar Dagger en apps de varios módulos
  • Pruebas
    • Descripción general
    • Conceptos básicos de las pruebas
    • Cómo configurar un proyecto
    • Cómo crear pruebas de unidades efectivas
      • Descripción general
      • Cómo crear pruebas de unidades locales
      • Cómo crear pruebas de unidades instrumentadas
    • Cómo automatizar las pruebas de IU
      • Descripción general
      • Cómo probar la IU de una sola app
      • Cómo probar la IU en varias apps
    • Cómo probar las integraciones de los componentes de la app
      • Descripción general
      • Cómo probar tu servicio
      • Cómo realizar pruebas en tu proveedor de contenido
    • Cómo realizar pruebas de rendimiento de la IU
    • Espresso
      • Descripción general
      • Instrucciones de configuración
      • Conceptos básicos
      • Recetas
      • Multiproceso
      • Comprobación de accesibilidad
      • Listas
      • Intents
      • Web
      • Recurso inactivo
      • Hoja de referencia
      • Recursos adicionales
    • UI Automator
    • App Crawler
    • Reglas de JUnit4
    • AndroidJUnitRunner
    • Notas de la versión
    • Recursos adicionales
  • Rendimiento
    • Descripción general
    • Android vitals
      • Descripción general
      • Bloqueos de activación parciales sostenidos
      • Demasiadas activaciones
      • Búsqueda excesiva de redes Wi-Fi en segundo plano
      • Uso excesivo de redes en segundo plano
      • ANR
      • Fallas
      • Procesamiento lento
      • Marcos congelados
      • Denegaciones de permisos
      • Tiempo de inicio de la app
    • Intervalos de App Standby
    • Descripción general de procesos y subprocesos
    • Mejor rendimiento mediante subprocesos
    • Cómo optimizar la duración de batería
      • Descripción general
      • Cómo optimizar para Descanso y App Standby
      • Cómo supervisar el nivel de batería y el estado de carga
      • Cómo determinar y supervisar el tipo y el estado del conector
      • Restricciones para la administración de energía
      • Uso de batería de perfil
      • Cómo analizar el uso de la energía con Battery Historian
      • Problemas con las pruebas de energía
    • Cómo reducir el tamaño de las apps
    • Cómo administrar la memoria
      • Descripción general de la administración de memoria
      • Asignación de memoria entre procesos
      • Cómo administrar la memoria de tu app
    • Registro del sistema
      • Descripción general
      • Cómo capturar un registro de línea de comandos
      • Cómo capturar un registro en un dispositivo
      • Cómo navegar por un informe
      • Cómo definir eventos personalizados
    • Cómo inspeccionar el procesamiento de GPU
    • Diseño sin interrupciones
    • Cómo mantener la capacidad de respuesta de tu app
    • Sugerencias sobre rendimiento
    • Aspectos básicos de SMP para Android
    • Cómo verificar el comportamiento de la app en el tiempo de ejecución de Android (ART)
  • Accesibilidad
    • Descripción general
    • Cómo crear y probar apps para accesibilidad
      • Cómo mejorar la accesibilidad de las apps
      • Principios para mejorar la accesibilidad de la app
      • Prueba la accesibilidad de tu app
    • Temas avanzados
      • Mejora la accesibilidad de las vistas personalizadas
      • Cómo crear tu propio servicio de accesibilidad
    • Recursos adicionales
  • Privacidad
    • Prácticas recomendadas sobre privacidad
  • Seguridad
    • Recomendaciones sobre seguridad de apps
    • Sugerencias de seguridad
    • Seguridad con datos
    • Seguridad con datos en versiones adicionales de Android
    • Seguridad con HTTPS y SSL
    • Configuración de seguridad de la red
    • Cómo actualizar tu proveedor de seguridad para protegerte contra vulnerabilidades de SSL
    • Protección contra amenazas de seguridad con SafetyNet
      • Descripción general
      • API de certificación de SafetyNet
      • API de navegación segura de SafetyNet
      • API de reCAPTCHA de SafetyNet
      • API de Verificar aplicaciones de SafetyNet
    • Criptografía
    • Sistema Android Keystore
    • Verificación de la copia de seguridad en hardware de pares de claves con certificación de claves
    • Confirmación de protección de Android
    • Cómo brindar compatibilidad con inicio directo
    • Cómo ejecutar código DEX incorporado
    • Programa de mejora de la seguridad de las apps
  • Crea contenido para millones de usuarios
    • Descripción general
    • Conectividad
    • Capacidad del dispositivo
    • Costo de los datos
    • Consumo de la batería
    • IU y contenido
  • Cómo crear contenido para empresas
    • Descripción general
    • Guía para desarrolladores
    • Perfiles de trabajo
    • Cómo establecer configuraciones administradas
    • Comentarios sobre la app
      • Cómo enviar comentarios sobre la app a EMM
      • Cómo probar los comentarios sobre la app
    • Contactos laborales
    • Políticas de administración de dispositivos
    • Administración del dispositivo
      • Descripción general
      • Cómo compilar un controlador de política de dispositivo
      • Dispositivos exclusivos
        • Descripción general
        • Modo de tareas bloqueadas
        • Varios usuarios
        • Guía de soluciones
      • Control de dispositivos
      • Redes y telefonía
      • Seguridad
      • Actualizaciones del sistema
      • Registro de actividad de red
    • Versiones de Android
      • Descripción general
      • Android 11
      • Android 10
      • Android 9
      • Android 8.0
      • Android 7.0
    • Administración del dispositivo
  • Desarrollo de juegos para Android
  • Documentos
  • Guías

Google.Android

Resumen

Espacios de nombres

Google.Android.PerformanceTuner

Content and code samples on this page are subject to the licenses described in the Content License. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2020-10-26 UTC.

  • StackOverflow StackOverflow
    Haz una pregunta en Stack Overflow
  • Artículos sobre juegos en el blog para desarrolladores de Android Artículos sobre juegos en el blog para desarrolladores de Android
    Obtén información sobre desarrollo de juegos para Android
  • Boletín informativo trimestral de juegos para dispositivos móviles Boletín informativo trimestral de juegos para dispositivos móviles
    Obtén las noticias más recientes sobre desarrollo de juegos
  • Google Play Juegos en Medium Google Play Juegos en Medium
    Observa diferentes tecnologías de videojuegos en acción
  • Academia de apps Academia de apps
    Expande el negocio de tu juego
  • Herramienta de seguimiento de errores Herramienta de seguimiento de errores
    Informar un problema
  • Más Android

    • Android
    • Empresa
    • Seguridad
    • Fuente
  • Asistencia

    • Informar sobre un error en la plataforma
    • Informar sobre un error en la documentación
    • Foros de la comunidad
    • Equipo de asistencia de Google Play
    • Participa en estudios de usuarios
  • Documentación

    • Guías para desarrolladores
    • Guías de diseño
    • Referencia de la API
    • Ejemplos
    • Android Studio
Google Developers
  • Android
  • Chrome
  • Firebase
  • Google Cloud Platform
  • Todos los productos
  • Privacidad
  • Licencia
  • Lineamientos de marca
  • Recibe noticias y sugerencias por correo electrónico Suscribirse