Ir al contenido principal
Imprescindibles
Crea experiencias de IA
Crea apps para Android impulsadas por IA con APIs de Gemini y más.
Comenzar
Comenzar
Crea tu primera app. Usa Compose para el desarrollo de IU y apps adaptables para admitir varios factores de forma de dispositivos.
Hello, world!
Compatibilidad multidispositivo
Apps adaptativas
Compose para IU
IDE potenciado por IA
Capacitación
Monetización con Play ↗️
Extiéndete por dispositivo
Crea apps que brinden experiencias fluidas a los usuarios desde diferentes dispositivos, como teléfonos, tablets, relojes, visores y más.
Apps adaptativas
Android XR
Wear OS
Android para vehículos
Android TV
Googlebook
ChromeOS
Diseña por categoría
Sigue las instrucciones prescriptivas y bien definidas de Google para aprender a crear tu caso de uso.
Juegos
Cámara y contenido multimedia
Redes sociales y mensajería
Salud y bienestar
Productividad
Apps empresariales
Recibe las novedades
Entérate de nuevos lanzamientos de versiones a lo largo del año, únete a nuestros programas de versión preliminar y envíanos tus comentarios.
Últimas actualizaciones
Actualizaciones experimentales
Versión preliminar de Android Studio
Bibliotecas de Jetpack y Compose
Versiones de Wear OS
Privacy Sandbox ↗️
Diseño y planificación
Experiencias excelentes
Crea las mejores experiencias para tus mejores usuarios.
Más información
Diseño de IU
Diseña una interfaz de usuario atractiva con las prácticas recomendadas de Android.
Diseña para Android
Móvil
Experiencias en computadoras
Visores y lentes de RE
Lentes potenciados por IA
Widgets
Wear OS
Android TV
Android para vehículos
Arquitectura
Diseña servicios y lógicas de app sólidas, que puedan someterse a pruebas y admitan mantenimiento.
Introducción
Bibliotecas
Navegación
Modularización
Prueba
Kotlin multiplataforma
Calidad
Planifica la calidad de la app y sigue los lineamientos de Play Store.
Descripción general
Valor principal
Experiencia del usuario
Accesibilidad
Calidad técnica
Experiencias excelentes
Seguridad
Mantén a los usuarios a salvo contra amenazas y garantiza una experiencia segura en Android.
Descripción general
Privacidad
Permisos
Identidad
Prevención de fraudes
Desarrollo
Gemini en Android Studio
Tu ayudante durante el desarrollo de IA en Android.
Más información
Descarga Android Studio
Áreas principales
Obtén las muestras y la documentación de las funciones que necesitas.
Ejemplos
Interfaces de usuario
Ejecución en segundo plano
Datos y archivos
Conectividad
Todas las áreas principales ⤵️
Herramientas y flujo de trabajo
Usa el IDE para escribir y compilar tu app, o crea tu propia canalización.
Escribe y depura código
Compila proyectos
Prueba tu app
Rendimiento
Herramientas de línea de comandos
API del complemento de Gradle
Android Bench
Tecnología del dispositivo
Escribe código para factores de forma. Conecta dispositivos y comparte datos.
Teléfonos, tablets y dispositivos plegables
ChromeOS
Android para vehículos
Android TV
Android XR
Wear OS
Estado de Android
Mejor en compañía
Todos los dispositivos ⤵️
Bibliotecas
Explora la documentación de referencia de las APIs con todos los detalles.
Plataforma de Android
Bibliotecas de Jetpack
Bibliotecas de Compose
Servicios de Google Play ↗️
Índice SDK de Google Play ↗️
Google Play
Play Console
Publica tu app o juego, y haz crecer tu negocio en Google Play.
Ir a Play Console
Más información ↗️
Aspectos básicos
Aprende a fomentar la participación de los usuarios, monetizar tu app y protegerla.
Monetización en Play
Play Integrity
Políticas de Play
Programas de Play ↗️
Centro de desarrollo de juegos
Desarrolla y publica juegos. Obtén herramientas, descargas y muestras.
Descripción general
Play Asset Delivery
Servicios de Play Games
Play Games para PC
Todas las guías de Play ⤵️
Bibliotecas
Explora la documentación de referencia de las APIs con todos los detalles.
Play Feature Delivery
Actualizaciones integradas en la app de Play
Opiniones integradas en la app de Play
Referente de instalación de Play
Servicios de Google Play ↗️
Índice SDK de Google Play ↗️
Todas las bibliotecas de Play ⤵️
Herramientas y recursos
Herramientas para publicar, promocionar y administrar tu app
Android App Bundles
Marca y marketing
APIs de Play Console ↗️
Blog
El blog Android Developer
Leer las novedades
Explorar los autores →
Explorar categorías
Casos de éxito
Resultados reales de usuarios reales Explora cómo los diferentes equipos usan nuestras herramientas para alcanzar sus objetivos.
Eventos y programas
Obtén detalles sobre los próximos seminarios en línea, talleres, reuniones y otras iniciativas especiales diseñadas para ayudarte a crecer.
Novedades sobre productos
Mantente al tanto de las actualizaciones, los lanzamientos de funciones y los momentos tras bambalinas más recientes para ver cómo evolucionamos.
Comunidad
Descubre historias de nuestros usuarios, funciones destacadas y los proyectos colaborativos que nos unen a todos.
Instructivos
Desde sugerencias rápidas hasta instructivos detallados, estas guías paso a paso están diseñadas para ayudarte a trabajar de forma más inteligente y rápida.
/
English
Deutsch
Español – América Latina
Français
Indonesia
Italiano
Polski
Português – Brasil
Tiếng Việt
Türkçe
Русский
עברית
العربيّة
فارسی
हिंदी
বাংলা
ภาษาไทย
中文 – 简体
中文 – 繁體
日本語
한국어
Android Studio
Acceder
Develop
Core areas
UI
Views
Imprescindibles
Más
Diseño y planificación
Más
Desarrollo
Más
Google Play
Más
Blog
Más
Android Studio
Cómo desarrollar el diseño de tu app
Información acerca de los diseños
Crear un diseño responsivo o adaptable con vistas
Diseños canónicos
Usa clases de tamaño de ventana
Compatibilidad con el modo multiventana
Cómo compilar una IU receptiva con ConstraintLayout
Cómo compilar una navegación responsiva
Cómo crear listas dinámicas con RecyclerView
Cómo customizar una lista dinámica
Cómo crear un diseño basado en tarjetas
Cómo crear un diseño de doble panel
Cómo crear un diseño lineal
Cómo rellenar un diseño con datos
Cómo crear un diseño relativo
Incorporación de actividades
Cómo mejorar el rendimiento del diseño
Información acerca del rendimiento del diseño
Cómo optimizar jerarquías de diseño
Cómo reutilizar diseños con <include>
Cómo cargar vistas on demand
Cómo crear componentes de vistas personalizadas
Información acerca de los componentes de vistas personalizadas
Cómo dibuja vistas Android
Cómo crear una clase de vista personalizada
Cómo implementar un dibujo personalizado
Cómo hacer que una vista personalizada sea interactiva
Cómo optimizar una vista personalizada
Cómo trabajar con inserciones y cortes de ventanas
Cómo diseñar tu app en las inserciones de ventanas
Cómo mostrar el contenido de borde a borde
Cómo aplicar esquinas redondeadas
Cómo ocultar las barras del sistema para el modo envolvente
Cómo brindar compatibilidad con cortes de pantalla
Cómo controlar y animar el teclado en pantalla
Cómo agregar contenido basado en la Web a tu app
Cómo usar contenido web en tu app
Cómo incorporar contenido web en tu app
Navegación en la app con la Web incorporada
Cómo desarrollar apps web en WebView
Implementa WebView con Jetpack Webkit
Descripción general de las pestañas personalizadas de Android
Descripción general de Trusted Web Activities
Guía para actividades web de confianza
Cómo administrar objetos WebView
Cómo cargar contenido local
Cómo oscurecer contenido web
Cómo brindar compatibilidad con diferentes pantallas en apps web
Información sobre las inserciones de ventana
Accede a las APIs nativas con JSBridge
Cómo depurar aplicaciones web
Descripción general
Accede a un servidor de desarrollo local
Depura con registros de la consola de JavaScript
Depura con las Herramientas para desarrolladores de Chrome
Depura con la app de WebView DevTools
Cómo implementar las prácticas recomendadas
Privacidad del usuario en informes de fallas de WebView
Programa de versión beta
Cómo ejecutar JavaScript y WebAssembly
Cómo aplicar temas
Información acerca de los temas
Cómo usar los colores del dispositivo (color dinámico)
Cómo seleccionar colores con la biblioteca de paletas
Cómo usar Material Design como guía
Cómo implementar el tema oscuro
Cómo crear vistas de recorte y sombras
Cómo agregar componentes
Cómo agregar componentes principales
Botones de acción flotantes (BAF)
Botones
Casillas de verificación
Botones de selección
Botones de activación
Selectores
Cuadros de información
Diálogos
Menús
Cómo agregar el componente de la barra de la aplicación
Información acerca de las barras de la aplicación
Cómo configurar la barra de la aplicación
Cómo agregar y administrar acciones
Cómo agregar una acción hacia arriba
Cómo usar vistas y proveedores de acciones
Cómo agregar el componente de configuración
Información acerca de la configuración
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 tamaños de dispositivos
Cómo implementar las prácticas recomendadas de Preference
Cómo integrar el componente de búsqueda de Android
Opciones de búsqueda
Cómo crear una IU de búsqueda
Cómo agregar resultados de la búsqueda de consultas recientes
Cómo agregar resultados de búsqueda personalizados
Cómo proporcionar una configuración de búsqueda
Cómo usar AppSearch
Cómo agregar funcionalidad de búsqueda
Información acerca de la funcionalidad de búsqueda
Cómo configurar la IU de búsqueda
Cómo almacenar y buscar datos
Cómo mantener la retrocompatibilidad con la Búsqueda
Cómo trabajar con texto y emoji
Cómo ajustar automáticamente el tamaño de las vistas de texto
Cómo descargar fuentes sobre la marcha
Cómo agregar una fuente como recurso XML
Cómo agregar compatibilidad con emojis
Cómo agregar compatibilidad con emojis modernos
Cómo usar el Selector de emojis
Cómo ampliar texto
Cómo usar intervalos para darle estilo al texto
Cómo mostrar gráficos y videos
Imágenes estáticas
Información acerca de las imágenes estáticas
Imágenes vectoriales
Mapas de bits
Cómo reducir el tamaño de las imágenes
Cómo solucionar problemas de dibujo personalizado
Cómo agregar controles de reproducción multimedia
Cómo usar la función de pantalla en pantalla (PIP)
Cómo usar la biblioteca de PiP de Jetpack
Cómo trabajar con imágenes y gráficos avanzados
Cómo dibujar con sombreadores AGSL
Información acerca de los sombreadores AGSL
Información acerca de las diferencias entre AGSL y GLSL
Cómo usar AGSL en tu app
Referencia rápida de AGSL
Cómo usar OpenGL ES para gráficos
Cómo mostrar gráficos con OpenGL ES
Cómo aprender a usar OpenGL ES con gráficos
Información acerca de OpenGL
Cómo compilar un entorno de 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
Cómo crear APKs para diferentes texturas de GL
Usar WebGPU para gráficos
Acerca de WebGPU
Cómo empezar
RenderScript
Información acerca de Renderscript
RenderScript avanzado
Cómo migrar desde RenderScript
Descripción general
Cómo migrar secuencias de comandos a OpenGL ES 3.1
Cómo migrar secuencias de comandos a Vulkan
Referencia de la API en tiempo de ejecución
Información acerca de la API de Runtime
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
Cómo trabajar con animaciones y transiciones
Contenido de esta guía
Información acerca de las animaciones en Android
Información acerca de las animaciones de propiedades
Cómo animar gráficos con elementos de diseño
Cómo animar vistas
Cómo generar imágenes entre fotogramas clave en una animación
Cómo ocultar o mostrar una vista
Cómo mover una vista con una animación
Cómo mover una vista con una animación de deslizado
Cómo ampliar una vista con animación de 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
MotionLayout
Cómo administrar animaciones de movimiento y widgets
Cómo agregar un carrusel
Ejemplos de MotionLayout
Cómo deslizar entre fragmentos
Cómo usar ViewPager2 para deslizar entre fragmentos
Cómo usar ViewPager para deslizar entre fragmentos
Cómo migrar contenido de ViewPager a ViewPager2
Cómo optimizar la velocidad de fotogramas con la frecuencia de actualización adaptativa
Cómo usar recursos de animación adicionales
Cómo agregar compatibilidad con control táctil y entrada
Contenido de esta guía
Información acerca de los eventos de entrada
Cómo usar gestos táctiles
Información acerca de los gestos
Cómo detectar gestos comunes
Cómo seguir movimientos táctiles y de punteros
Cómo controlar los gestos de desplazamiento
Cómo agregar compatibilidad con los gestos de navegación
Cómo detectar gestos de varios toques
Cómo agregar compatibilidad con la función de arrastrar y escalar
Cómo administrar eventos táctiles en un ViewGroup
Cómo agregar compatibilidad con el gesto de deslizar para actualizar
Información acerca del gesto de deslizar para actualizar
Cómo agregar el gesto de deslizar para actualizar a tu app
Cómo responder a una solicitud de actualización
Cómo controlar las entradas del teclado
Información acerca del teclado
Cómo especificar el tipo de método de entrada
Cómo controlar la visibilidad del método de entrada
Cómo agregar compatibilidad con la navegación de teclado
Cómo controlar las acciones del teclado
Cómo controlar la entrada de la pluma stylus
Información acerca de la pluma stylus
Entrada de la pluma stylus en los campos de texto
Editores de texto personalizados
Funciones avanzadas de la pluma stylus
Apps para tomar notas
API de Ink
Información acerca de la API de Ink
Agrega dependencias
Elige tu módulo
Define tus pinceles
Cómo dibujar un trazo
Crea herramientas interactivas con las APIs de G