Android Dev Summit 2019 Livestream | Day 1

PONENTE: Bienvenidos a todos. Estamos
hoy para sesiones, demostraciones,
mucho más. Quisiéramos aprovechar
usted que estamos dedicados a
experiencia de evento inclusiva para
pautas comunitarias publicadas
sitio web del evento. Seamos
excelentes unos con otros. Gracias por asistir, y tener un tiempo maravilloso.
[Roca música].
especial sobre la comunidad
el mundo y conocer desarrolladores,
innovacióninnovación,
ayuda y cómo son todos trabajando juntos para construir un
PONENTE: Estoy muy emocionado de ir
desarrolladores, los he seguido en
PONENTE: La Android Dev Summit es
sobre bibliotecas y cosas que Google
PONENTE: Construimos los cimientos
y herramientas, y la forma en que esos
experiencias para crear nuevas aplicaciones además
imaginar es especial de ver.
para respaldarme, pero comencé
reuniones, con esta pequeña comunidad
Me sentí cada vez más seguro de mis
Pensé que, en 7 años, estarías dirigiendo
Encuentro de Android.

Habría dicho
PONENTE: La comunidad de Android tiene
una gran influencia en el lugar donde Soy hoy, tenemos una comunidad masiva
de personas a las que llegar. algo en lo que puede confiar para
su carrera. no es solo Se trata de recibir, pero de devolver.
PONENTE: Es inspirador escuchar historias sobre desarrolladores como Zara
para construir la comunidad y ayudar a otros
PONENTE: Estar lo más involucrado posible
a todo el ecosistema de AndroidAndroid.
PONENTE: Es una buena sensación estar
mismo idioma que tú. Somos
de diferentes países, pero Todos hablan Android. PONENTE:
Bienvenido al escenario ¡Dave Burke!
PONENTE: Muy bien, hola a
Cumbre de desarrolladores de Android 2019.
desarrolladores aquí para hablar sobre los
desarrollo. Además de los muchos ingenieros
hoy, tenemos 700 desarrolladores en persona
así como miles de ustedes uniéndose a la transmisión
en vivo. Así que bienvenido, ¡todos! Y ahora,
a través de una evolución bastante
sorprendente en mi vida. Puedo Recuerdo mi primera computadora, tenía
8 años, era un micro BBC de una empresa en el Reino Unido llamada Acorn,
posibilidad donde puedo soñar
Y recuerdo que mi objetivo
Sistema de defensa para proteger mi
fisgón.

Y entonces le puse una foto resistente
palo y pude detectar un intruso
relé para disparar una pistola de clavijas y disparar a los intrusos. Me llevo
días. Y el micro de la BBC hizo
Arquímedes y en los años 90, creó una start-up poco conocida en aquel
Miles de millones de teléfonos en todo
procesadores. Y lo que encontrarás,
por supuesto, en estos teléfonos es Android. Y aquí es donde menciono
dispositivos. Cuando el equipo de Android
los primeros años si hubiera
solo si el proyecto continuaría.
empresas que están pensando en trabajar
No estaba claro que Android fuera
a través de.

Pero 14 años después,
alimentando no sólo teléfonos y tabletas, sino también
televisión, etcétera.
Y parte de por qué sucedió esto es — ya sabes, uno era trabajar en
equipo muy, muy duro en esto plataforma. Y en gran medida también fue
convergencia de la capacidad
Necesitaba esta plataforma. Y una
ecosistema que se desarrolló alrededor de Android
para ustedes, los desarrolladores de aplicaciones.
algo realmente difícil de hacer, es
algo en lo que nos esforzamos mucho hacerlo bien y por qué nos entusiasman
pasar tiempo juntos e imaginar
Porque, por muchas razones, todos sois
una razón por la que Android tiene 1.(500) 000-0000 dispositivos,
Android, es una configuración de E/S,
y estoy hablando de 5 líneas
para Android durante los próximos 10
innovación. Cuando diseñamos características,
ideas para Android, queremos crear funciones
sentirse empoderado y productivo
que se entienden fácilmente. Y
La innovación es el servicio de localización
Hoy en día, el 80 por ciento de las llamadas de emergencia
y la ubicación que obtiene el
respondedor de una llamada Limitado a la celda es la identificación
con un radio de varias millas.

Si usted reducir el tiempo de respuesta de una
salvar miles de vidas al año. Así
Android, y está disponible en el 99 por
ciento de los teléfonos Android. Combinamos todas las tecnologías de localización
ID de celular, WiFi, GPS, etc., para
precisión de la ubicación. Y ahora, las
su emergencia llamó en su
radios de 50 metros para sus llamadas
se traduce en salvar vidas. Y hablando
semana lanzamos una nueva función en
estás en un accidente automovilístico
La función utiliza acelerómetros
de alta G y máquina de audio. aprendizaje, y nos motiva el hecho de que
los accidentes automovilísticos son una de las 10 principales causas de muerte en
grupos. Y si se pregunta
aspectos positivos del grupo para
El coche está armado con 20 píxeles. teléfonos.
[ Risa ]. Y antes de que piense que estamos desperdiciando,
mismo auto para múltiples choques
el teléfono sigue fallando.

Estaré aquí
toda la semana. Por eso estamos explorando formas
en general. Otra área en torno
a la innovación útil es la hardware en sí. Hay una tendencia
zona, y se han tomado dos caminos.
Los creadores se esfuerzan por alcanzar
vidrio, es un problema, hay que encontrar
cámaras frontales, sensores,
El camino da un paso atrás y utiliza tecnologías
bisagras y cristal abatible.

Y ejemplos
Fold y el dúo Microsoft Surface,
equipos de Microsoft y Samsung para
Android 10 aprovecha estas pantallas
actividades redimensionables y múltiples
actividades, y esto está en la experiencia
La idea es que estás usando la aplicación
y puedes desplegar, abrir el dispositivo y la aplicación se estira para adaptarse
a la pantalla más grande. Y todo de estas funciones ayudan a que sus aplicaciones
como las tabletas y los Chromebooks.
La corriente es algo que nosotros capacidad de actualización de llamadas. Android
es un proyecto único, de código abierto. plataforma que se ejecuta en dispositivos de
diferentes fabricantes a
Y Android no tiene el desafío
Las versiones iniciales de hardware se ejecutan
Androide. Pero queremos asegurarnos de
que todos los dispositivos en manos de los clientes reciben actualizaciones oportunas,
que se resumen A la economía. Usando
el momento de las actualizaciones. Android Pi
Oreo y Android 10 están creciendo
y también puedes ver el efecto de
En el programa participan 13 dispositivos
Los parches también mejoraron, las actualizaciones
de los dispositivos lanzados desde 2019
y estamos trabajando para seguir mejorando.
En Android 10, línea principal del proyecto, actualizaciones
estandariza módulos entre fabricantes
canal para que ese código se actualice
a través de Play Store.

Y Android 10 tiene módulos desde criptografía
marco mediático. Esta fue una gran
tarea para nosotros, teníamos para crear un nuevo formato de
Android Pony Express, lo mejor que se
APK, y luego creamos una instantánea del sistema
empujar el módulo y provocar una regresión
el módulo y también revertir el
estado original. Y tercero, creamos
nueva maquinaria de lanzamiento para implementaciones, actualizaciones AB,
Este enfoque de implementación
será un gran beneficio para Android a
número de módulos actualizables aumenta,
La fragmentación se reduce a medida que los dispositivos
El esfuerzo de varios años para nosotros está
defensas para mantener seguros a los usuarios.
protecciones de la caja del soporte, agregamos Linux
control para separar aplicaciones del
otros, y ASLR tiene aleatorización
Arranque verificado aplicado por hardware
capa de protección antimalware en la parte
superior. Pero probablemente uno de los Los aspectos más fuertes de la historia de seguridad
fuente y multiplataforma.

Y eso significa
escrutinio por parte de las personas
hace que mucha más gente lo mire que un
sistema operativo propietario. Código en hardware heterogéneo es más
robusto. Entonces el Las recompensas por errores para la cadena completa
Si puedes encontrar un exploit de este tipo
millones para ti hoy. Y en el informe
de seguridad de Gardener de 2019, Android PI obtuvo la calificación
categorías.

Entonces, la seguridad
consiste en proteger sus datos. El La otra cara de la moneda es la privacidad,
por lo que dar control a los usuarios de sus datos. Y cuando
En 2008, diseñamos deliberadamente
abierto y personalizable. Y
esto es… esto llevó a una tonelada de innovación, lo cual ha sido fantástico.
Pero, a lo largo del camino, también
nos enteramos de Consecuencias de las API. Mientras confiamos en los
vidas y las aplicaciones son más
de la privacidad están cambiando. En
Android 10, agregamos 50 funciones y cambios relacionados con la privacidad.
comienza la actividad en segundo plano.
Hay muchas razones legítimas comenzaría la actividad en
se recibe la llamada telefónica entrante.
y nosotros también Descubrí que la capacidad está abierta
Así que aquí está el problema: estás
Aparece una ventana emergente que obliga al
Imagen en imagen. Si
escenario teórico, aquí está la retroalimentación
de alguien que vio esto suceder
– mejor dicho, el teléfono de su conductor.
Da bastante miedo. Y este es un paso increíble, pero estimamos
Ejecutar Android 10 bloqueado sobre
ventanas emergentes solo en la última semana.
pero también muy difícil, ¿verdad? Y
hacer cambios de forma reflexiva sin
ecosistema.

Y
que estos cambios pueden ser dolorosos,
como el almacenamiento del alcance. Y tomamos sus comentarios allí e
También planeamos solicitar sus comentarios
para el próximo año que viene. La
quinta línea de trabajo es realmente la Tema de toda esta cumbre: Grandes experiencias
para desarrolladores. Y los accesorios tal vez como
A menudo se pregunta qué recomienda
¿Crear aplicaciones? Llamamos a nuestra
desarrollo. Y
obstinado y poderoso con una plataforma
más completa y es sobre ayudarte a concentrarte en lo que
experiencias. Puedes verlo en las inversiones
Android Studio, Jetpack, Kotlin es
algo que pediste y el idioma
recomendado de Android, y Compose es un conjunto de herramientas de interfaz de
y diseñamos estas herramientas para que
importante, también.

Kotlin y Compose están diseñados
aplicaciones existentes, puedes incorporarlas
Puede incorporar código y vistas cuando
Llegamos al 60 por ciento de las 1000 aplicaciones
Este es un vistazo interno a lo
Es hora de empezar y profundizar un
invitar a Steph al escenario para tomar las
riendas desde aquí. [Música].
[Aplausos]. PONENTE: STEPH CUTHBERTSON: Hola,
ventana en términos de pensamiento a
Androide. Quiero cambiar de tema ahora
lo que viene para ti hoy. Hoy en día,
increíble, con más de 2,5 millones de
Otro nuevo hito: hay más de 116 mil
Juega en el último año.

Es
Tantos desarrolladores tuvieron éxito.
papel de pastores de la plataforma.
En el Al principio, se trataba de proteger
Sistema operativo potente y flexible.
Los desarrolladores han comenzado a preguntarse,
¿Recomiendas cuando se trata de crear
mantén la apertura y quieres que
la forma correcta de hacer las cosas.
manera más rápida.
Y así lo somos. El equipo lo llama
que te ayuda a hacer lo que mejor
potente, para un desarrollo rápido
todo lo que te frena para que puedas
experiencias increíbles.

También significa
que puede hacer que Android sea mejor para
ti. Cada uno, queremos considerarlo cuidadosamente
la comunidad porque tenemos que hacer
millones de desarrolladores que tienen miles de millones de líneas de
código. Puedes verlo en funcionamiento en Jetpack, Kotlin y Compose. Kotlin
algo que usted pidió, lo adoptamos
Primer diseño de Kotlin en nuestras API. Compose
es un conjunto de herramientas moderno que se apoya en los modismos de Kotlin, brindándole una
experiencia, juntos, con acceso
compatibilidad con versiones anteriores y
Estas discusiones se originaron en
Y me dijiste que es obvio
cuánto escucha Android.

Tú, me alegro porque lo somos. El Android
juntos desde ideas como esta hasta trabajar
abiertamente, completamente, como composeCompose, a los más de 50.000
presentado este año por usted en todas
las áreas de Android. De hecho, Hoy trajimos aquí a los mejores reporteros de
¿Por favor te pones de pie?
Dale un aplauso. En la conferencia magistral de hoy, verá cómo
este pensamiento está dando forma a todos pilares. Hablaremos de desarrollo,
el sistema operativo.

Primero, herramientas modernas
y Karen sobre IDE, Jetpack y Compose, el nuevo conjunto
Para una distribución moderna, tendrá
presidente de Play y su trabajo para ayudar a que
más rápido y seguro. Volveré para
Sistema operativo Android. Dicho esto,
contarte más sobre nuestro experiencia del desarrollador.
[Aplausos]. PONENTE: Gracias, soy Karen y dirijo
el equipo de Kotlin. Moderno El desarrollo comienza con el
porque es la elección correcta, estamos
adopción en todo el mundo. El 60 por ciento
de las 1.000 aplicaciones principales en play están utilizando Kotlin en
Los desarrolladores pro-Android utilizan
ver a los desarrolladores asistir
Kotlin ganó el premio al proyecto destacado
del año. Si no lo has probado todavía, es un muy buen momento.
La programación Java para probar el lenguaje,
en Kotlin con menos código. Tienes
seguridad nula incorporada, no más
excepciones, clases de datos idiomáticos,
códigos asincrónicos, y todos los puntos de
escrito en Kotlin es tan rápido como
lenguaje de programación.

Debido a
que Kotlin es interoperable con el Lenguaje de programación Java, puedes
Puede usar Kotlin en una clase o en una parte
nueva de la aplicación. Eso es también lo que hicimos en
Google. Hay varias aplicaciones importantes
Drive, noticias, Nest, playbooks,
próximo.
Estamos comprometidos a hacer Kotlin mejor a largo plazo y asociarnos
eso, velocidades de compilación de Kotlin
más rápidas, incrementales incrementales procesamiento, mejor latencia, comprobaciones
patrones de código de bytes para hacer que sus aplicaciones
construir guiones.

Somos una comunidad
desarrolladores, si están comenzando
genial si puedes aprender Kotlin
¿herramientas? Puedes hacerlo con un área
de juegos de Kotlin o con las nuevas manos. Si está buscando desarrollar sus habilidades,
cursos en Ugacity y lanzamos
curso. Si quieres poner a prueba
Certificación de desarrollador de Android
$149 y si estás viendo la transmisión
el código para conseguirlo por $99. Si
te lo estoy dando por gratis.
Y una cosa más: si crees que
Experto en Kotlin y desea unirse a
nuestro equipo ampliado, estamos ampliando el programa experto Kotlin,
Google Cloud y JetBrains, lo que
significa que tendrás más cerca interacción con los equipos de ingeniería
Nos estamos divirtiendo mucho con
Quiero invitar a Raman a contar nosotros más.
PONENTE: La introducción de Jetpack
capa API única que el equipo le
aplicaciones de calidad fácilmente.

Jetpack
de las 10.000 aplicaciones principales y el 70 por
lo están usando. Está diseñado para resolver
problemas del mundo real que usted enfrentamos todos los días y lo hemos
con más de 70 bibliotecas de componentes
extensiones, cámara y más. Te mostraré
nuestro progreso. con evaluación comparativa, publicado
las mejoras de rendimiento de varias
La nueva encuadernación es una solución
Comience a usarlo hoy si descarga
Android 3.6. CameraX estará disponible en versión
Las diferencias entre los muchos dispositivos
ecosistema, te ayuda a concentrarte en
solicitud. Usamos la cámara X en dos
reducción porcentual de los accidentes.
como el modo nocturno, y muchos
estamos comprometidos a apoyarlos.
Pero la clave del éxito
de Jetpack es escucharte y Te escuchamos alto y claro.

Amamos
API, API declarativas y herramientas
por eso hace unos meses presentamos
proyecto hasta la fecha, Jetpack
construir hermosa nativa apps, una forma declarativa de crear interfaces
de usuario para hacerlo más simple. Puede Adopte Kotlin a su propio ritmo, pero
veremos una demostración. Aquí tenemos una aplicación sencilla
Es una galería de fotografías y todavía
Así que escribámoslo.
actividad, escribí una función componible
componente: es un componente
mira esto todavía. Y antes de escribir la interfaz
Quiero asegurarme de que la tarjeta fotográfica
La mejor manera de hacerlo, en Android
Función componible. Esta es una vista previa,
datos que ya están allí. Voy a
para asegurarnos de que tenemos los colores
componentes para darle los datos de prueba.
anotación, darle un nombre, puedo
en unos segundos verás una vista previa
aquí en el DNI.
Dije un par de segundos-. [ Risa ]. Muy
bien, aquí es. [Aplausos].
Lo que lo hace poderoso es que puedes crear
quieres, puedo crear una segunda, cambiarla
a la escena del documento, presione actualizar, dos vistas previas
con los dos temas, aquí mismo inmediatamente.
[Aplausos].

Y, por supuesto, puedo cambiar los datos de la
y puedes ver la actualización de la tarjeta
inferior a una foto diferente. Entonces construyamos el resto de la aplicación. Entonces
utilizará un desplazamiento vertical
Como diseño lineal vertical, haremos
espacios a su alrededor y la belleza del modelo declarativo,
componible y simplemente iteras como
código. Para cada foto, agregaré una
tarjeta fotográfica y un espacio extra. — espacio adicional en la parte inferior y listo
Cambiar de un lado a otro del lineal
puede resultar molesto, por lo que en el futuro está el emulador integrado.
[ Risa ]. Y,
por supuesto, [risas]. Funcionó ayer. Está
bien. Así que arreglémoslo en tiempo real…

No,
pestaña incorrecta.
[ Risa ]. Esta pestaña, esta pestaña, no. Está bien. Lo
versión incorrecta del emulador.
tiempo, nueva herramienta, emulador, no.
Entonces, por supuesto, funcionó en todos ensayo. [
Risa ]. Verás el emulador ejecutándose uno
al lado del otro, así que esto es Realmente poderoso, es interactivo,
aplicación ejecutándose en vista previa junto
a su código. Está bien. Por lo tanto, es divertido trabajar con Compose;
tú mismo, que es a lo que no estás acostumbrado.
son conscientes.

Por eso, hoy
para desarrollador. Descargue la
última versión de Canary y podrá tenerlo. Disponemos de un tutorial y
se construirá con Compose para darle
una idea del alcance. Y Compose se escribe abiertamente
discusiones diarias, estamos
y tenemos actualizaciones mensuales. Y
gracias a las actualizaciones estamos Consiguiendo continuamente, hemos realizado
para agradecer a todos los que nos están
apoyando. Y debido a esa retroalimentación, el
plan actual es enviar el próximo año. Y
viste en la demostración, cuando funciona con Android y dejaré que
el IDE.

PONENTE: Gracias.
[Aplausos]. Estoy muy emocionado por componer,
Lo que pasa es que hay soporte completo
IDE oficial para Android, y hemos llegado
lanzamiento, soporte completo
El equipo está trabajando en mucho más
mostrarte eso. Queremos hacer iterar
como la vista previa, metaemulador, aplicar
velocidades de implementación, o incluso
mostrar una vista previa de Chromebooks donde puedes implementar tu aplicación
pruebas y desarrollas en la misma máquina.
También estamos mirando puntos débiles existentes, y la
recursos es difícil. Así que lo
devolveré para mostrarles más. PONENTE: Antes de pasar a las partes divertidas,
escrito en Kotlin, tienes
IDE, para que puedas ver la finalización.
él. Tenemos soluciones rápidas.
usando el diseño de restricciones, en
Con la ventaja del contrato, esto es lo
que usted es: qué esperar. Y tenemos este panel que queremos
abrir desde abajo y Queremos emular eso, y todos ustedes saben
es un desafío, tienes que decidir
usar.

Entonces decidimos hacerlo más fácil
en las herramientas. entonces puedes encuentre la restricción, haga clic derecho,
convierta a diseño de movimiento, acepte, y ahora podrá ver que tenemos
Y para mí lo que haces es cambiar
widget en los diferentes estados, puedes
luego crea una transición. Entonces haré
Hicimos la mayor parte del trabajo, puedes
Está colapsado, final, todo está
más que limitaciones, si puedes
bar, cambió entre los dos estados.
La flecha de transición, yo Puede reproducirse aquí mismo en el IDE. [Aplausos]. Y puedo
desplazarme hacia adelante y hacia atrás. Y otra cosa que te mostraré aquí,
contrata aquí, correré la aplicación en sí. No es interesante,
lo que es interesante. es el inspector de diseño en la parte
aplicación, cuando cambio la pantalla,
tiempo.

Puedo seleccionar cualquiera
ellos en la jerarquía de la izquierda,
todos los atributos. Si Selecciono este botón y hace algo
Mire el tamaño del texto, 50. Y las instalaciones
A veces es difícil saber de
Lo amplié, es de esto. fragmento.
[Aplausos]. Y puedes, desde ese valor de dimensión,
sobrescribiendo el valor original de
18, defina el estilo. entonces tu No tienes que pasar horas depurando
estilos. Y antes de nosotros Regrese, ¿puedo mostrarle? Arreglé
la demostración. [ Risa ]. [Aplausos].
PONENTE: ¡Eso fue genial!
compatibilidad perfecta con compose
el mismo equipo de herramientas está trabajando
Lo que vi aquí también funcionará
dónde pasas tu tiempo, si está colgado
demasiado tiempo, no importa lo interesante
usted, haga que el IDE sea sólido como una roca.
mármol. Vimos mejoras
por ciento en cuelgues, 42 por
Velocidad de implementación un 57 por ciento más
características que no acertamos la primera
reconstruido, lanzado como aplicó cambios y eliminó 50 millones
comprometidos con la calidad y construyeron
paneles de control que necesitamos para
sobre la velocidad de construcción, ha sido la
5 años.

Seguimos trabajando a mayores
los tiempos de construcción no fueron más rápidos,
Los procesadores de anotaciones estaban
construcción incremental. Así
abordó los principales procesadores de
anotaciones. Planeo, enlace de datos, daga,
El procesamiento de recursos y la generación
de una única clase R son más rápidos. Y los tiempos promedio de construcción, estamos
Están mejorando cada lanzamiento.
ayudándole a detectar problemas en sus propias
visualizar lo que es el tiempo dedicado al complemento creado,
y puedes hacerlo para tus propias compilaciones.
Y hace apenas unos momentos,
lanzamos el primer Cayary de Android Studio 4.0. Contiene
componer las herramientas que vio, para que
finalización, una muestra completa y tiene
Es muy fácil probar a componer.

Tiene
editor y plantillas en vivo
de Kotlin. A continuación hablaremos de distribución moderna. Gracias.
[Aplausos]. [Música]. PONENTE:
Producto en UX para Google Play y seguridad
Es mi segundo aniversario en Google
desarrolladores talentosos y creativos
inspirador para mí cuando visito mercados
desarrolladores que son capaces de crear audiencias
problemas locales. La privacidad del usuario
los usuarios no confían en Android
cualquiera pueda descargar sus aplicaciones. La
confianza y la seguridad son siempre lo mejor prioridad en Play, revisores
humanos, estafa mejoras constantes y actualizaciones de políticas.
Como resultado, las aplicaciones que se descargan de Play es un orden
cualquier otra fuente. Estamos aumentando
capacidades para imitadores, reenvasado,
otras formas de abuso. Y sabemos
podría estar haciendo.

Hemos visto SDK
que parecen comportarse bien, pero luego intente hacer cosas desagradables, como
registrar un teléfono de usuario u obtener información personal. Estamos en contra
la forma en que hemos actuado. Hemos
datos confidenciales e hizo que Play fuera
permisos para aplicaciones que los necesitan
funcionalidad. Como resultado, un 98 por ciento
datos, gracias a su arduo trabajo. Los usuarios
saben que están más seguros cuando descargan
aplicaciones que solicitan menos permisos. Ahora,
y para dar a los padres más confianza
actualizamos la política familiar,
anuncios, PII y preguntar para quién es la aplicación
para brindar el contenido correcto a los grupos de edad adecuados, no nos
trabajar con profesores para identificar mejor
niños, estamos trabajando en reglas
comprender sus suscripciones, estamos
los desarrolladores acceden a los datos de ubicación
en segundo plano de forma adecuada, y Estamos trabajando para proteger
propiedad.

Nosotros
con proveedores de SDK para ayudarlos
Los desarrolladores de aplicaciones saben qué SDK
son seguros. Sólo para darle una idea de la escala
operar, recientemente tomamos medidas
afectando a 2.000 aplicaciones. Es un poco difícil
comunicarse de manera confiable con 200.000 desarrolladores. Y
es mucho cambio. Y cambios
Realmente difícil de hacer con gracia
en un ecosistema tan grande. Entendemos la carga que supone
adaptarse constantemente a nuevas
La gran mayoría de ustedes no ha hecho
nada malo. Nos ha dicho que nuestro proceso de cambio
que nuestras comunicaciones son demasiado
Puede que haya necesitado más tiempo.
Depende absolutamente de nosotros arreglarlo, y prometo que mejoraremos
área.

Y recibo muchas preguntas
bandas de desarrolladores, y quiero
darles un adelanto detrás de las cortina. Cada día, tenemos humanos
Envíos de aplicaciones actualizados.
hasta 7 días, la mayoría de las aplicaciones
Las apelaciones son revisadas por humanos. Aquellos que infrinjan repetidamente la
Intentan conseguir nuevas cuentas para probar.
nuevamente, nuestros sistemas los identifican correctamente
El actor puede publicar.
Esos casos raros son súper dolorosos. Cualquier
ser apelado por el equipo global,
reinstalado. Seguiremos mejorando
aquí. Y también estamos trabajando para
la consola Play, con información
sobre el estado de la aplicación revisiones, cambios de políticas que podrían
otra información crítica. Así que
el año que viene. Tenemos
Es de nuestro interés compartido. Es
para que esta plataforma siga creciendo
trabajando con nosotros, por favor continúe
durante este período de cambio.
las formas en que le ayudamos a llegar a
negocios. Han
presentamos el Android App Bundle
de la distribución de la aplicación. Un
producción, cubriendo el 25 por ciento de las
en Switch vemos una disminución sustancial
Aumento del 11 por ciento en instalaciones.
haciendo que las aplicaciones en grupo y la entrega
Compartir compilaciones te permite probar
paquetes y SDK, puedes permitirlo otros para probar sin dar acceso a
haciendo enlaces de descarga para todas las
eran paquetes o SDK.

Y muchos de
esto, estamos lanzando pruebas fuera
hoy con el administrador de instalación
ayudamos a los desarrolladores es ayudándoles
pruebas beta, pruebas de calidad
lanzamientos. Tenemos
llevas tu idea al mercado. Estamos
demanda. Pre-rej es la mejor
entusiasmo en torno a su aplicación.
alrededor de GDC y muchos desarrolladores lo
están utilizando con éxito. Residencia en sus comentarios, estamos agregando
funciones al programa. Nexon utilizó recompensas para ofrecer a
preinscripción, los jugadores que se
preinscribieron tuvieron un 60 por ciento mejor retención. Un desarrollador brasileño
recompensas, y aquellos que se preinscribieron
jugaron el 300 por ciento Más minutos diarios. Lanzamos otro
llamado móvil de servicio. Eso vio casi
los primeros 10 días. Con las nuevas
puede generar entusiasmo en todo el
registros y trabajar con grupos beta
El programa es algo que esperamos ampliar
Otra apuesta para nosotros es jugar pase, $4.99 al mes, los usuarios tienen acceso a aplicaciones
compras, estoy muy entusiasmado
industria del juego durante 20 años.

La
Modelos que funcionan para todo tipo de aplicaciones
y juegos. Android tiene más alcance que cualquier
otra plataforma y quiero que así sea ser un lugar donde se produzcan escapadas independientes
Los juegos basados ​​en historias
monstruos gratuitos o aplicaciones innovadoras. El pase de juego
tiene éxito, compensaremos a los desarrolladores
de manera justa, ya sea una aplicación de diario o un juego corto
horas, o un juego para jugar durante
semanas. Estamos usando muchos señales para recompensar a los desarrolladores
ajuste ese modelo y seleccione el mejor
catálogo posible para los usuarios.

Estamos trabajando en Play Pass desde
hace algunos años, quiero agradecer los cientos de desarrolladores que se unieron
ofrenda. Ahora, me gustaría invitar
sobre la plataforma.
[Aplausos]. [Música]. PONENTE:
Muy bien, entonces hablamos sobre herramientas y API y Play, ¿qué
en sí y lo que viene? En I/O, esta
la conferencia magistral, pero es la cumbre
de desarrollo y es para desarrolladores. Quiero mostrarles cómo estamos evolucionando las
Lente de desarrollador para ayudarle a aprovechar
le mostraremos en qué estamos trabajando
sistema y recomendaciones para los involucrados y hacia dónde se dirige
Quiero hablar sobre calendarios de lanzamiento,
hitos del desarrollador y cómo podemos
pensar en cada uno, para que usted puede planificar con anticipación. Entonces
en. Has oído que la seguridad y la privacidad
compromiso en Android y Play. ¿Y
qué está pasando aquí? Es realmente importante para nosotros como desarrolladores.
Y ahora, Android es líder, y todo,
informes, como Gartner, están
para Android que cualquier otro sistema operativo,
momento, es una inversión
deberías esperar ver más
decidimos hacer una vista previa aquí en la cumbre
sesiones dedicadas para que pueda obtener una vista
permisos, protecciones de almacenamiento,
y una cosa más.

Para los
Transparencia y control, para los
para implementar. El almacenamiento
fantástico, y quiero compartir
alguna vez. Quiero explicar nuestro razonamiento,
y brinde tantos detalles como sea posible
En segundo lugar, hablaré sobre una nueva
habló sobre la innovación como una línea
de Android. El aprendizaje automático
impulsando avances increíbles,
Para las personas sordas y con problemas de
contenido a la vida. Estas son las innovaciones
y queríamos hacer esto junto
comunidad. Hace
anunció el primer desafío para desarrolladores
El Android moderno está dando forma a una plataforma
de próxima generación. Y por eso me pareció apropiado anunciar
El desafío es atrás.
[Aplausos]. Y el primer desafío para desarrolladores
sobre innovación y aprendizaje
10 ideas, trae esos equipos a Google,
conocerás a expertos en aprendizaje automático de todo el
11, y compartiremos las aplicaciones
para que los usuarios lo vean y, sí, obtendrá
Google I/O porque traeremos
muestra tu trabajo.

Estamos muy emocionados
y espero que te unas al desarrollador
de Android. desafío. [Aplausos].
Finalmente, quiero hablar sobre
Sistema operativo. Para hacerlo
repensarlo. Lo que escucho de los desarrolladores
son cambios en el sistema operativo. tener un gran impacto en los
La plataforma está evolucionando, pero
impacto y obtener información sobre los cronogramas.
Así que aquí hay un vistazo a El nuevo calendario de lanzamientos de Android. Para la
Las vistas previas para desarrolladores es
con los desarrolladores, es la mejor manera
la antelación y el tiempo que
Hace unos años, es genial. Es aquí
donde ajustamos las API y vistas previas, y deberías estar
comentarios, daremos un lanzamiento público
actualice las herramientas de desarrollo y
cuando el uso crece dramáticamente y los usuarios
Todo esto significa muchos usuarios.
debes probar y convertir tu aplicación.
hacer para ayudar, estamos comprometidos a
Stone, un SDK casi final y herramientas
más. Estamos cerca de las API finales
eficientemente en una plataforma
congelación y SDK final después de la versión
beta.

Hay excepciones, pero lo haré. compartir lo más rápido que podamos. Agregamos
una nueva aplicación compacta. función a la consola de juego para
Después de la versión beta, pasamos a RC y al
SDK de destino, el requisito
significa Android 11, apuntarás
diseñado para avisarle con un año de antelación,
colocar los cambios que impactan al desarrollador
Haz avanzar Android juntos mientras
tiempo que podamos para adoptar.
ha sido un recorrido rápido por el Android
en nuestras experiencias
plataforma. Espero que descargues y
sobre hoy desde Android Studio 4.0 hasta
Estamos muy emocionados de tenerte
Compartiremos todo lo que podamos
saber sobre Android.

Son 60 sesiones,
cubrirá el desarrollo moderno, la distribución
cambios de plataforma y cosas sobre las
como la privacidad. En la zona de pruebas,
encontrarás 250 miembros del Equipo Android. Están aquí para conocerte,
tu equipo favorito estará aquí
Aplicación de la cumbre. La transmisión
escenario principal, entrevistas
y más. quisiera agradecerte por tu tiempo hoy, y te pido que disfrutes
Cumbre de desarrolladores de Android.
[Aplausos]. No lo dirías. De hecho lo intenté.
Entonces, si tiene alguna pregunta sobre la
Esas personas, no lo dirías.
el #PreguntaAndroid. Tenemos a alguien
preguntas. Con eso, primera pregunta.
>>¿Cuál es tu anuncio favorito
de su discurso de apertura? Android Studio 4, creo. Hay
Este es el primero tiempo que hemos venido componer fácilmente componer fácilmente
inspector. Lo llamo algo equivocado
donde puedes descubrir por qué. diferentes estilos son el motivo. Construir perfilador,
¿qué soy? ¿Yo por conseguir? Editor de movimiento. El
editor de movimiento es genial. Nosotros Tuve una discusión hace dos semanas
y dijeron: "Creo que hay una mucho en esta versión. ¿Lo llamarán
3.7? Así es. 3.85 o algo así. Finalmente
es 4.0. Creo
Anuncios sobre la redacción para ir
es un gran problema.

Creo que las inclinaciones
gente para probar eso. Pequeñas cosas
como el inspector de diseño. Creo que realmente habla de la atención
al detalle. La gente tiene He estado pidiendo eso durante mucho
y estilos. Creo que las cosas son muy
además, no lo sé. Yo diría que estoy
paquetes de aplicaciones. Esa es una de las
cosas que simplemente con adoptarla obtienes un montón de bondades por
Estoy entusiasmado con el generador de perfiles
he estado pidiendo durante mucho tiempo.
Siguiente pregunta. Esto es… estoy
interesado en ver las respuestas. La pregunta es ¿por qué tenemos una nueva versión
¿año? ¿Podemos frenar un poco? Pregunta
seguridad. [Risas] Creo que
Quiero decir en serio, tenemos que
preguntó. Yo diría que la tecnología
Tienes que estar constantemente al
plegables y este es un espacio
En los próximos años veremos dispositivos
increíbles.

Es temprano y Creo que es una de esas cosas en las
algo de lo que no estoy seguro
Tenemos que evolucionar el sistema operativo
tecnología. — operando. La pregunta
De hecho, cuando se lanza el nuevo
esfuerzo por actualizar.
los desarrolladores realmente preguntan. Creo
nos facilitas la adopción y
Esa es una consideración realmente
de por qué hicimos algo que no
Queríamos compartir aquí cómo pensamos
hitos, además de comenzar a hablar sobre
resiliencia y hacia dónde vamos
Nunca hablé de eso tan pronto
comentario. Es cuestión de reflexionar
romper el cambio y mantenerlo al mínimo.
Tan pocos como sea posible y nada menos.

Con la evolución de los
aprendiendo, la plataforma va a evolucionar
de por qué amamos Android. Se trata
de encontrar el equilibrio adecuado. La única constante es el cambio. Pasamos
fiabilidad y asegurándonos de que
mejorando en eso. Otra
Línea principal del proyecto y ¿en qué
El viaje del proyecto consistió en
entre el código específico de silicio
dispositivo pueda tener. Esa fue una
idealmente cuando creamos el sistema
Lo habría implementado, pero Android
ponemos esta base y cuando una
sale el sistema operativo, funcionará
permite a los desarrolladores o fabricantes
de dispositivos moverse más rápidamente. Tú Lo vi con el programa beta para
Android 10 donde teníamos como 21 dispositivos de 13 OEM. Son como piezas encima
de Treble y puedes empalmar y actualizar.
entusiasmado con la línea principal porque
puedes tomar partes aburridas del sistema operativo, como la
criptografía. solo lo esperas para trabajar.

Entonces creo que esto nos permite
componentes y tener uniformidad entre
dispositivos . Creo
Gracias, David, por venir y hablar
tú. ¿Hay
algo último que quieras? decir al livestream? Mucho. Gracias
Principalmente, sólo quería decir
parte de la Cumbre de desarrolladores. Estamos
Con esto concluye esta parte de #AskAndroid.
La sesión de oratoria está a punto
. PONENTE: Buenos días, bienvenido a
Componer, y no sé por qué, de
eso no se habla realmente. acerca de, es lo que es en Jetpack ComposeCompose. Soy Romain
PONENTE: Soy Clara Bayarri. PONENTE:
PONENTE: Jetpack Compose es un conjunto de herramientas
en lugar de intentar decirte
qué es, creo que es útil si te contamos los problemas que estamos
objetivos que intentamos alcanzar.
de nuevo.
ALTAVOZ: Está bien.

PONENTE:
era el que hablaba más y yo
explicaba el razonamiento y Quiero repasar otros puntos. La
desarrollo, y todos estamos acostumbrados
desarrollo, algunas API son incómodas,
diferentes archivos e idiomas. Quiero
Jean trabaja en el compilador para ayudar
componer es algo bueno. Entonces tienes
una aplicación, una simple versión de nombres, filtra en la parte superior
¿Eso con el kit de herramientas de interfaz
archivo, con texto y todas las
Necesita otro archivo XML para cada elemento
Archivos XML y luego el valor de la lista
centros de datos, adaptador.

Y luego
necesitas el adaptador. Entonces Es curioso, cuando lo pongo en la
¿Tenemos que filtrar una lista? Lo busqué
en Google. [ Risa ].
Y resulta… [risas ] – porque escribí algunas de las
Adaptador, entonces resulta
publicaciones y artículos sobre cómo hacer
esto. Y esta es una de las formas astutas,
haz que funcione. Eso es mucho
simple. Esta es la versión completa
de redacción, todo el código. necesitas, en tu pantalla, mucho más
encontrar errores y, lo que es más importante, Cuando lees el código, queda claro
qué el Intentos de cuál es el código.
la lista de contactos, todo se actualiza
como era de esperar. Y otra cosa que queremos hacer es arreglar
lo que está funcionando, así que Eso es todo lo que lamenta la API,
Hablamos de ello si quieres saber
en 30.000 rondas de código.
Y aún así es mucho.

Y el juego de palabras para nosotros es, ya sabes,
que también tenemos mucho equipaje en historias, hay cosas que simplemente
introducir nuevos errores o aplicaciones que
no dependen del comportamiento actual. Estamos estancados, no podemos hacer mucho más
kit de herramientas.
Y queremos dejar de chelín, nosotros Hizo esto originalmente y Adam
queremos esconder al vencejo. Tenemos agregar/ocultar
en API privadas, y esto es útil para nosotros,
en torno a las limitaciones del lenguaje
nos generó un problema.

Por ejemplo,
hacer algo con texto, y que no
te dejaremos escribir tu propio TextView,
la amenaza y usted está agarrando
prioridades por todos lados y no
puedes hacer nada al respecto. él. Entonces ese es un problema para nosotros.
componer es que ya no queremos depender
tipo de tener que, en el nivel
plataforma y todos los wim Los widgets en la API están disponibles para
PONENTE: Y abre cosas en la propia
forma.
un poco más duro sobre lo que abrimos.
Esto en la diapositiva desapareció.
El kit de herramientas de interfaz de usuario se creó
el diseño en cuenta, con el equipo
Estamos construyendo animaciones en
el conjunto de herramientas, por lo que esperamos
potente que en el existente.
Y componer, lo mismo, cuando construimos
kit de herramientas, hay otra interacción
porque era muy pequeño.

Uno vino
disuadir, y queremos cambiar
ya sabes, las escenas de construcción, falta
Estamos construyendo Compose. Adaptamos
primero. Y eso es algo que
Google Kotlin primero, pensamos
lo que decimos. Entonces Compose
API es posible gracias a Kotlin.
Usamos funciones divertidas como
Componer. Y
es algo que nos importa profundamente,
escribir: una vez que adoptamos redactar,
listo para la recopilación, usted no Divida todo el código y comience
escribir la siguiente actividad, o el siguiente
fragmento, o reutilizar algunos de sus vistas personalizadas y
reescribirnos, como Surface o WebView,
para escribir un nuevo WebView, por
vamos a hacer eso.
[ Risa ]. Finalmente, esto es lo que…
esto es lo que la pila técnica de Compose.

Entonces, por un lado,
tenemos el tiempo de construcción. pila en el host que se ejecuta en
compilador que funciona con
extensiones en colaboración en ellos
complemento del compilador. La semana pasada,
artefactos en Compose, la gente
funciona. Ahora no funciona, necesitas
razón por la que funciona, Kotlin
muy reactivo en absoluto, lo cual es una
lado del tiempo de ejecución, componer en la parte
con árboles, no conoce los tokens
de UI, podemos hacer otras cosas con él en la interfaz de usuario. Contamos
widgets y ahora cómo se escribe el código.
ALTAVOZ: Bien, aplauda.
[Aplausos]. Así
de las cosas que necesitas entender
y los conceptos básicos. La primera
son las funciones componibles, yo Sé que este término fue descartado un
La función es una función, toma una entrada
espectáculo. Lleva la aplicación a la jerarquía
de la interfaz de usuario. Creando una función componible es fácil. Por
screening componible, toma un
para emitir el elemento de texto. El
texto es lo que te proporcionamos, equivalente al TextView, lo muestra
porque tenemos el tiempo de ejecución
a través de cambios, luego nos encargamos
cambiar, vuelva a invocar la función en la
jerarquía por usted.

entonces nosotros estás describiendo lo que quieres ver
y nosotros nos encargaremos de descansar.
Y digamos, por ejemplo, que queremos Para construir una nueva historia, podemos
una función, podemos guardar el título
historia. Esto está bien, pero necesitas
desea que se muestre la interfaz de usuario.
Con algo como esto, realmente no quieres
lo que querías. Entonces esto es donde entran los diseños. Estamos
Diseños listos para usar para que puedas
tanto como quieras. Por ejemplo,
textos a la columna, el equivalente
diseño lineal, colocaremos
y esto se parece a lo que esperábamos,
y fecha. Y los desarrolladores están acostumbrados
cosas, esto es lindo, pero mi texto
está pegado al costado de la pantalla. Entonces podemos ir un poco
y lo que eso hará es simplemente crear
hazlo mejor. Entonces construimos toda la interfaz
de usuario con una sola función. Y yendo un poco más allá,
Kotlin no sólo toma texto, podemos incluir una imagen con
configurar la interfaz de usuario de esta manera.

Ah,
sí, lo siento. Estamos proporcionando un montón de diseños listos para usar, tenemos
horizontalmente, columna, coloca las
cosas avanzadas. Presentamos Flex,
construyendo muchos más allí con
Estamos trabajando en ConstraintLayout, pero
Esperamos con ansias que eso llegue.
Y luego, construimos un diseño, pero Quiere que construyamos componentes para
un montón de componentes integrados
que deberían ponértelo fácil para ponerlo en marcha. Primero, nos
equipo, queremos asegurarnos de que
Nosotros creamos los componentes
todavía, pero el equipo ha trabajado
UI, tenemos botones, casillas de verificación,
puertas, afluencia, ya llegaremos,
tienes las piezas básicas para crear algo así, digamos que queremos
una aplicación de muestra. Y construya esta tarjeta de material,
teníamos antes con la imagen y
El código que teníamos antes, no
envolverlo en una tarjeta, y luego podemos
porque esto es una cosa material para
elegir cuál debe ser la esquina parece.

Quiero esquinas redondeadas
Diseñe el texto para que luzca más
Tres mismos estilos. Dirás,
Este estilo se ve un poco raro.
Daremos un paso atrás hacia el especificaciones de materiales, y hay una
tipografías que puedes definir en la
estilo de la aplicación, hay una cantidad
preestablecida que puedes usar, como El sistema de color y forma.
en el sistema de materiales, tenemos una
que te permite configurar los colores,
para la aplicación. Cuando lo pones en
El componente de material que está utilizando lee los
no es necesario instalarlos. Del
los valores y eso es lo que estoy haciendo
los tres textos, estoy metiendo la
mano en el estilo y quiero 6, sub título uno, cuerpo uno. Es una manera
el retraso del crecimiento para la tarjeta de aplicación.
Implementaciones materiales de botones.
tipos, contenidos, delineados y texto.
terminología para que sea más fácil
Botones, esquema y botones de
componentes materiales que proporcionamos, construimos
API a partir de capas compiladas en el sistema operativo.

Entonces, el
base para nosotros, y construimos
eso. Así que intentamos no hacer trampa
El material es un escaparate de los componentes
hay muestras. Hay componentes
y vea cómo lo hemos hecho y vea
Lo dividimos en capas para que haya
ahí eso es posible para todos.
Creamos el nivel de base en el
hay, hay mucho material
que no necesariamente es diseño específico. Habrá un
Accesibilidad que implementamos para poner
en material y en cimentación, por
características que no son UI: no
y puedes construir la interfaz de usuario encima.
componentes que le brindamos, siempre hay
hacer, está el diseñador que
pide algo extraño que nosotros nunca previsto. De modo que, y en el conjunto
Tengo que encargarme de un montón
crear una vista personalizada. En
redacción, es sencillo. tu solo Tienes que crear una función. Y
construir la vista personalizada. Los conceptos
básicos son dibujar y diseñar, dibujar. le brinda control sobre cualquier tipo de
codificación personalizada que desee.

Y digamos, por ejemplo, que queremos hacer una casilla
es solo un cuadrado con esquinas redondeadas
¿bien? Te guiaré a través del código
para hacer esto, es bastante simple. Entonces, para dibujar un cuadro, abrimos
al lienzo y a las tallas, calculamos
cuadrado que sea, aplique las esquinas redondeadas
cuadrado. Lo mismo para la casilla de verificación,
abriremos un sorteo, tenemos
diapositivas, podemos calcular los
tres puntos que hacen el cheque marque y luego dibújelos en la pantalla.
sorprendentemente simple. Y la
proporcionaremos tantos diseños como
es algo que quieres hacer es personalizado.
el componente de diseño. El evento más
pila o diseño, apilados uno encima
tomar una función, con un grupo de niños
Al abrir una etiqueta de diseño, obtenemos
piezas medibles y todos los Contras que tenemos y dos sencillos
pasos.

Medimos a los niños, qué talla quieren tener, mediremos
asegúrate de que encajen y colócalos
enviaremos con un efecto
que es algo como esto. PONENTE:
tener hoy. Como se mencionó en la conferencia
0.1, si no aparece, no está
listo para producción. Pero quería mostrarte algo de código en
cambie a la máquina de demostración, por
favor. Está bien. Una de las aplicaciones simples
que tenemos es Jet News, en el Directamente en el emulador, te da una
hoy. Tenemos listas de desplazamiento
vertical, la pila de texto, son eventos previos, tienes mucho diseño
estilismo. Y esta es una aplicación
No es realmente una aplicación real, no está
servicio web para hacerlo muy
simple. Es un buen ejemplo de Tú sabes cómo crear tus propios
lo hicimos aquí. Para construir la aplicación,
a la derecha, los elementos de la lista, y cada
quiero alternar. Y la forma en que funciona
aquí, tengo un dato simple. clase en Kotlin, ¿el texto es lo suficientemente
grande? Está bien. Entonces tenemos los datos en clase,
eso… lo siento, un artículo puede ser un favorito, en la descripción y en el ID.
Y el modelo en la aplicación es una lista vacía de dos elementos,
en esta aplicación, como en una aplicación
objeto como este y la adaptación
objeto observable.

Entonces, cuando cambié
se redactará automáticamente y
Sobre esto, si quieres más detalles,
explica cómo funciona. Esta
aplicación, y entonces, lo que vimos anteriormente
en la conferencia magistral, tengo una desplazamiento vertical, tengo una
los elementos y luego creo una fila.
parámetros. Y en el ícono del marcador,
creado. Lo que me gusta de
realmente queríamos hacer, haremos que
widgets.

En las aplicaciones grandes
de Android, tienes XML grande archivos y es engorroso, estas
fusiones y todo eso. Cuando escribí
la solicitud, escribí todo en los elementos componibles,
que tenía este ícono de marcador,
extraje el método usando una refactorización,
mi anotación componible y eso es
crear un nuevo componente. No es
vista del método de agrupación o escritura.
espaciador, busque un fragmento de texto
que describa el elemento. Entonces el El marcador está aquí, estoy revelando
caso lo olvido. Entonces el ícono
elementos. Se ejecuta mediante
un clic, así es como se crea. él. Y dentro, lo único que hago es que
favorito, entonces quiero mostrar
el estado favorito. Y si no tienes
otro. Puedes usar el tipo que quieras
leer, y puedes hacerlo de diferentes
códice, el favorito total, haré
clic en el icono y luego Haré clic, intentaré escribirlos.
elemento, voy a tomar la lista de
un nuevo elemento que tengo en el portapapeles.
flujo predeterminado, así que si lo vuelvo
No hay oyente, no leo el diseño,
cuando hago clic en el botón, aparece
es todo lo que tienes que hacer. Y gracias
aquí observamos que los ítems están
apunte a los marcadores, cuando hago
porque es una lista mutable, a ver
hará un mapa.

vamos Mira, entonces si –ID es igual al elemento en
el que hicimos clic. IDENTIFICACIÓN.
Haré favoritos: estoy hablando
eliminará el elemento. Eso debería
funcionar. lo haré Reinicie la aplicación, así que agregaré
haga clic, alterna el icono. Vamos
a ver. ID que devolverá un Copiar. Y lo haré. Veamos. ID
es igual a –¡Yay! Yo
soy [Risas]. Y simplemente tabulando, es por eso que
I]. Deje el artículo sin modificar.
Está bien. Eso Siempre debería funcionar. Reinicie el preparado.
aplicación. [ Risa ]. lo
haré Boo lean haz que funcione.
agregar elementos.
Marcador. ¡Sí!
Está bien. Ahora funciona. [ Risa ]. Entonces,
para mostrarte lo fácil que
es manipular tus datos y… puedes
haz que interactúe con la interfaz de usuario.
mantenga el caldo separado, o más
antes. Y
sobre eso. ¿Puedes volver a las diapositivas,
PONENTE: Esta es la parte de la charla
un poco más sobre booleano
Aquí tienes una idea de cómo
pensar detrás de componer fácil y ¿Qué es lo que está en nuestra mente?
bouillon manipula tus datos de forma
ya sabes, construye esa lógica
y hazla plantear, hemos estado interactuar con la interfaz de usuario parlante.
comunidad acerca de usted puede seguir
más separado de lo que podía ser un usuario
formal antes.

Adán estudia. Estas te dirán
sobre eso. PONENTE:
Esto es lo más importante que tenemos en cuenta la parte de la charla donde nosotros y
Un poco más sobre nuestro diseño
conducir. Esto aún no está implementado,
así es como estamos detrás de com. estás pensando en plantear estas preguntas
y por favor únete a nosotros y ¿En qué estamos? Piense en su proceso
Lo primero que te llama la atención tan
pronto como trabajas con Compose es el flujo de datos. Llegaron algunas de las
temprano, o existió antes de que lo hiciera
compose en el caso del estándar mente. En marcha, tenga cuidado con
que estás acostumbrado. algo de esto
y materiales didácticos sobre
El trabajo aún está implementado.
construyendo cosas nuevas que las cosas
tipo de componentes de acceso a sus
exitoso tan pronto como hasta ahora, comience
La etapa XOEMZ es muy bien la información
de patrones establecidos que fluir.

Algunos de ellos continuamos
existía antes de que compose se hiciera
sólo el estándar destilado
funcional y las ideas sistemas reactivos y es posible que
ellos nos guían. Ahí vamos. Así que practica
Todo esto sigue siendo un trabajo
Google I/O durante la charla sobre arar.
Dataflow es el primero en
Estas funciones llaman a FMENT de esta
funciones, la mayoría de las personas flujo, destilemos esas ideas y
la única fuente de verdad en donde están la interfaz de usuario principal.
Destilemos puntos de vista que tienen una
anotar esas ideas y el modelo de aplicación
lo hace, y ese es el caso en la aplicación de Android.
¿Qué queremos decir con el single? donde nos llevan.

La fuente destilada
funciones que llaman UI? funciones Es y le
evitando esto hasta ahora. Hay
inconsistente tener adata, solo
permisos de escritura de verdad para eso
en su estado. Entonces interfaz de usuario. Con It iscompose,
ve inconsistencias por tener un propietario
idea sobre una parte del estado, pasar
funciones que lo necesitan. La única
Los parámetros tienen que E Y venir de
de verdad. Y los parámetros determinan
como cualquier otra función componible.
capa de control de acceso en Kotlin,
que solo define los métodos de
cambiar el estado están en una
lista inmutable, si la cambio
la interfaz de lista de solo lectura, controlo
Seguro que esto es lo que doKotlin
El estándar no cambia desde debajo de la
list Entonces interfaz aquí que solo
leer tiene que ver con métodos que
tenían acceso a lo inmutable métodos para cambiar la referencia y
esa etapa es la que llama definido pueden convertirse en mutableperform.
sur Si de verdad, ¿le
Amable aplicar de. Sonamado
aquí puedo manejar lambdas durante
la redacción porque es una maneraDWI de solo lectura para expresar
punto de mutación que puede realizar en
regalar la verdad las llaves en
tiene que ver con cuando tiene el proceso.

A lo que accedo significa
que podemos usar vistas y algunas para silenciar la referencia de API a la que está
cambie el agregado un oyente de la verdad
de cualquier manera, usted dentro del deseo, ¿eres
¿Fuente de hecho que lo soy? Amable
variable de. del ejemplo Usamos
evento antes. Y esa es nuestra lista lambdas de controlador
inmutable. a lo largo de componer porque eso
es en la forma léxica técnicas de prescopio, como ves, puedo
Puedes hacer que el estado sin
el como parte del proceso. Esto es lo que
este por bloque. No tengo alvéolos
Este es el único lugar de API al
La lista inmutable está aquí. Agregué
accesible. De hecho, tengo acceso
del ejemplo anterior. muticiano
Esa es nuestra lista de ver mutable en
un nivel superior. Eso es en lo que responde a mis
dado este acceso nivelo. puede y
esto capturarlo es como parte simple, somos del bloque de uso
y definitivamente filtramos algunas
fuera de las demostraciones también.
Con suerte, harás algo más
La vista que Direct puede hacer es decirme que
se produjeron mutaciones al hacer clic.

Y lista. Así que he definido cómo este
responde que los clics podrían
Estoy configurando el nivel de acceso de clicklayer.listener,
Esto es una solicitud realmente simple para
simplemente usamos listas y, basándonos en
ellas, definitivamente hicimos algunas de la demostración como parámetros que bien.
Este es un saludo con la mano para esto. es el resto de lo que se pasa cuando la
sucedió. estar
botón enlazado qué más sofisticado que
Listsdo, y por eso tengo que usar los Estados
Yo, ¿cuándo sería un ejemplo más real?
Init, el alcance léxico, a este tipo de
definición. método de enlace soy Así
estándar un clickstuff, oyente ¿qué
y hacer solicitudes únicas para componer
parámetros que el marco pasó para lo que viene
y se produjo la redacción del código.
Piensa que definido, esto es
El botón se puede quitar y se debe hacer
genera un evento de clic, pero la
ese es el contexto que a veces está
distinciones que lo vinculan, de lo que
Realmente hacer para formar se convierte en esa
cuando todo está bastante comprimido
¿Qué es el espacio? Entonces, en realidad
veremos un nuevo patrón.

¿aquí? Esto no es exclusivo
de componer, lo vimos aquí. pero es amable no es mucho más
pequeño o el marco para diferente. Lo que sigue cuando
declaramos es un componer. El código es realmente, el botón como una
detalle con Creemos que estas son las mejores
eliminar para que se desprenda cuando se
hace clic en él. Y repetitivo pero la sintaxis aquí es la compensación
interesante. para Lo que dijimos antes es que a veces ese
los eventos fluyen a, pero estamos
sobre lo que estás haciendo, haz clic en el controlador
cuando de la misma manera, son ambos
Los manejadores son otro estado que presionó.
Botón de marcador Redactar creado y
En lo que respecta al botón, es
El token de sintaxis que se muestra aquí se
interesante.Hicimos clic, dijimos hacer
la solicitud fluye hacia abajo y los eventos
pero estamos pasando no definido aquí
texto asociado y al hacer clic en el
respuesta. de la misma manera. Tenemos
y lo que sea. Ambos pueden falsificar o probar
descubrirá que la interfaz de usuario
interactúa con el marcador en un lugar con la estructura de la interfaz
El marcador está expuesto a cualquier
parámetro.

Ficha opaca. Realizamos una solicitud a
que son para agregar o eliminar lo
como este, tan asociado el libro como
en conserva. Esos son los parámetros.
marca en una sola instantánea
el libro real realmente potencia
lo que sea. de un puedo declarativo marcador de libro Tengo UI definida
cómo se mantiene el UIframework de arriba interactúa en un lugar
junto con la estructura del fechas, y sería bueno UI. si se mantuvo
al día con el cambio como El marcador de libros evolucionó. Si desea actualizar
cambios, necesita que sus datos sean
listo para eso, reservamos la marca de sierra
clase con modelo de aplicación, componer
cambiar.

¿Por qué agregamos
algo nuevo? El ecosistema tiene Hay muchas construcciones observables,
La respuesta se encuentra en algún punto
entre la facilidad de comprensión del El código que podemos escribir de esta
en la práctica.
LiveData por un momento, tiene propiedades
Interfaz de usuario. LiveData es un único poseedor de valor. El
combinar valores y mantener el
cosa como perderse un evento, no tienes
último estado.

Y aplicación
El comportamiento del modelo se comporta de la misma manera.
Veremos este ejemplo, si has
componentes y ViewModel, ViewModel
datos observables y operaciones para
los datos. Podemos reflejar la misma
y ves algo diferente aquí. Entonces
que usamos en el ejemplo
LiveData que hay que observar,
estado del objeto interno. La lista
convierte cualquier lectura normal de las propiedades
alcance en suscripciones
observables, incluso si la lectura ocurre en capas hacia abajo.
es decir, extraer y refactorizar,
cada uno de forma diferente. clase, funciona. No tenemos la posibilidad
Mapeo de LiveData, cada paso del camino.
De vuelta en el botón de marcador, se
plano de estado y tiempo y esta
suscripción para nosotros, cada uno si está
pila. Así
alcance observable para nosotros
hay que pensar en ello. Así que recapitularemos
sobre eso. entonces necesitamos datos observables, componer agregará la clase
herramienta que tenemos disponible,
permite una observabilidad transversal.
Menos código de plomería y administración
de suscripciones en nuestras aplicaciones.

Y La cuestión es que todos estos otros
son geniales. No tienes que
apto para lo que estás haciendo. Si
marcador para devolver un LiveData
marcador, entonces podemos admitir cambios automatizados
gestión de suscripciones mediante el uso de
una función de efecto, algo así como este.
Ahí vamos. Entonces, esa es una especie de recorrido por
el trasfondo. Entonces, ¿qué queda? para Dataflow está documentando
recomendaciones para la pregunta eso queda, que probablemente todos
que es: ¿Cuál de estas herramientas debo
utilizar y cuándo? Entonces, establecer algunas de estas
siguen siendo un trabajo en progreso aquí. Así
En progreso, escucho muchas preguntas
recursos con compose y lo que planeamos
Habla de eso también. Este es un pensamiento
dónde están nuestras cabezas en este
recursos en el kit de herramientas, hemos
pensado en algunas cosas a lo largo el camino. Esto es grande. Necesitamos
Algunos de ustedes reconocen
de formas de configurar una imagen.
PONENTE: ¡Es muy conveniente! Pero
cuestión enorme en términos de su implementación,
que envuelve o reutiliza esto de
capacidad de la superficie API.

Entonces
y más molesto para cualquiera que
quiera construir encima. Hay un Muchas razones para ofrecer sobrecargas
funciones y no le estamos haciendo ningún
multiplica eso por la cantidad de
esta forma de plenitud, debido
confía en que se le ofrecen diferentes
formas de hacer una sola cosa. Eso es algo que nos
gustaría evitar. Y por eso también hemos visto muchas bibliotecas
entre lo que ofrecen las vistas de Android
Las bibliotecas de imágenes son un
Hay excelentes, tienen diferentes cargas
políticas, ciclo de tiempo de vida,
Los recursos son dinámicos, provienen
lugares. Y el tiempo para los eventos
del ciclo en vivo apropiados es No siempre es divertido, hay mucho que hacer
Mucho en recursos estáticos en lo
tipo de datos privilegiado,
mirando el sistema, y ​​debería
sencillo escribir las capas
reglas, utilizando los servicios API
públicos para operar. Corrutinas Son impresionantes, a veces no
PONENTE: Sí, nunca te callas al
no el único. PONENTE:
Entonces tenemos algunos problemas. Para trabajar con el compilador
Aún no se ha hecho mucho, la
carga de recursos, ya sea estática
La clase R es conveniente, tener un montón de símbolos
es bueno, queremos mantener eso, pero…

ALTAVOZ:
ayer al crear una demostración,
el archivo con el mismo nombre, el tiempo
mapa de bits.
PONENTE: Nos tomó 5 minutos
[ __ ] cosa. PONENTE:
Creo que podríamos estar capaz de incluir uno más en
camino hasta allí, por lo que las capas
Cuando hablamos de seguridad tipográfica
¿Por qué esto es específico de Compose?
son mejores, ya sea que estés usando
están hablando de cosas que son geniales,
estás usando Compose, hablaremos acerca de VerCompatibilidad. Nos
incremente a su propio ritmo.

Estamos
diseñando Compose para ser utilizado del mismo modo. Si tienes una aplicación
muchas vistas de diseños y fragmentos
ellos funcionan. E incluso cuando
lanzamiento, reescribir el código existente
tan genial. Así que no es necesario.
cuenta aquí y cómo se ve cuando
aquí. El primer paso es usar componer
la API es tan simple como parece,
Te resultará familiar si viste la charla
Ser capaz de anotar la función y
compilador para tener una clase de vista,
configuradores apropiados que puede usar
lo haría por sus parámetros. Puedes
UI basada en vistas. Esto aún no
está implementado, pero esta es la camino a seguir, y las cosas de las
las cosas que haces duran.

PONENTE:
trabajando en esto, está
PONENTE: Sí. Y el siguiente paso
algo sobre lo que haremos
junto con nosotros mientras jugamos con diferentes
Sumérgete de cabeza primero, necesitas usar vistas en
punto. Está integrando un SDK de
capaz de utilizarlo. Entonces, una idea
Nueva función de vinculación de vistas que viste
un archivo XML que se parece a este,
consumirlo así. Entonces tienes un
generado para usted que puede utilizar
para vincular valores, oyentes a en código. Puedes imaginarlo convirtiéndose
en algo como esto.

Para componer. Es agradable para la
trabajo adicional si desea una vista
composición misma para gestionar una jerarquía
fue diseñado para manipular el árbol de
En lugar de reutilizar diseños, podemos
clase como si fuera nativa para componer
hace que parezca demasiado similar,
límites y editar texto vive en
un estilo gotcha y la fuente de la verdad está fuera de esa visión. Entonces
Los contratos de estado y diseño funcionan de
encontrar el equilibrio adecuado. Así
Los espacios de diseño de los que hablamos,
tiempo. Por eso queremos asegurarnos de
El código es tan sencillo como
trabajo adicional si las restricciones
cambian. Te mantendremos actualizado sobre el desarrollo, y probablemente
pregunta. PONENTE:
puedes hacer, ya escuchaste a qué estamos
tratando de llegar, pero ¿cómo jugar con eso? Publicamos un
de.Android.com/Jetpackcompose,
parte del contenido, publicamos
un tutorial que orienta a través de los principios de composición,
hecho hoy, en detalle. Puedes
tener sentido. O puedes ir y descargar
compilación que admita Jetpack Compose,
debería estar disponible pronto. [ Risa ]. Y
plantilla para una actividad de redacción
dependencias y todo.

Entonces
publicaciones de blogs. Puedes hacer una
construyendo con compose, puedes ver
la muestra. Entonces publicamos Jet News como muestra, tiene todo
Hay dos secciones de codelab. El
Disponible en línea si estás transmitiendo.
charlas que deberías consultar, qué hay
Se le guiará a través de las herramientas
eso. Y mañana habrá una charla
Ideas sobre el trabajo de redacción, cómo
entre bastidores. Gracias ¡muchísimo!
PONENTE: Sí, lo siento. Gracias.
PONENTE: Había uno en el… Creo que fueron Chet y Tor.
No. Eran
Dave. Puedo mirar. Fue aquí. ¿Por
[¿Aplausos aquí?].
PONENTE: Hola a todos.

Soy >> Hola desde Florina y soy el
Defensor de la cumbre.
Santiago Rivera y yo agradecemos el
kit de herramientas.
el hashtagcon bases de datos en
compilar consultas de verificación de tiempo,
migraciones y prueba siguiente ascendente.
Se agregaron más preguntas y más funciones.
Jetpack extendido incluye soporte
2.0, significó la migración de Iván
López a AndroidX, y desde entonces 2.1, agregamos varias funciones avanzadas
vistas.
Y luego nos dijiste que había hay margen de mejora. Entonces,
He estado escuchando las funciones que usted
implementado entonces.

Así que
Hemos realizado Andread Dev Summit en la
PONENTE: Desde el principio,
Room te ha dado la capacidades para definir una consulta
y recuperar algunos datos. Y tú he podido hacer esto sincrónicamente
de forma bloqueante, pero la sala también Andread Dev Summit
había una manera de obtener
datos observables, así que si algo cambiado debajo de él, obtendría un nuevo
Pero no tuvo nada parecido a una operación
tú decides. A medida que avanzaba
RX y tuviste tipos para ambos observables
Anna-Chiaraqueries y la sombra operaciones. Soportes para habitación
operaciones. En 2.1, agregamos
ruta. Y en el producto 2.2, gerente
Hemos agregado parte del soporte para Flow,
Aplicación de rutina de ingeniería.
¿Qué es el flujo? Equipo nuestro.

lo
fuera del tiempo de inactividad. Qué
Si quieres. para aprender más sobre Flow
este es relativamente nuevo Kotlin
incrementador, y los asiáticos dicen que
emite datos y ahí tiene desarrollador.Android.com.
alguien en el lado receptor, o para
emitido.
Y la API en sí se divide en dos operaciones, las que realizan
operadores, mapear un filtro y aquellos
que lo consumen. Y veamos algo de código y algo ejemplo. Imagina que nosotros estamos creando la mejor aplicación para
API para encontrar perros y acariciarlos.

Encontrar
perros es complicado y lleva tiempo y esto limita
conseguir. Comenzamos con el generador
lambda y escribimos la lógica para
perros y emitirlos. El
coleccionista, tiene una función.
Y la parte interesante aquí es esa emisión es la función, y eso
El extremo receptor debe estar recopilando
los datos antes de esta función. se completa y tu cuerpo continúa.
función, usamos un marco de
ejecuta esto, vamos a tener un montón
ellos, lo cual es sorprendente.
si usamos un límite de tres, sólo
Los perros siguen siendo geniales, en mi
opinión.

Y en términos de espacio, ahora básicamente
función que devuelve un flujo,
y se comportará como esperado en el sentido de que obtendrá
Y puedes inicializarlo, estamos intentando
cachorros, obtenemos una lista
En la base de datos descargamos
], obtienes una nueva emisión. Esta presentación
resultados y los nuevos.
y apoyando el flujo en corrutinas es que puedes combinarlo con
con respecto a las corrutinas,
ciclo en vivo extensiones que le permitirán
los perros y empiezo a mostrárselos,
PONENTE: Entonces nos ha dicho
complete previamente su solicitud. Entonces,
cada vez que su usuario instaló, la aplicación, quieres encontrar los mejores
tener una base de datos preempaquetada,
extremo trasero. Si tiene que
Hay que hacer muchas cosas, desde
abrir la base de datos, validar el esquema, bloquear el archivo de la base
quitando lo que realmente
características que necesitas construir.
2 nuevos métodos: crear desde un archivo
y crear desde un activo.

Entonces, al crear a partir de un archivo, obtenemos
archivo descargado que tienes. Así
que una cosa importante aquí, usted Debe asegurarse de establecer permisos
Entonces la sala puede leer ese archivo
y copiar esos datos. Y luego, si está empaquetando
su APK, asegúrese de colocarlo en
la carpeta de activos. En términos de trabajo con migraciones,
diferente. Entonces, en general, la habitación
en la versión de la base de datos
instalada en su dispositivo, y en la versión que declaras en el código, por lo que
anotación. Pero ahora, con las bases
Un jugador más. Tienes la base de
datos preempaquetada. Entonces, cuando se habla de migraciones,
La base de datos preempaquetada es la versión
El código es la versión tres, la sala también
Migración de la versión uno a la
versión tres.

Así que ten esto en cuenta
bases de datos preempaquetadas. La
siguiente característica son las relaciones. Esto no es algo nuevo para Room,
aumentar el apoyo a las relaciones.
curso intensivo sobre lo que esto significa. Entonces
solo tengo un perro.
decir que aquí es donde vivimos.
Esto significa que tenemos una relación uno a uno entre el
dueño y la mascota. y esto se puede traducir a una base de
Tiene dos mesas, una mesa para mascotas y una mesa
para propietarios. Y la tabla de mascotas también tendría
IDENTIFICACIÓN. Para la sala, esto significa
que necesitas crear dos entidades, WURP para mascota y uno para dueño.
Para identificar la mascota y el propietario, utilice
lista de todos los dueños con sus
esto, deberá seleccionar primero
Debe seleccionar entre mascota, según la identificación
del propietario. Entonces esto se coloca dentro de una clase de
Tiene el dueño y la mascota.
propietario incrustado, y agregaría
Anotación para mascota.

Así
La anotación no es nueva, lo nuevo
capaz de agregar la anotación a un
objeto que no es una colección. Por ejemplo, aquí simplemente lo estamos
agregando a la mascota y estamos decirle a la habitación que existe una conexión
entre el dueño de la mascota DNI y el DNI del propietario.
Si está decidido a reescribir su consulta, seleccionaría del propietario
resto de mascota y dueño. Bueno.
Entonces dijimos que tu dueño tiene un perro,
varios perros? Esta es una relación
de uno a muchos y este es un mapa. de igual forma en la base de datos, así
Y luego, cuando queremos obtener la lista
de propietarios con todos sus mascotas, las consultas que debes escribir
son las mismas.

Necesitas seleccione del propietario y luego deberá
seleccionar de la mascota. pero nosotros no quiero hacer esto por mano. Entonces
dueño, con mascotas, tenemos el dueño
Anotación en la lista de mascotas. Así
anotación, estamos diciendo que
hay una conexión entre la propietario de la mascota, para la tabla de mascotas
mesa del propietario. Nuestra consulta es
devolver una lista de propietarios con mascotas.
Bueno. entonces
nosotros Si tienes un dueño con varias mascotas,
¿Tiene varios propietarios? Tenemos
una relación de muchos a muchos, y desafortunadamente, esto no se puede
mesas. Necesitamos crear un unión, tabla de enlaces, un ID de
mascota y el dueño. El dueño de la
clave primaria compuesta, la mascota
crea una lista de los dueños con todas
como esto.

Entonces, primero seleccionas
necesitaría escribir la consulta que
entre la mascota y la mesa de unión.
de consultas a escribir para esta cantidad
Hemos terminado, podemos escribir las cosas
propietario con los datos de las mascotas
la lista de mascotas. Y también está
la relación @, y lo interesante
es la etiqueta de asociado en la @relación. Esto le indica
a la sala que debes conectarte. las mascotas y el dueño según esta mesa de unión, mascotas y dueños.
la lista y devolver los dueños y
anotación, en relación, podemos
admitir uno a uno, uno a muchos, y muchas a muchas relaciones. Bien,
¿características?
PONENTE: Sí. Sí, lo hay. Hay más funciones. Entonces
La sala 2.2 tenía los valores predeterminados,
valores. Puede encontrar esto en la
hay una nueva propiedad llamada valor
predeterminado, y esto de hecho Expresión SQLI. Y otra cosa que
Procesador de anotaciones incremental
básicamente un cambio que hicimos para que puedas
están construyendo continuamente la
aplicación. Tienes que abrir la función,
bandera del procesador, queremos
futuro, pero estamos en este espacio
resolviendo problemas, pruébelo.

Háganos
saber si funciona o no. Y la última
característica que teníamos espacio. porque fue como un error
pero es una larga cuestión de lidiar con una
Imaginemos que tuviéramos este error de entidad
POJO más pequeño para él, que es un subconjunto
consulta, dirá, está devolviendo
no necesitas. Y la razón por la
están usando esa proyección inicial. Con
proyección y vuelva a escribirla
obtienes ese beneficio de campo
o rendimiento de forma gratuita.

A esto lo llamamos proyecciones
característica experimental. Así que pruébalo
va. Para habilitarlo, debes ir a
opciones y también abrir la bandera. Y
expandiéndose proyecciones aborda los nombres
si intentas unir dos mesas. Y aquí
propietarios, y aquí, tendríamos – y la forma en
define un Pojo que está incrustado
si combinas el prefijo junto con la operación
descubrirá qué columna
Escribe las proyecciones para que no haya
Lo hace más fácil, a medida que empiezas
proyección y la sala puede descubre el resto. Agregamos
incluye la historia de Coroutine,
corrutinas en cualquier lugar, tenemos
API con manejo de errores más rápido,
aquí por un tiempo.

Ampliamos las
tener uno a uno y muchos a muchos.
Y si todavía tienes que hacer
Siempre la llamada de escribir sus propias
velocidades de construcción dulces con
procesador, manteniendo el valor
son útiles. Pruébelo, avísenos
problemas, ven y habla con nosotros. Estaremos
Gracias. PONENTE:
¡Gracias! hacia atrás bienvenidogirando
y las preguntas Preguntar a la transmisión
Tomando tu delicioso respuesta de
PONENTE: Y yo soy Dan. Aquí están Anna-Chiara
PONENTE: Quiero dar un rápido saludo
La primera pregunta, Nick pregunta,
¿esto va a ser y este será? Jetpack, ¿la forma preferida de
ORADOR: Es mi forma preferida.

PONENTE:
Bueno. PONENTE:
PONENTE: No. PONENTE:
De la transmisión en vivo: La pregunta
¿Cómo cambia la arquitectura
de la aplicación Android con Jetpack? componentes?
Como se puede pensar. La intención es que Jetpack
cualquier cosa, esperamos que lleve el desarrollo
tipo de estándar que establecemos. Desde
Twitter, muchas disculpas. por adelantado. Odio XML con fines
de diseño. Cuando es Jetpack compuesto lanzado para etapa beta o alfa?
Nuevo diseño de interfaz de usuario de
porque estamos en la vista previa del
desarrollador. Está disponible, y así por favor descárguelo y pruébelo. Si escuchaste
Sé que deberíamos pasar a la versión beta el próximo
PONENTE: Excelente. Una de las
transmisión en vivo se componerá manejar RecyclerView? ¿O vistas dinámicas?
PONENTE: Vistas dinámicas es lo que Compose
No tengo otras opiniones, pero eso está
ALTAVOZ: Está bien. hemos estado Recibo muchas preguntas sobre
El futuro del diseño XML y ¿podremos
¿Componer en el futuro? PONENTE:
¿Puedes confiar en Jetpack? Componer completamente, la intención
la aplicación desde cero.

Hablé
diseños XML existentes dentro de
sobre ese espacio problemático.
con el código existente que tienes
PONENTE: Y la cuestión del desempeño.
preguntas contundentes. PONENTE:
confiando en muchas cosas en el
compilador experimental. Allá son cosas que tenemos que apagar o encender.
clases en línea en Kotlin
desaparecido. Contamos con eso para
utilizando unidades reales. Sólo
a través de. En este momento, estamos
en todas partes en términos de
cosas muy simples. tu podrías ver en algunos dispositivos más
tartamudez y algunos casos en los
recomposiciones a gran escala de
jitter o jank, etc. Estamos trabajando
para suavizarlo para que son cosas con las que no te topas
en tu día a día. Creo Nuestro desempeño está en un buen
límpialos y queda bastante
PONENTE: La respuesta corta es sí,
PONENTE: Tenemos una pregunta sobre la transmisión
Componga un enfoque mejor o más limpio
que utilizar el enlace de datos con LiveData? PONENTE:
LiveData puedes usar Compose.

El enlace
y con el compositor simplemente
enfoque diferente. A nosotros nos
como la primera pregunta. ORADOR:
Tratando de decidir entre estas cosas,
pruébalo. creo que nosotros están poniendo mucho esfuerzo en
tratando de asegurarse de que sea al menos tan agradable de usar.
PONENTE: ¿Puedes hablar más sobre la historia de la migración,
¿Qué piensas sobre eso?
PONENTE: Usted está diciendo la historia
de la migración en términos de cosas como ¿Quiero hacer algún tipo de conversión
Diseño XML directo. Esto es
en el equipo. Creo que parte de
— estamos tratando de construir sobre un
Todo el mundo está familiarizado con lo
Creo que en este punto miramos hacia atrás
ese sistema a lo largo de los
haría diferente. Eso es algo
Redactar componentes de interfaz de usuario.
mapeo uno a uno entre algo
ver el sistema y algo en el funciones componibles que están disponibles.
tome un fragmento de código de
tiene conversión automática allí, la traducción
preciso allí.

Con el trabajo
No será el caso a menos que apele
desde para asegurarse de que comience
de la misma manera. Una cosa es Consigue algo que parezca
código de vista existente, estás hablando
del código que estás haciendo enlace de datos fino y enlace
cosas que realizan este cable para usted.
Adaptadores RecyclerView en
todas estas cosas en la mezcla, tratando
hacer la conversión inmediata es una traducción automática.
están intentando permitirle crear y usar
patrones en Android y eso es lo que
conjunto de herramientas reactivas. Una de
términos de interoperabilidad Rabilidad de la aplicación existente.
cosa existente y ponerla en mi jerarquía
PONENTE: Sí, y de hecho puedes
mirar el repositorio.

Historia de hoy y puedes ver lo que estábamos
en un envoltorio. Si vuelves a consultar
Seguiré informando de eso, y hablé
pensando en términos de
instrucciones. Consumir Compose desde
dentro de una jerarquía de vistas y consumir vistas desde dentro de una
jerarquía compuesta. queremos ambos de esas cosas para ser perfecta. PONENTE:
transmisión en vivo ¿eso es bueno? Creo
de las personas están entusiasmadas
la mejor manera de aprender a componer,
sugerir para eso? PONENTE:
tener un sitio web nuevo. DesarrolladorAndroid.com/composer.
los primeros pasos para construir una interfaz
codifica y les da estilo muy bien.
Si quieres dar un paso más, puedes
que muestra todos los componentes y,
con suerte, el código debería ser lo suficientemente claro como para realizar un seguimiento
PONENTE: Y necesitas 4.0.

PONENTE:
Bien explicado en el tutorial y en
ALTAVOZ: Marta pregunta, con una nota adhesiva en la
¿Jetpack admite diseño de restricciones
PONENTE: Buena pregunta. Para
ConstraintLayout no está ahí todavía. Estamos trabajando en ello.
Qué hay de nuevo en Compose Talk también.
ConstraintLayout estará disponible.
exactamente. Tenemos fila y columna con
las cuales son un poco mejores que diseño lineal. Se parecen más a
allí básicamente. PONENTE:
Queremos que pruebes esto y veas cómo se
Pruébelo, ¿cuál es la mejor manera
además de aparecer en ADS
¿pensamientos? ¿Qué pasa si eres
¿De dónde tenemos espectadores?
Hay algunas ideas que puedes seguir para
jugar con Redactar. Uno se
grupo.

Hay enlaces para solicitarlo.
stackoverflow y probablemente la mejor
es el grupo de Slack o el archivo de errores
PONENTE: Hay instrucciones sobre cómo presentar
rastreador. PONENTE:
la página web. Ponemos todos los enlaces.
PONENTE: Si tiene solicitudes de funciones,
archívelos y trabajaremos en nuestro camino
PONENTE: ¿Hay alguna manera de votar a
¿Le apasiona especialmente? PONENTE:
asuntos. PONENTE:
queremos esa retroalimentación. Estamos
comentarios de los usuarios y estamos muy
interesados ​​en recibirlos. PONENTE: Lo somos. Creo que Compose
se inició parcialmente debido a comentario.

PONENTE:
Una de las preguntas sobre ¿Es esta mi forma preferida? La
manera preferida. ¿Vamos a poner
La forma preferida de Powell. ¿Es esa nuestra
PONENTE: Compose es una nueva forma de crear interfaces
allá. Las vistas se quedan ahí. No
PONENTE: Exactamente. Redactar es una forma diferente
Al igual que nos estamos volviendo un
poco más obstinados y este es uno de las cosas que estamos planteando a los desarrolladores.
PONENTE: Y en última instancia, todo
piensan los desarrolladores. Si todos los
será la forma preferida. PONENTE:
respuesta correcta. Dependerá de lo que
ORADOR: Exactamente. Fresco.
livestream pregunta cómo Compose
manejará diferentes pantallas tallas?
PONENTE: Si sabemos eso.
fantástico. PONENTE:
¿Cuáles son las responsabilidades del desarrollador
PONENTE: Hermoso en el sentido de
Son dos cosas en realidad. Una es cuando
Patrón de interfaz de usuario, si tienes puntos
que son particulares, puedes encargarte
de una manera muy sencilla.

Lo otro
es que las herramientas te ayudan construye eso porque la vista previa
cómo ver directamente lo que sucede con diferentes factores de forma,
temas. Puedes ver exactamente en qué
eso. Creo que Compose se encargará
Tamaños de pantalla muy bien.
algo más concreto, por ejemplo,
ese es el diseño personalizado de
todo lo que está compuesto se basa
con restricciones que le dan la capacidad
cambiar la composición de los niños
vienen restricciones de medición.
primitivo para crear sus propios puntos de
crear una biblioteca de componentes
el cuadro en función de lo que la gente
La pregunta es más sobre que estás acostumbrado
calificadores de recursos que están
acceso a la configuración.

La declaración
poderoso. Creo que la respuesta
algo de código y terminará siendo reutilizable,
No es necesario volver a la página
Incluso yo tengo que ir mucho. Podrás
simplemente echar un vistazo. en su código. No, sucede en
como yo lo quería en lugar de no,
El equipo lo creó hace 10 años.
in es el componente de navegación en el
PONENTE: Nos gusta. PONENTE:
exploraciones anteriores que hicimos en
En realidad, crea un anuncio personalizado
componente donde simplemente proporciona una
llamada de función componible como mi destino de navegación dentro de ese.
Los fragmentos no son los únicos lenguaje para el componente de arquitectura.
el principio con eso en mente.

Resulta
que a algunas personas no les gusta usando fragmentos en su aplicación,
PONENTE: Impactante. PONENTE:
componente para ser un poco más
eso. Realmente ha valido la pena
Haz que estas dos cosas encajen
PONENTE: Quiero asegurarme de que lo
editor en Android Studio. Tenemos
si el editor existe y lo hace.
PONENTE: Si está buscando el editor
de diseño, no tenemos eso. Tenemos un adelanto. Tenemos una
casi en tiempo real lo que está sucediendo
PONENTE: Una de las preguntas es ¿cómo
¿Aplicar cambios más rápido?
Los cambios están ahí. No estoy del todo seguro
cambios de oferta. Pero la cuestión es
que aplicar cambios es importante. rápido porque así es como se
Volver a la raíz del problema, que es
lo que necesitan los desarrolladores. y se desarrolla e itera más rápido.
avance. Lo probamos nosotros mismos. Es
componente de forma aislada y ver
más rápido en eso y es por eso que
tienes la vista previa.

Es solo una forma de trabajar aún más rápido.
PONENTE: Si estás viendo el flujo de confirmaciones en AOSB, es posible
Se agregaron ganchos en Compose Runtime
los cambios pueden darle un impulso, recomponer
han sido aplicados. Estamos empezando
a desarrollar más de eso. cosa. ALTAVOZ:
vista previa en Android Studio en
cambios. Se está actualizando dinámicamente
aplicar los cambios rápidamente. Tienes
tú. PONENTE:
Pregunta sobre la velocidad del desarrollador desde
arriba y hacia abajo de toda la pila. Nosotros quiere asegurarse en función de los
Estamos tratando de probar y hacerlo,
PONENTE: Entonces Steph pregunta
sobre la inflación del diseño. ¿Dónde
¿Se infla? ¿Algo está cambiando?
PONENTE: Si está utilizando un diseño
En nuestras rutas de interoperabilidad, la inflación
como lo hace hoy o sucederá.
Si la pregunta es donde ¿Se crean instancias de estas
piezas nativas de Compose UI, el tiempo
de ejecución crea una instancia de ellas sí mismo.

Esas son las funciones componibles
La construcción de la jerarquía de la interfaz
separado de un proceso de inflación
querías escribir un intérprete
y hace algo así desde un archivo
en el disco o algo así tú podrías.
tal vez… no estoy seguro de entender
proviene, pero también he visto algunos
lo que está haciendo no está bajo el capó,
escondiéndote cosas. Es un enfoque
No se trata simplemente de reutilizar de la misma
PONENTE: ¿Hay algún problema
¿Eso que se te ocurre? O que la
gente debería saberlo dado ¿Está cambiando por escrito en XML?
PONENTE: ¿Para qué? PONENTE:
ALTAVOZ: Para Compose, si miras hacia
Ver la creación estaba sujeto a
por el proceso de lectura que
su MPK y también crear instancias
ejecutando los constructores de vistas
para toda la arkerarquía superior jerarquía.

Estos podrían provocar
Los constructores de vistas no son
escribe como un adaptador de vista de lista,
Bien, aquí vamos a separar
la creación y la vinculación. pasos como algo separado.
Manejamos ese tipo de debajo del capó para ti. Queremos asegurarnos
no se limitará a aplicar los mismos
su interfaz de usuario a lo que
capucha para ti. PONENTE:
el tiempo casi se acaba. Muchas
por pasar a responder las preguntas
Componer. Vamos a tomar un descanso súper
De vuelta con nuestros expertos de CameraX.
Excelente. PONENTE: Si recién se une a nosotros,
estamos en vivo. en Sunnyvale, California en la Android
Dev Summit 2019 y esto es Pregúntale a Android.
se unen a nosotros y son parte del equipo
PONENTE: ¿Cuándo lanzaremos una
API? Todo el mundo quiere saber esto.
PONENTE: Estamos muy emocionados de
beta a finales de año. Con
los desarrolladores podrán utilizar
PONENTE: Eso es genial.

PONENTE:
Algo a destacar porque a
versus estable, hay dudas
puedes señalar que eso podría alentar
¿Usarlo en producción? PONENTE:
El hito puede ser fluido. Una de las razones por
estar listo para producción es en realidad
VOCERO: OK ORADOR:
hacer es tener un laboratorio de dispositivos con
Millones de dispositivos activos.
La imagen y la rotación se prueban en
Además, probamos en cientos
de dispositivos más cosas como estabilidad, pruebas de choque,
PONENTE: El laboratorio de pruebas es realmente
verlo, es asombroso. Vamos a ver. vas
pregunta. PONENTE:
pregunta que podría estar en la
¿Deberían migrar a la cámara
2 o CameraX? Qué ¿Qué cosas deberías pensar? ALTAVOZ:
Si estás usando una cámara 1 hoy en día, CameraX tiene una curva
Utilice muchos controles de la
en una DSLR, entonces la cámara 2 es
la API más flexible que brindará tú ese control.

PONENTE:
son en API 20 o antes, deben permanecer
Para la mayoría de los usuarios,
puede pasar a CameraX. CámaraX funcionará para el 90% de los dispositivos que
PONENTE: Impresionante. Excelente. Vamos
Existe alguna forma incorporada que CameraX tenga
¿El desarrollador puede cambiar fácilmente
PONENTE: Hoy puedes hacer esto. Con los
ellos con una cámara específica en
cámara trasera y vincularla a un ciclo
siempre alinee con cuando desee
Podría estar en la misma actividad
y querer usar la cámara frontal. desde la cámara trasera. Puede desvincular
ciclo de vida y luego vincular nuevos
como cámara de configuración. Te ayudará
de lo que podrías hacer con la cámara2
o la cámara1.

Además de eso, tenemos el módulo de vista de cámara.
inclúyalo en su archivo build.Gradle
vista llamada vista de cámara que permite
pantalla y tomar fotografías y guardarlas
API donde estableces la dirección
dirección de la cámara en la que desea que
API sencilla.
buscado. Sólo una vista directa para poder
PONENTE: Recibimos muchas preguntas
intersección entre la cámara CameraX
cosas de aprendizaje. ¿Cuál es el plan
PONENTE: Absolutamente. Estamos
muy emocionados por esto. Mucho Los desarrolladores están pidiendo esto.
pila perfecta donde nos encargamos
configurando la cámara y en ese
cosas como ranura enchufar y usar. Eso
estamos avanzando hacia eso. Creo
dirección. PONENTE:
experimentando con CameraX y el aprendizaje
La luz TensorFlow necesita un valor RBG
devuelve algo diferente.

PONENTE:
análisis puede obtener imágenes RBG
conviértalo en una imagen RBG. Puedes
Codifique esa imagen y decodifique dentro
de ella un mapa de bits RBG. o si Eres un usuario más avanzado, puedes
PONENTE: Renderizar el script
habría sido mi idea. será rápido. Eso es lo importante
ALTAVOZ: Está bien. De Twitter. Básicamente,
¿Sin Jetpack? Y lo estoy
¿Otras bibliotecas Jetpack?
PONENTE: O sin migrar a AndroidX? No estoy seguro.
gestión del ciclo de vida. Confiamos
estrechamente acoplado con él. Creo que nuestra
recomendación a los desarrolladores. es realmente considerar migrar a
PONENTE: ¿Necesita utilizar el
modelo V y LiveData o está ¿los separados?
exponer estos nuevos paradigmas de programación
pero necesitarás usar ciclos de
es algo que estará disponible
PONENTE: Es muy compatible con
cosas pero puedes usarlo sin él.
PONENTE: En la transmisión en
¿CameraX manejará múltiples
transmisiones de cámara a la vez? PONENTE: Creo que hoy en día la
requieren que solo una cámara esté
más o menos en general en la plataforma
múltiples transmisiones de cámara, especialmente
Además, a partir de AndroidP,
tenemos una nueva API.

Llamada API de cámara lógica,
todas las cámaras físicas en una API sencilla
tipo de acceso a todas las diferentes
cámaras. CameraX podrá trabajar con todas las API de marco
PONENTE: Supongo que es compatible
ALTAVOZ: El píxel está utilizando una
delante y detrás. PONENTE:
PONENTE: Hablamos del frente y el
¿Está arreglado el manejo de la rotación
Básicamente, ¿la rotación de la pantalla
PONENTE: Sí. La rotación de la pantalla
es un problema muy difícil porque, Ya sabes, los desarrolladores tienen que preocuparse
el sensor del teléfono y la orientación
dispositivo y orientación actual de
CameraX básico que pueden echarle un
vistazo y que muestra cómo usarlo con CameraX y Tenemos un Año Nuevo, algunas cosas
PONENTE: Algo más para
que los desarrolladores deberían conocer o consultar?
PONENTE: Existe el sitio web CameraX
la mejor manera de empezar.
Si desea obtener más información sobre
CameraX CodeLab además del
pronto, otra vez.

Muchas gracias.
PONENTE: Por qué PONENTE: Estamos de vuelta
Quisiera dar la bienvenida a Kenneth Ford
desarrollador para ChromeOS y
radicado en Brasil y experto en Android
PONENTE: Estamos hablando de factores
cosas como automóviles, ropa, TV,
plegables y Chrome OS. Esos son un montón de
use el hashtag #AskAndroid y la
Twitter e intentaremos llegar a
PONENTE: Supongo que esta es una pregunta
que probablemente esté en la mente de muchos desarrolladores. ¿Por qué o cuándo
estos diferentes factores de forma? PONENTE:
Hablamos de ChromeOS y de los
sobre qué tipo de experiencias puedes
diferente a un teléfono y si
sientes que son valiosos ahí es cuando deberías pensar
tipo de dispositivos >> Y los desarrolladores tienen éxito
Los desarrolladores están construyendo negocios
dispositivos para trabajar.
Tasas de participación porque estos dispositivos
experiencias, patrones de uso más
PONENTE: Necesitas una experiencia muy
específica porque estás usando un control remoto, estás usando
los dedos para tocar y todo, Si estás pensando en un televisor, en
construido alrededor del televisor.

Tienen
Realmente buena experiencia.
PONENTE: Conozco gente que mira su televisor todo el tiempo.
Dos hijas pequeñas. PONENTE:
Podría estar viendo la televisión.
ALTAVOZ: Está bien. Otra pregunta es
¿Diferentes factores de forma? PONENTE:
Teléfonos, dispositivos plegables y ChromeOS,
Tenéis más información sobre los APK
PONENTE: Tienes dos opciones. Si está
puedes tener el mismo APK con los
en realidad un APK, ¿verdad? Si no estás
entonces necesitas un APK diferente.
el número de versión debe ser
número de versión porque si actualizas
número de versión, el televisor obtendrá
arruinar tus aplicaciones Sí, necesitas
usando paquete.
PONENTE: La mejor solución es Utilice el paquete de aplicaciones.
Arquitecto y diferente densidad.

Le permite
APKKAPK. ALTAVOZ:
PONENTE: Tienes diferentes
PONENTE: Los paquetes de aplicaciones se encargan
PONENTE: Una pregunta
Puedo responder a esto, pero es una pregunta
tener el patrón del presentador modelo inclinado
actualizarlo? Es difícil diseñar
ORADOR: En la televisión, es un
presentar contenidos multimedia. Las aplicaciones
de Android TV están más enfocadas en torno al contenido mediático. Cuando
información sobre, usted tiene la opinión
de que específicamente sobre cómo esto lo muestras en la tele y el
preocupándonos por la transmisión
Fue más fácil crear aplicaciones de
trabajar en bibliotecas y probablemente
futuro según los comentarios de la
envíanoslo. ¿Cómo lo utilizan los desarrolladores
demandas: los tetracomponentes eran
comentario.
Si tienes algún comentario, envíanoslo.

¿Cuál
es la forma en que te gusta conseguir? ¿comentario? PONENTE:
Tenemos el desarrollador de Android. Identificador de Twitter. Puedes enviarlo a
es un rastreador de errores, por lo que puedes
retroalimentación allí.
rastreador.
Flujo de problemas de GitHub también. PONENTE:
es la mejor y más sencilla forma de optimizar
tallas? PONENTE:
todo se reduce a construir diferentes
formas de aprovechar los diferentes
archivos para todos los diferentes
El producto debería cambiar y realmente preocuparse
Por lo general, primero se llega al
no solo sobre cómo funcionan los diseños en vertical
cambios de paisaje y rotación
PONENTE: Alguna recomendación sobre
¿Pantallas más grandes?
no sólo el tamaño de la pantalla sino también la
mostrar.

En el teléfono está cerca y la
lejos. Ampliar los activos. Todo se
diferentes dispositivos porque
producto y aplicación lo que se estropea.
PONENTE: Y piense en la navegación.
usándolo en una computadora portátil,
o navegación, por lo que prestar
importante y para los televisores más
usando controles remotos y otras formas de
PONENTE: Hablamos de que la barra de
llegas a pantallas más amplias
colóquelo en el navegador del lado izquierdo o
experiencia intuitiva. PONENTE:
¿Quieres dar la clave? ¿Puntos que repasaste en la sesión?
debería mirar.
PONENTE: Lo que perforamos toda la sesión está manejando cambios
de configuración. no puedes realmente huir de ellos o fijar el
preocuparse por guardar el estado.
Lo que se debe llevar es manejar
sobre qué cambios de configuración
plegar, plegar un dispositivo, cambiar
información sobre qué buscar
PONENTE: Y la velocidad de manejo
volviéndose importante. ¿Quieres preguntar
PONENTE: Adrian pregunta si se deberían utilizar
múltiples factores de forma para continuar la experiencia o una experiencia
independientes unos de otros?
de qué factores de forma estás hablando.
Probablemente una experiencia bastante
PONENTE: Sí, totalmente diferente.
De nuevo, usas el control remoto o a veces el sistema de Google para
la experiencia es totalmente diferente.
en nuestra sesión también es desde una computadora
Plegable, en ese mundo debería
pero piensa en cómo puedes encontrar
contexto específico.
tiempo que tenemos.

Gracias, Kenneth
y Neto. Asegúrate de Consulte nuestra guía y vea la
PONENTE: Esto concluye esta
transmisión en vivo. A continuación
tendremos contenido pregrabado y el La próxima sesión de oradores comienza
Vuelve a las 3:35 y responderemos
tus preguntas sobre Android. comunidad, expertos en desarrolladores
grupos y la diferencia entre
comenzó con Android y más. Estaremos
transmisión en vivo así que sigue haciendo
#Pregúntale a Android. Nos vemos pronto. [Aplausos]. [Música].
PONENTE: Muy bien. Bienvenidos a nuestra
Estudio Android. Soy Jamal y hoy
hablará sobre las últimas funciones
Estudia y profundiza en algunas cosas
durante el discurso de apertura de la cumbre
Para nuestra sesión de hoy, hablaremos
hoy y en el canal de Canarias.

Muy
Velocidad, demos un paso atrás.
Android Studio 3.5 en versión beta, centrado
pulido de funciones y acumulación
Studio 3.6 en el canal beta con soporte
Mapas de Google, mejoras en las herramientas
de diseño y soporte para Kotlin. Hoy nos complace hablar sobre
Android Studio 4.0. Bien, entonces con este contexto, hablaremos
de la visión de nuestro canal de escenario hoy. En resumen, Android
Studio se centra en el sistema. estado, pulido de funciones y acumulación
en Project Marble que incluía
el equipo trabajó en todos los ámbitos,
mejoras para aplicar cambios, mejoras
para aplicar cambios a el emulador, son 8 mejoras y bloqueo
de bolsa.

hablaré de las mejoras pero también las SCETSS: éxitos del proyecto mable.
latencia y enlace de datos. Analizamos
cuellos de botella en Kotlin, Java y lenguajes de programación también.
Otro punto principal fue memoria. Y similar a esto, oye,
responde y la causa principal es el problema
Lo primero que hicimos fue crear una infraestructura
y paneles de control. para verificar los problemas en el código
captar todo, por lo que agregamos un nuevo
tú. Entonces, si notas que la intercepción
lento, puede crear su propio volcado
está sucediendo con su máquina y comprende
problemas.

Y por último, escuchamos
la velocidad general de Android Studio.
datos de suscripción, mucha gente está usando
Estudio Android. Y si bien esto está
proyectos iniciales, cuando un proyecto
su tamaño de montón para un mejor rendimiento.
en la esquina inferior derecha
y aplique la configuración. Aceptamos
el análisis y modelos de cómo mejorar su
Android Studio en mayor actuación. A continuación, construye velocidades. Antes del proyecto Marble, teníamos
y lo profundicé hasta la publicación
de 9 segundos. estamos mirando velocidades de construcción de 3.0 a 3.3,
complejo, ya sea si agregó procesadores
funciones para reconstruir velocidades,
no fueron capaces de seguir el ritmo. En
el período de tiempo 3.3, 3.4, pudimos para estabilizar eso, y en el complemento
5, hemos visto una disminución en las velocidades
de construcción. Entonces si tienes no lo descargaste, descárgalo
mejoras en las velocidades de construcción. Y
el momento de realizar un cambio en
emulador. Entonces, antes del proyecto
segundos en los cambios aplicados. Es una
forma rápida de realizar cambios en su aplicación.

Si no ha estado utilizando
Te animo a que uses eso también,
cambio incremental y flujo de trabajo en
Estudio Android. Entonces,
para resumir, tenemos una serie de mejoras del proyecto mármol y estamos
cosas, y gracias a todos los que reportaron
los datos de suscripción. La calidad definitivamente
nuevo listón de calidad para nosotros
adelante. Entonces, con esta barra
Estamos trabajando en nuevas funciones
Le daremos una vista previa de muchas cosas
dentro de Android Studio. Y antes
de Canary a estable, evaluaremos las
ellos al estándar de calidad que establecimos.
características interesantes que agregamos,
Cosas interesantes que agregamos.
Una cosa que escuchamos una y otra vez es
rompa más rápido. Estamos haciendo buenos
En breve, acelerar el complemento
el rompecabezas. Cuando quieras escribir
más rápido, ejecute un generador de perfiles. Estamos
construye, te mostraré cómo
se ve. Entonces este es el sa proyecto nta Tracker, con errores
incorporados, y obtienes un nueva tarea de velocidad de compilación para
un desglose de lo que sucedió
Tengo las tareas que determinaron la duración
de la construcción.

Este es el tareas alrededor de la pestaña crítica.
optimizar una tarea que no está en
Todavía esperando una tarea más
tiempo de construcción para el complemento. Entonces
ocupando el 40 por ciento de la
complemento de licencia, por lo que lo
está recuperando archivos de licencia a
en el menú de ayuda. Y esto
hacer algo al respecto. También intentamos
problemas en la construcción. Entonces,
tareas. Las tareas sólo deben ejecutarse
cambiado, pero estas tareas
no declaran sus entradas y ejecutar cada vez.

Si sabes que
es tu tarea, arréglala o póngase en contacto con el autor y pídale
que lo arregle. Otro punto clave es los problemas de configuración de tareas,
comparten el mismo directorio de salida, no
Si rompes eso, estás haciendo una compilación
incremental y nosotros enumerar las tareas que están en conflicto.
tareas, si quisieras utilice tareas distribuibles, no funcionará.
consciente incrementalmente, forzará una reconstrucción.
Así que hemos estado trabajando con muchos
autores de procesadores para soportar
mayores API incrementales.

Así que Es tan fácil para ti como actualizar
valores automáticos, 1,64, y la compilación se ejecutará
más rápido. Y hay tiempo de configuración, configuración
se crean, se ejecuten o no. Se
operación rápida, pero un muchos complementos realizan cálculos a
dos segundos y esperando la compilación
para ver qué pasa en. Obtienes un tiempo de velocidad de
construir. Hice una construcción durante
construir.

Puedes ver lo que sucede en
La concesión de licencias ya no es un problema.
compilación, puede ver si desea
compilación incremental en el IDE, o ambos.
Tendrás más valor de la construcción
esos una y otra vez. Entonces
función de atribución en 4.0, no
aterrizará pronto. Entonces,
Gradle, ahora admitimos Kotlin
puedes escribir tus archivos de compilación
Bueno para el IDE, porque podemos
escrito estáticamente y el
finalización ahora, si se pregunta
configure dentro de la configuración
predeterminada, puede verlo aquí.

Y De manera similar, las opciones de Lint,
personalizar, se enumeran aquí. Y
puedes obtener documentos para el DSL, que es práctico, directamente desde el IDE.
Ejecutamos Lint en sus archivos KPS. En 4.0, la mayor cantidad de trabajo
Capacidad para leer, analizar y escribir los
El diálogo de estructura del producto
maneja Kotlin DSL. puedo entrar Aquí acepta las sugerencias para actualizar
las bibliotecas, por ejemplo, presionan
compilar el archivo y ejecutar otra sincronización.
— así que echemos un vistazo a la sección
Ves una nueva bandera, biblioteca central desazucarado habilitado, esto es para una
nueva característica que le permite acceder a API que requieren un nivel
de API más alto en una API más antigua nivel.

Lo que hacemos es reescribir
biblioteca de puertos que incluimos con
parece. Estoy usando la secuencia
Java Util y Lint va a falla antes de API 24. Si activa la eliminación
se queja en este módulo porque
modulo donde encendía el desazucarado,
mismo código, puedo ver que Lint
trabajar. Y te mostraré el código de
Este es el método que les mostré.
código, puede ver que la secuencia de utilidades
Jane dollar stream, en la
Lo sé porque es posible que veas estos
nombres de paquetes en stacktraces y depurador, etc. Y tenga en cuenta
que esto no se limita a Java. flujo de utilidad, puedes usarlo para
Función.util.Java, o Java.util.optional, y lo escribimos
error grave a veces reemplazamos
uno seguro para que no te pique ese
error. Hablando de mazos en R8, por reducción de código, utilizamos archivos
finalización del código, declaraciones
ves que estás factorizando conscientemente.
Así que si yo referenciado un archivo que está factorizando, puede
actualizado. Así que no más archivos obsoletos después
de esto.

[Aplausos].
y ver vinculante, es como enlace de
un impacto menor en la velocidad de construcción.
creará una clase vinculante para
los diseños. lo hace el manera clásica, una vista de contenido,
la jerarquía con el método, aplicar
posibilidades de acceder a ese objeto. Con
acceder o inflar el diseño con
un enlace generado clase. Y esa vista está presente en
el diseño. Entonces en este caso, TextView está presente en todas las versiones
eso significa que sabemos que no admite
valores NULL y que su acceso es seguro. No haré excepciones de
puntos nulos con este. Y ver BIPED El botón ng es: es excelente para almacenar
bastante buen rendimiento.

Está
bien. Por lo tanto, el enlace de vistas facilita el
acceso y la actualización de sus vistas. están trabajando en un nuevo marco
fácil, y ese es Jetpack Compose.
Y esto es hola mundo desde componer,
podemos tomar un elemento componible
envuélvalo en nuestra propia función
Una vez que le ponemos una anotación
Creamos nuestro propio widget. Y podemos
marcarlo con una vista previa. ver la anotación y aparece en un
archivo.
editor de diseño para redactar.
Creamos un widget, saludo, toma ¿Está más lejos? Lanza un bucle
componer widgets agregando composabilidad.
Entonces tenemos el vista previa, no se limita a uno. Entonces
widget que creé con dos estados,
¿Cómo puedo obtener una vista previa de
además, lo cual es útil. Este es
aplicación de lectura, esta es la tarjeta
puede mostrarle, por ejemplo, cómo se
fuente del sistema.

Y la vista
previa integrada es realmente genial. para modificar sus vistas
en diferentes dimensiones como tema,
así. A veces desea ejecutar la aplicación
comportamiento. Estoy entusiasmado con la
la keynote ya la habéis visto, pero
Studio 1.0, fue un desafío técnico
el proceso de levantarlo, la capacidad
de tener el emulador incrustado en el interior el IDE. Me encanta esto.
[Aplausos]. Entonces este es el emulador real, no es solo
En aislamiento. Puedo instalar
cuentas, lanzar intents y todo eso. Lo bueno de tenerlo en
el IDE es que participa en la gestión de ventanas.

Si quiero
traerlo de vuelta fácilmente. Es
componer la aplicación ejecutándose, podemos
haga clic en el icono de marcador.
intención de lanzamiento y eso no es
error en la aplicación. Entonces lo arreglaré.
código, el código de marcador de alternancia,
detener el marcador de verificación, aquí.
Probaremos los cambios aplicados y Recargué la aplicación, puedo invocar
el marcador y funciona. Este La combinación es productiva y se
Lo que mencionaré sobre el soporte de
sobre cómo mejorar la experiencia del editor.
Para completar el código, nosotros están clasificando los composables en
Bien, lo vamos a eliminar de la derecha
mostrar los parámetros y y parámetros de finalización de código. Así
editor sin problemas mientras trabaja en
redactar. Bien, entonces somos automatizadores
sistema. Permítanme cambiar a la aplicación
Recuerde que en la aplicación de redacción
tenemos la fuente de lectura y escritura. ¿editor? Tenemos lo mismo para los archivos
tener una ventana de herramientas separada y las
tiene los tres botones en la parte superior,
editor de diseño y puede utilizar asignaciones
a ellos.

Entonces, si presiono Ctrl Shift, izquierda,
Voy al medio, puedo tenerlos uno
Bien, tengo el editor de diseño completo.
vista, tengo la vista personalizada de Android
y en el editor de Kotlin, puedo Puede ver la vista personalizada y hace
él.
[Aplausos]. Entonces, echemos un vistazo al inspector
de diseño. Voy a ejecutar esta aplicación,
la abriré el emulador.

Este
es el inspector de diseño, esa es la aplicación ejecutándose. Este es
el inspector de diseño. Y se va a adjuntar a la aplicación en ejecución. Está
Entonces, lo que hace es derribar toda
la jerarquía de vistas. Allá es. daremos nosotros mismos más espacio.
Haga clic en varias vistas y podrá
ver los valores. Tuvimos eso en el antiguo inspector de diseño,
sección. Estamos viendo los recursos
Recursos XML. Así que echemos un vistazo
¿De dónde es eso? Puedo verlo especificado
archivo de diseño, y puedo continuar con
y vea la línea y el idioma
exactos de donde proviene. Y Normalmente, no es difícil encontrar
puedes buscar Para ello, ¿qué pasa con los colores? Este
¿viene de? Puedo ampliar, y
Hay varias alternativas aquí, probablemente
sea demasiado pequeño para que puedas ver.

Apenas puedo ver desde
aquí. Pero hay tachado en todas las referencias temáticas para
normalmente se especificará como gris.
atributos y una mayor prioridad que
están ganando, el verdadero verde proviene de la referencia de diseño
lo cual, nuevamente, podemos perseguir los
valores. Entonces esto es como el Chrome DevTools, puedes investigar
toda la resolución para descubrir por qué este texto, fuente
preocupado por. Y la otra cosa
inspector no es sólo un volcado estático
opcionalmente vivir. Y si hago clic en
el emulador, la lista de plantas, Ahora buscará todas las superficies
y se mantendrá actualizado. I Puede ver lo que está sucediendo en la aplicación.
eso, puedo arrastrarlo en 3D y
ver la vista completa aquí. [Oohs y aahs de la audiencia].
[Aplausos]. Y
lo bueno es que tenemos un textura completa sentado aquí atrás,
y les estoy mostrando las texturas que están ocultos. No es sólo una captura
Estamos obteniendo todas las superficies
en Android 10. Necesitamos soporte para realizar
el seguimiento de valores y bits búsqueda de mapas.

Ahora tenemos esta
textura oculta por la pantalla, está sobredibujado, es malo, y esta herramienta
esos errores y problemas con el recorte.
inspector. Está
bien. Entonces hablemos del editor de movimiento.
Así que aquí he creado una restricción
simple. disposición. Yo quiero anímelo para que tenga más vida. Así
MotionLayout, creará un archivo de
creará. Lo primero que haré será
tenemos principio y fin. Seleccionaré
Comience a cambiar las restricciones en
la escena aquí. estoy eliminando esto, para mover el texto a la parte superior,
eso, y coloque el botón en la parte
nosotros mismos una animación, si
play, comenzó a animar esto. Y podemos
rutas, puedes ver las líneas
se van a mover. Y entonces
Puedo intentar hacer el movimiento
Necesita una ruta lineal para la etiqueta.
frame, un fotograma clave basado en
la posición, en TextView. y yo soy vamos a tener el tipo relativo
muévelo al 100 por ciento. Acabo de enterarme de que en Android
tiene mucho sentido. Puedes ver
un poco más interesante. También podemos
desvanecer el botón desde el abajo.

Entonces, lo que hago es agregar
atributo. Entonces elegimos
botón, así que ahora esto va a desaparecer
que empezar de forma completamente
este botón se desvanecerá. Agregaremos
rotaciones, porque como rotaciones.
Y otro atributo clave. Este Al mismo tiempo, estoy rotando TextView.
Entonces rotación en alfa. comienza a 45 grados, me gusta darle
un poco más de giro, porque las rotaciones son geniales.
Entonces hagamos 145. Y deberíamos sacarlo de la pantalla
medio. Para hacer eso, primero
TextView, y luego agregaremos aquí un relleno
inferior, aproximadamente 300. Veremos cómo empieza a verse. Entonces,
cuando le doy al play, tener algunos movimiento.
[Aplausos]. Sí, como puedes ver, realmente
Recuerda la web de antaño,
con los logotipos giratorios la pagina web? No vayas demasiado lejos.
Puede lograr mucho con esta herramienta.
diseño un poco más complejo.

Para
que puedas ver el inicio y el final. estado, eso es solo el valor predeterminado.
estados, así que aquí tengo un estado base,
tengo un estado en el que están
uno encima del otro y el tercer estado donde están a la izquierda.
transición entre los diferentes estados,
transición, esta transición, y elegí
esta transición. Y mira las curvas
aquí también.
cosas con esta herramienta. Y lo
Es que puedes crear fácilmente controladores
de hacer clic y deslizar. Así que cuando tu Haz eso, MotionLayout agregará el
código para que puedas agregar oyentes.

Si tengo un controlador
en la configuración rápida. Hay
mucho que abordar aquí, pero si te quedas en tus asientos 2 o
3 horas, hay una charla del equipo de herramientas de diseño que puede mostrarte
las ventajas que yo no puedo mostrar hoy. Entonces, un par de cosas más para mostrarles.
En primer lugar, tenemos el — en el administrador de recursos,
hemos actualizado el activo vectorial asistente con nuevas imágenes prediseñadas.
El sitio web de diseño de materiales tiene muchos íconos, los agregamos, puedes
tipos de íconos de campo, íconos de
Espero que te haya resultado útil.
para editar, incorporamos todas nuestras
plantillas en vivo de Android para llámalos.

Si quiero agregar una etiqueta de
T, presione la pestaña, esto crea una
Nombre del archivo. Y lo más
Si me preguntas, registra M: esto registrará
el nombre del método actual con todos los parámetros, ¿bien?
[Aplausos]. Y si quieres un comentario estructurador
En la pestaña SBC, puedes escribir el comentario
abra la interfaz de usuario de las plantillas en vivo,
la configuración de las plantillas en vivo y puedes navegar y aprender las plantillas
con etiqueta. Te ahorrará mucho
te mostrará lo que necesitas, Emulador.
. Así
autónomo. Entonces, si abro las
Admite múltiples pantallas. Así que hicimos
múltiples pantallas en el emulador,
muestra, puedo modificar la densidad
diseño aquí mismo.

Si presiono los
emulador conectado a múltiples pantallas
puedo comenzar a interactuar con. Así que definitivamente dale eso es un intento.
ubicaciones de prueba, así que digamos que
tener una aplicación de fitness o lo que sea.
Lo que puedo hacer, puedo navegar a el Googleplex. Empezaré desde
que es el edificio de Google a las 7,
ruta, la llamaré demo, guardaré
ruta. Y a ver qué pasa
si entro en Google Maps. aquí en el emulador. Si hago clic
nos muestra que nos estamos moviendo, y aquí
estamos son.
[Aplausos]. Está bien. A menos que haya olvidado algo,
esa es mi demostración. entonces yo Se lo devolveré a Jamal y espero que
4.0.

PONENTE:
demostraciones. Lamentablemente no tenemos
tiempo para demostrarlo todo. I hablará sobre características adicionales
para el lanzamiento dentro de Estudio Android. Primero estamos actualizando
Puede tener una función de módulo
Estamos actualizando la dependencia de
módulo de cámara, agregue un mes de video
a eso, puedo tener un dependencia del módulo de la cámara con
módulo. Esa
es una foto genial de atrás. las escenas. Tenemos el diseño,
Estudio Android. Y lo que eso permite
son dos cosas importantes, uno, la actuación. Entonces todas
ver, actuar reactivo, eso está
mayor fidelidad y precisión. Entonces
el modo de justificación es compatible,
La perspectiva o la representación de texto
están disponibles dentro del editor. Y esta es una actualización rápida, hicimos
para plantillas para fragmentos.

Tenemos
al asistente allí, y estos Lo comprobé dentro de Android Studio.
Y una gran actualización para Android. El emulador es el soporte XES de doble brazo. Hoy
tenemos una versión especial. del emulador que soporta Arm y SB6,
para tener una experiencia rápida.
Estamos buscando sus comentarios para asegurarnos
casos y podemos escalarlo a medida que agregamos
adelante. Y también
actualizar en ChromeOS I/O, Hablamos del soporte total de ChromeOS
para Android Studio. Si desea depurar o implementar la aplicación,
Dispositivo Android o dispositivo ChromeOS
Ahora puedes actualizar dentro del dispositivo
ChromeOS. tu puedes hacer su desarrollo, depuración e implementación
de la aplicación en ChromeOS y verlo ejecutándose dentro de la computadora portátil.
características que nosotros están lanzando, cosas en el
canal de liberación.

Y el canal de liberación
Borde y ligeramente probado. Por eso recomendamos
versión de Android Studio y versión
Studio, puedes hacerlo siempre que
etiquetado con una versión estable de
Android Studio, puedes ejecutar ambos en el proyecto sin problemas. (Comentarios
fuera del micrófono) Mike. Y en cuanto a comentarios, te
es la última actualización para nosotros.
Hoy o si desea dar su opinión,
para ese enlace de comentarios. Y
están impulsados ​​por la calidad. Volviendo
estándar de calidad. Algunas de las
listo, queremos asegurarnos de que sea
estable y tenga una alta calidad lanzamiento antes de que se lo entreguemos
versión. Hoy hablamos de una
resumen, estamos hablando de
el modo de visualización múltiple, actualizaciones
actualización para 18.0. Y los que
disponible en canario. Por favor, compruébalo
mientras lo estás comprobando. Android Studio. Descargue
Canary, y nuevamente, soy Jamal,
viniendo a nuestra sesión. [Aplausos]. # [Aplausos]. PONENTE:
Hola, mi nombre es Chris. Banes y yo somos ingenieros del equipo de
PONENTE: Soy Rohan y estamos hablando
borde. Entonces, para aquellos de ustedes
entrará en eso. Pero quiero
un poquito y hablar de navegación.
Entonces, hace unos cinco meses en
navegación por gestos, presentándola
beta, y desde entonces hemos trabajado
trabajar con muchos fabricantes de dispositivos
en todo el ecosistema.

Entonces quería
darles una actualización. Básicamente, con Q, todos nuestros principales
envío con gestos en su dispositivo.
tener una idea del alcance del problema.
esto es super emocionante para nosotros, y el principal sistema
el que viste en E/S, lo deslizas
desde abajo. A vete a casa. Puedes desplazarte de
izquierda a derecha para regresar. Y sostenga desde abajo durante recientes.
P? Tiene el modo de tres botones que
sensible. Así modo tres botones,
un cambio que no tienes Lo que se escuchó antes es que ahora es obligatorio
Hay muchas necesidades de accesibilidad
a su alrededor y algunas personas solo gestos de odio, por lo que definitivamente
Creo que es algo que queremos mantener
Androide. La
disponible y la mayoría de los fabricantes de
experiencia predeterminada,
un usuario puede elegir entre la configuración.
Contexto de esta charla, yendo de
para usted y ¿por qué es importante para
el razonamiento o motivación detrás de
usuarios que desean experiencias más
Y una manera de hacerlo es abordarlo
perspectiva introduciendo gestos,
deshaciéndose de la navegación barra un poco más, y ahora depende
experiencia agradable para los usuarios,
experiencia de usuario.

Y una segunda razón
Gestos tiene un nivel de conflicto
con tu aplicación y queremos que Esté bien preparado, esta charla trata
listo. Hay dos cosas de
aquí. El primero va de borde
entrar en.
conflictos de gestos, de los cuales me haré
cargo. Genial, así que lo haré dáselo a Chris. PONENTE:
mencionó el término borde a borde. Entonces,
en Android Studio, si usas la plantilla nativa, obtienes
de la aplicación están debajo de la barra de
desea que la barra de navegación
brillarlo. Entonces el contenido se
parte inferior de la pantalla.
Por lo que se recomienda encarecidamente Android 10, no es obligatorio, pero
Es opcional, por lo que cuando ejecutamos
el trabajo que debemos hacer para
aplicable antes de eso. De manera
pantalla, tenemos el fondo de la barra
para que el contenido brille.
Y a medida que te desplazas, el La recomendación no es tan
contenido que tienes, si tienes muchas
obras. Si tiene una lista de elementos,
nuevamente, es opcional. Entonces
borde y cómo llegar allí.

Entonces
la primera manera es cambiar el sistema colores de la barra. En Android 10,
Y a medida que se desplaza,
barra de contenido, lo que permite al usuario
contenido. Eso es adaptación
El sistema le proporciona a usted y al El segundo es la pantalla translúcida.
eso se muestra. Y la pantalla
su SDK de destino es 29 o superior. Y esta
Es necesario realizar pruebas en todos los modos de
navegación y en el Modos API.
bloqueadores, la aplicación UI está
oscuro o la barra de navegación. Entonces
le dirá al sistema que sea transparente.
Podemos usarlo con el atributo de color de la barra
Hablando de Android 10, esa es la recomendación.
en nuestros valores para v29
antes de Android 10, porque el sistema
la protección de fondo, puedes
Color transparente o translúcido.
alimentación en vivo, es blanca, oscura,
por ciento de buena relación calidad-precio; es posible
que necesite subirlo. El
solicitar una pantalla de salida,
barra y barra de navegación, sangramos
por completo. Tenemos una API de sistema de navegación configurada
se presentará como si la barra de navegación
Y el segundo es pantalla completa,
parte superior de la pantalla, la barra
de estado.

Y hay una bandera especial en el estado del diseño. Te mostraré
flag lo hace, pero la interfaz de usuario,
banderas y puede afectar su funcionamiento.
de esto es Estas tres banderas especiales son nativas.
Vas de esto a esto y la bandera en
detrás de la barra de navegación, lo
llévelos al paso tres, evitando superposiciones
de la interfaz de usuario del sistema. Y eso nos lleva al tema de las inserciones,
y es un término que infunde miedo en los corazones de los desarrolladores.
Los recuadros, en el más simple, son
te dice que muevas algo. El inverso
área segura y el contenido que
tipo. Le mostraremos cómo usarlos
o aplicarlos. Entonces, la primera es la ventana del sistema
framework desde API 1. Y le dirá
En la pantalla, la interfaz de usuario del sistema
se muestra encima de su aplicación. Y se utilizan para mover vistas en las que
ejemplo del que hablamos antes, tenemos una
a la derecha y tienes 16 caídas
superponiendo ligeramente la barra
el mundo, pero no genial. Queremos
avanzar para que lo fabuloso sea ni cerca de la navegación.

Es
modo, como puedes ver aquí, porque
superpuestas en la barra de navegación
puede hacer clic en él. Y entonces
sistema: ese es el valor necesario.
inserciones de gestos, esto es nuevo
áreas de la ventana donde los gestos
del sistema de los que hablamos antes tome prioridad de su aplicación.
tenemos el gesto de espaldas. Entonces, al deslizar
borde derecho, la parte posterior entra
y el usuario puede regresar. Y todo desde la parte inferior de la pantalla,
el usuario puede volver a casa. Y en términos de cómo los usas,
en vistas arrastrables, y veremos
un ejemplo de eso más adelante.

Y la última idea del sistema de
gestos de la que hablaré es la gesto obligatorio del sistema. Este es un
no los usarías directamente. Y aplicaciones
de las que hablaremos en un momento tendrá un efecto sobre dónde
Las API le dirían al sistema que
no quiero que funcione aquí. El Administrar inserciones del sistema le
El sistema mantiene estas áreas de gestos disponibles
usuario. En 10, eso representa
Debería haber una trampilla de escape para
poder rastrear a un usuario. A modo de resumen
Además, gesticulando vistas de lucha establecidas,
directamente. Y entonces acabamos de hablar
Hablaremos sobre cómo evitar superposiciones.
ver la API de impacto. La API de inserción
mientras ahora.

Puede configurar la vista
pasará de escuchar y llamar.
inserciones. Y un consejo, deberías
ver el método de combate. La API cambió a lo largo de los años y ahora
Obtienes la misma API
del marco que API14. Y tiene correcciones para errores en diferentes
Seguro que intentamos usarlo. Y en términos
Tiene tres métodos principales que se asignan
a los diferentes tipos de inserciones. hablamos antes. El tipo de retorno
tipo de valor con izquierda, derecha
representan valores de píxeles y el
tamaño de la imagen. Entonces el el superior serán los 40 píxeles desde
hacia adentro.
Y así, para un ejemplo muy rápido, aplicaremos todos los cambios,
color de la barra, llegas aquí y la barra
en segundo lugar, iremos de borde a borde.
pantalla, el mapa de visibilidad de la interfaz de usuario
del sistema y obtenemos el diseño detrás él.

Y la navegación a la vista
bar. Entonces queremos arreglar eso.
lista de inserciones de ventanas aplicadas, y luego después
de las inserciones, agregaremos relleno. Una vez que hayamos
a esto. Y
el relleno tiende a ser lo que desea utilizar en la vista, puede
mover el contenido, en lugar de la vista misma. Puedes usar la coincidencia,
en el ejemplo fabuloso, nosotros usará todo espectador.
ejemplo más complicado, la barra
Visualmente, se parece un poco
fondo. Como se implanta,
es horizontal. diseño lineal. Y después
Entiende esto, que no se ve
Con todo ese relleno en nuestro
del diseño, que no es lo que
guárdalo.

Y
Puede recuperar el relleno fuera
juntos dentro del oyente. Y entendemos
Hecho esto, lo tenemos instalado allí.
Y nosotros en realidad escribió una publicación de blog que entra
en más detalles sobre esto, puede usar datos BIPED: funciones vinculantes o de extensión.
PONENTE: Entonces Chris habló de
Manejo de conflictos de gestos. Esto se
ahora, a diferencia de cualquier tipo de
De lo que hablamos es de los conflictos de los bordes
cosas interesantes para los desarrolladores,
la gente gritó.

Quiero asegurarme
de que obtengas una buena imagen. de esto. En navegación por gestos, como
Cualquiera de los bordes hará retroceder
al usuario. Y en modo inmersivo, También es un poco interesante y
Cualquier interfaz de usuario en el borde puede convertirse
Por ejemplo, tengo fotografías con cuatro
quiere recortar una imagen, comienzan
poder recortar una imagen. Esta
para asegurarse de que algunos elementos deslizables
sobre el espacio de gestos posterior.
API destrozada, la vemos en
te permite intercambiar una pequeña
usar.

Entonces es posible que veas los rectángulos
puede optar por no participar. Y
debe usarse con mucha moderación,
todos contra todos, o pelo químicos, pero para pequeños cambios,
barras y donde el controlador quiera para deslizar. Y a los usuarios les
el doble que en casa, más de 300
importante por usuario, importante
la consistencia y lo mantendremos como un elemento
es un método nuevo en la clase de
toma una lista de rectángulos en el
Reflejar o transmitir qué áreas la vista
para, en lugar de ser utilizado para
el sistema. Y puedes usar esto en el diseño, y si
actualización del marco, puedes usar esto en caída. Hablaré de la restricción.
para ser utilizado para cada UI única a gran escala. Hay una restricción en
Puede optar por no participar en 200 inmersiones en cada
borde, puede optar por no participar en un total de 200 inmersiones. Entonces, si las aplicaciones optan por
respetado. Quiero explicarlo visualmente,
puedo ver en En las áreas azules, estoy usando la API
de exclusión destrozada.

Y solo contará los 200 últimos,
verde. La parte superior, el resto
abandonó. Bien, y ahora
Quiero hablar sobre el modo inmersivo
con eso. Entonces,
Se comporta el modo inmersivo. Entonces,
activar la barra de estado y
parece, si deslizas el dedo desde la izquierda,
En la parte inferior, notarás que la barra
entrará. Y después de que entren
deslizar hará el gesto por sí mismo.
la parte inferior irá a casa, al deslizar el
atrás.
Y ahora, ¿cómo funciona esto con eso? API de regreso, básicamente, la restricción
Entonces, por ejemplo, si estás en la
aplicación de fotos, puedes usar esa API de 200 bits y que evita que el usuario
barra de navegación y estado.

Mantenerse
inmersivo es un poco complicado Sin embargo, aquí hay un caso especial.
que Chris entrará en sus registros,
borde que se utilizará para la aplicación.
exclusión en el borde izquierdo y derecho para
de ello para juegos principalmente. Genial,
Habla sobre el blog súper rápido.
número de publicaciones de blog sobre el
mapa de gestos, y hay más detalles que podemos hablar de borde a borde y
diagrama de flujo, lecturas diferidas, para
Detalle rápido, tenemos uno pequeño
propio tiempo, en el transmisión en vivo más tarde. Y muchas gracias
mucho.
[Aplausos]. . ALTAVOZ:
Hola, soy José Alcerreca.
trabajar en el equipo de LiveData. PONENTE:
El año pasado estábamos en un Hablamos de diversión con LiveData,
Integración con corrutinas y flujo.
Y desde la API, nos ha costado
androide en vivo ciclos. Todos hemos estudiado los
Aparecieron fragmentos que generaron
Los desarrolladores de Android
intentaron aislarnos de tener que lidiar con este problema. Creamos
que solo la capa de presentación
ciclo, y dentro de la capa
patrones y reglas que funcionan
Objeto que sobreviviría a una actividad
recreación. Usamos la idea en
Componentes de la arquitectura.
un poquito más en detalle.

Así se
Se obtiene ViewModel, también
se crea. Expone uno o múltiples LiveData y la vista
vinculante o mon suscripción manual. Él se suscribe a ViewModel y
expone datos. Entonces, cuando
red, o traer un texto, tienes
la operación. Esto significa que cuando
Cancelar. Si
cancelas demasiado tarde, entonces Podría estar desperdiciando recursos
pronto, es posible que tenga que
aplicación del mundo real, y esta es la aplicación
muchos más alcances que eso. Por
pantalla con múltiples, potencialmente
del programa de fragmentos, el ViewModel
pantalla, la agenda, la pantalla de información,
la actividad principal en el ViewModel que tiene como ámbito esta
actividad. Y luego puedes tener ámbitos personalizados, en el ejemplo de
flujo de inicio de sesión, flujo de salida
o el alcance de la aplicación, que es un Caso especial del que hablaremos más
adelante. Entonces habrá muchas operaciones
sucediendo al mismo tiempo. tiempo, y tenemos que gestionar la cancelación
de alguna manera. Necesitamos un manera de encontrar algo que nos ayude
PONENTE: ¿Qué sería eso? Por supuesto,
Corrutinas de Kotlin. Y no
una introducción a las corrutinas
sobre por qué lo buscamos para este
desarrollo.

Y brevemente, hay tres
En primer lugar, es fácil salirse del hilo
problema, intentamos resolver 20
tecnologías diferentes, y con coroutinecoroutine coroutines, puedes
para leer y escribir. No necesitas
Lo más fácil de las corrutinas
Código normal, es parte del proyecto
Esta no es la razón por la que nos gustan
La razón principal es la concurrencia
básicamente, Puedes estructurar la concurrencia
empleos. Entonces cuando ya no
automáticamente. Por eso nos gusta.
Si te gustan las corrutinas en Android, ¿cómo los inicias? Proporcionamos
Componentes de Android. Entonces
algo en el alcance del reViewModel,
y puedes usarlo para iniciar tus corrutinas, en una actividad
ciclo que puede destruirse.

Y quieres
operaciones cuando se inicia el ciclo
Puede utilizar este método para iniciar,
el bloque de suspensión cuando se
lo suspende hasta que se reanude
la actividad. Y digamos que tienes algo más complicado,
algo que no esté vinculado a la pantalla
usando WorkManager o no, y tienes
que preguntar, ¿esto funciona? completo. Si le escribe a un
servidor, utilice WorkManager;
debería ser una vergüenza. Si necesita limpiar
Utilice el alcance de la aplicación,
Puede usarlo la próxima vez que se inicie
Mire cómo alcanzar el alcance con
LiveData mutable como un propiedad pública a la interfaz de usuario.
cálculo, cuando llega el resultado
LiveData virtual y estoy configurando
el valor allí, no voy a llamar el valor de la publicación porque se ejecuta
por defecto. Desde el ciclo en vivo 2.2,
patrón, que es un nuevo constructor
El constructor LiveData le brinda un
para su LiveData, se ejecuta cuando
y se cancela cuando ya no se
usa y dentro de eso, puedes vacío.
el usuario selecciona un elemento
y luego se muestra el contenido de eso.

Una forma muy común de hacerlo es
datos de vida mutables y cambiar la transformación
Para este caso, puede utilizar este generador
cálculo de rutina. Y este constructor
contexto, para que pueda ejecutarlo de forma
Llama a Emmet. Hay una función
que recibe el LiveData. Entonces para
Despachos, enviar según mi valor. PONENTE:
Muy bien. Entonces, ¿cómo se cancela una
sobre cómo cancelar realmente una
corrutina que acaba de comenzar. Hemos estado hablando sobre el alcance
Esto se hace automáticamente para nosotros.
casos para esto, pero normalmente,
propios trabajos. Lo que quiero señalar,
diseñando una función de suspensión
¿Kotlin sabe cuándo suspender
de magia aquí. Suspender funciones
cancelable y el relevo es uno de ellos.
comprobar si la corrutina está cancelada
detener la ejecución. Entonces,
funciones cancelables en su función
cooperar. Decimos que la cancelación
es cooperativa, usted Tenemos que comprobar si la corrutina
está activa regularmente, con el is propiedad activa.

Entonces, antes de que
importante distinción que tenemos que
operaciones y operaciones que devolverán
múltiples valores a lo largo tiempo, y veremos un ejemplo de esto desde
la aplicación de Twitter. Entonces, para cargar los datos necesarios
para esta pantalla, tienes para realizar algunas operaciones
foto de perfil, identificador de Twitter,
los tweets no son editables en
Hay algo interesante al final.
retweets y número de me gusta. Esta interfaz
fuente de datos. Si mantiene la pantalla
va a cambiar con el tiempo.
Entonces, ¿cómo se ve una operación de una
sola vez en el panorama general? Usamos LiveData en el modelo por las
introducción, y para ViewModel,
Puente entre el mundo LiveData
utilizando el generador de rutinas
repositorio, estamos en funciones de
funciones en la fuente de datos,
Cuando tratamos con múltiples
Podemos resolver con LiveData, más
Se habló de esto.

Y LiveData
nunca fue diseñado como un generador de flujos reactivos
un poco incómodo de usar. Afortunadamente,
flujo que es parte de las corrutinas
ver algunos ejemplos de algún código Por ejemplo, veremos el repositorio
compararemos patrones, comparar dos modelos uno al lado del
LiveData y el otro del flujo. Entonces
cometer múltiples valores. Si no
transformaciones, podemos asignar
servicio. En el caso de exponer,
bajo. Entonces podemos usar una rutina
del constructor, así es como Consumimos un flujo y luego lo admitimos
cada artículo. Esto es más o menos
legible, si tienes que hacer 15 veces en ViewModel,
texto repetitivo, por lo que creamos actos
función que va a convertir
cualquier flujo a LiveData y Lo usaremos en el resto de los ejemplos.
está emitiendo un valor inicial y
utilizará una fuente de emisión en vivo
Mismo botón, convertido a LiveData.
legible, es incómodo, estamos creando
Es mejor si adoptamos la API de
que definirá cuál es el
y al final convertimos el LiveData.
Y aquí es donde brilla el flujo.

Normalmente,
transformación en cada elemento que
eres observar o recibir. Si
Quizás quieras probar el mapa primero.
Pero este es el hilo principal, y Sería incómodo utilizar una
rutina desde aquí. es mucho mejor que usemos suite map,
con el constructor, y debido a que
podemos llamar a la función de transformación,
funciono y tengo el resultado. Y
el flujo. Y debido a que es un
función de suspensión y luego convertimos
¿Cómo se utilizan las funciones de suspensión
repositorios? Un repositorio es donde tienes
llamadas, estamos creando API,
cualquier lógica de negocios que tenga.
En estos casos, es posible que quiero hacer muchas transformaciones, y nunca tuvimos la intención
cosas. Y al igual que con el flujo, tenemos
tus transmisiones, así que usa funciones
repositorios. Y suspender funciones
Más complicado, esto es parte del código
otras bibliotecas, eliminando recursos
y demás. Entonces lo haces No controlarlo todo. Examinaremos
cómo los integramos. El primer
tiene operación de un solo disparo, por lo que tiene
algún valor, una solicitud de red.

Entonces,
suspende y listo, puedes hacerlo
desde 2.6. Y si tu está utilizando espacio para su
se opone a suspender funciones. Lo
giras para suspender y listo, Ya no necesitas preocuparte. Y
con una biblioteca que no está actualizada
o tiene devoluciones de llamadas, entonces usted… ahora necesita trabajar un
algo llamado suspender cancelar trabajo
constructor de rutinas. Esto es básicamente el adaptador entre el
mundo basado en devolución de llamada.
Cuando llamas a esta función, te da una continuación que usted es responsable
de llamar.

Y entonces hacemos la solicitud de API,
reanudar la continuación. Si la
sucedido, retomamos la continuación.
tengo que hacer. Y una vez que el equipo
esto en algún lugar fuera de
esta continuación mucho más tarde,
cambialo un poquito mejor entonces, si se cancela la rutina, puede
cancelar la solicitud de API. Tenemos muchos valores y el constructor
similar al generador LiveData, excepto
dos segundos, tiene un valor aleatorio.
digamos, oh, este es el otro flujo.
Pero cuando trabajas con un biblioteca antigua nuevamente que no
devolución de llamada, puede utilizar la devolución
muy similar al anterior que vimos. Así
tener una API de imagen aquí que recibe
y la devolución de llamada tiene tres
error, y completamente.

Y registramos
nuestra API imaginaria y cada vez que
ofrecer el valor, ofrecer el valor
predeterminado o se produce un error, provocó la caída con este error,
Hay que tener cuidado, el constructor de
devolución de llamadas regresa por el llamadas. No quieres que vuelva. Entonces
tiene una tarifa de llamadas, suspende las llamadas
recibidas hasta que la persona que llama simplemente da un paso para recopilar
y nos damos de baja de nuestra API. Entonces, sobre las pruebas, me gustaría hablar
tanto tiempo. No,
No, no. Las
pruebas son importantes. Así que mañana tendremos una charla completa
Mírelo para ver cómo puede usar
en tu prueba. Y antes de
Con la introducción del flujo y los
han demostrado que en realidad puedes obtener
los beneficios de LiveData sin usando Datos en vivo.
Entonces podrías estar haciendo esto, en vivo. ciclo de alcance, inicio cuando
este flujo. Esto se comportará exactamente
se comporta para su interfaz de usuario.
porque LiveData tiene un comportamiento de almacenamiento
en caché, pero está cerca.

Es algo que quizás quieras considerar.
Preguntas, estaremos fuera del escenario para la sesión de
¡tú!
[Aplausos]. sobre el programador de trabajos dentro de su aplicación.
Así son los servicios de visualización, o algo más sabe sobre tu trabajo.
active su aplicación si es necesario y solicite
trabajar.
restricción de conectividad en un dispositivo
más nuevo, el programador de trabajos activa tu aplicación y dile,
hágalo funcionar y luego WorkManager
tener algo llamado programador
proceso de la aplicación, realizará un seguimiento
WorkManager para ejecutar el trabajo,
no se ejecutará en la aplicación.

Es
ejecuta con entusiasmo tu trabajo.
el sistema operativo, es onner está ejecutando el trabajo de manera oportunista.
Entonces haremos un desvío hacia relacionarse con el concepto aquí.
equipo interno de Google y preguntó:
WorkManager de forma experimental. Lo estamos
ejecutando en la aplicación y Queremos asegurarnos de que podamos hacer
Lo primero que llamamos, ¿qué pasa
Para una población experimental, como
¿aquí? Así que volvamos a la primera
Su trabajo anterior aún se ejecutará,
en el pasado, y luego dices, está
WorkManager para este usuario. Todo
el sistema operativo, e iniciará el proceso
WorkManager para ejecutar el trabajo.
hacer.
Y entonces la segunda idea fue, ¿qué ¿Si no lo inicializo para esa
Su trabajo anterior se ejecutará si utiliza
eso inicializará WorkManager
sobre la inicialización un poco
cosa, con la inicialización automática,
generará una excepción.

Tú Quería ejecutar el trabajo, intenté
no inicializado, eso es una excepción.
WorkManager para la población experimental?
Bueno, ahora las cosas están mirando hacia la derecha.
ignorado, porque los componentes
El administrador de red GC del programador de trabajos
ya no encuentra la aplicación, por lo que puede imprimirse y decir: No
ignorar el trabajo. Pero aquí
seguirá utilizando recursos del sistema.
hay una restricción de conectividad.
Entonces el programador de trabajos es seguimiento cuando tenga red,
aplicación para ejecutar. Y la app, en nuestro
administrador de red. Usaste un
montón de recursos del sistema. no hacer nada. Y deberías limpiar
lo que le di al equipo. Y la razón por la
Todos deberíamos darnos cuenta
existe dentro de su aplicación,
de su aplicación, el resto del sistema operativo
importante recuperar eso. Entonces, una
pregunta común a la que llega la gente y me pregunta, ¿por qué mi trabajo no se
razones para esto, quiero recordarles
Uno son las liberaciones insatisfechas,
ese es el ejemplo más obvio. Si está en un dispositivo más nuevo, podemos
te lo dira las restricciones no se cumplen.

Y
en modo DOS para conservar la batería. Y
Los trabajos en segundo plano no se ejecutan
Y podría ser que su sistema operativo o su
aplicación estén haciendo demasiado trabajar.
cierto número de trabajos activos a la
superando eso, y eso es en todas
las aplicaciones. Y WorkManager es administrado por el grupo
el principio cuando lo configuras.
trabajos, cuando haces 10 cosas a la
más tarde. No cumplió con los requisitos
debería verificar, ¿han terminado
¿Lo lograron? Un trabajo principal fallido fracasará
en todos los trabajos del difunto, esa es la expectativa en WorkManager.
utilizando un trabajo único con la política
el trabajo padre no ha fallado, si
el anexo apepped seguirá fallando.
Y la razón final de esto es que la aplicación
Aquí es cuando vas desde la configuración,
y borra todos los trabajos y alarmas.
con gracia, la próxima vez que se
todo para ti. Ya que esto se considera
acción, no podemos controlarla ni activar
la aplicación por usted. Eso es la intención.

Y algunos dispositivos ejecutan
Tú tienes esto, nosotros tenemos ideas. ¿Y por
A menudo, esto también es algo que
Por ejemplo, una actividad en creación
Solicitud de trabajo periódica. Esto es con
equivocado. La razón por la que esto está
pone en cola esa solicitud de trabajo y,
solicitud de trabajo periódica y tiene
pones en cola una nueva solicitud de trabajo
la solicitud de trabajo con ese nombre
existe antes. Entonces, lo que estamos diciendo es mantener la
Entonces, si pusimos esto en cola antes,
no lo vuelvas a crear.

Usa lo que Ya lo tenemos, esta es la forma correcta
de hacerlo. Y a Rahul. PONENTE:
habló sobre cómo usar WorkManager
sobre la inicialización antes. Así
más detalle. Hay dos tipos
El primero es automático, el segundo es
útil cuando desea que WorkManager
configuración, no desea personalizar,
Tenemos un redactor de contenido,
un inicializador de WorkManager y eso manifiesta la fusión en la aplicación.
Los redactores de contenido trabajan,
sucede la aplicación al crear.
método de creación, para especificar la configuración
cuando ocurre la aplicación
inicializado. Entonces, cuando llames
a la instancia, te molestará. usted: le proporciona una instancia
bien. Pero si observa en el diagrama
aplicación al crear, para el administrador
lo cual no es genial. Tenemos una
es útil cuando desea que se inicialice
de forma diferida y desea para personalizar la configuración
con más detalle. Lo primero
deshabilite el inicializador, porque
el contenido para utilizar el proveedor de
WorkManager y eso es malo. Entonces,
es la instancia, verifica si está
esa espalda. Si no se ha inicializado,
y eso es lo que todo el mundo consigue.
trabajos de inicialización.

¿Cómo personalizamos
clase de configuración, el subtipo implementa
proveedor, y que tiene un método asial
Gerente de Trabajo. Entonces, lo primero
que debemos hacer es obtener el configuración desde la
aplicación y luego usarla para inicializar WorkManager. Si la
implementar esa interfaz, entonces usamos
y aún inicializar WorkManager.
Así que hablemos de pros y contras.
Las ventajas son obvias: para la
inicialización bajo demanda, puede conducir a un inicio de aplicación
más eficaz, porque no bloquear su aplicación.
despreciar problemas específicos. Algunos fabricantes de
protocolos de inicialización del proveedor
funciona correctamente y tienes demasiados
trabajos. El redactor de contenidos es no seguido.

Entonces, para eso, puedes
inicialización. A veces es forzado
te obligan a salir, todos los trabajos
Por lo general, esto no es un problema,
fuente de verdad, necesita una base
qué existe y cómo reprogramarlo.
La reprogramación ocurre cuando se
cuando estás construyendo, la reprogramación
Por lo general, no es un problema, puede
aplicación al crear y tenemos
Cambiando de tema, hablaremos de
pruebas. en realidad tenemos Es hora de hablar de pruebas. Entonces,
2.0 estable, tenía soporte limitado
Las pruebas unitarias son importantes, por lo que en 2.1
mucho. Entonces aquí tenemos un trabajador
Trabajador en equipo, sospecha que funciona,
devuelve el segundo. Y olvídate de
crear una instancia de la clase y llamar
que vuelva un éxito. Es así
Sepa que no se puede crear trabajadores que instantáneamente y pasamos
por la inicialización completa. Le daremos una lista de prueba de un trabajador
Pruebo el trabajador definido, usaré
constructor, darle el trabajador de prueba
y establezco datos de entrada y luego establezco
según sea necesario. Cuando llamé
instancia del trabajador que puede
utilizar para las pruebas. Puedo llamar a comenzar a trabajar y suspender
suspender esperar hasta obtener un resultado de este trabajador, y luego
Como await se está suspendiendo, tengo
No tengo que inicializar el administrador
necesario para inicializar al trabajador.
cómo se ve el trabajo sincrónico.
Por ejemplo, a diferencia de: en términos de
tener un trabajador que devuelve el
compañero de trabajo y trabajador de pruebas
trabajador, tiene un ejecutor preconfigurado
en un hilo de fondo.

Entonces, cuando estoy probando al
trabajador de prueba, lo primero lo que hay que hacer es definir el ejecutor
hilo, y en lugar del error del trabajador,
uso el error del trabajador y dale el ejecutor y el resto
del código es el mismo. I Establezco los datos de entrada, los argumentos
Obtengo la lista de antes y la espera.
está suspendiendo. A veces quieres
restricciones y desea inicializar
en modo de prueba. Así es como lo usas
en un ejemplo para hacer eso. Entonces, en mi prueba, tengo una configuración.
con el que quiero inicializar
dándole el contexto y la configuración.
WorkManager se inicializa para realizar
instancia normal como una aplicación
restricciones y una instancia real de una
use el constructor y luego proporcione las
construir. Y como se trata de una instancia
no se ejecuta hasta que se cumplan
las restricciones. y eso Tratará todas las restricciones como si se cumplieran
para marcar todas las restricciones para el trabajador
ahora puedes usar el resto de las API
Puede llamarlo por ID del solicitante y
y afirmar que el estado de la solicitud
él.

PONENTE:
Y para terminar, estos son algunos recursos para usted. Entonces,
tenemos mucho, desarrollador.Android.com/
Gerente de Trabajo. Así que estos son el artefacto artefactos que están todos allí,
tú.
[Aplausos]. piso el PONENTE:
de Android Dev Summit a continuación
sesión Genial este
PONENTE: el hashtag#AskAndroid. Yo soy todos. andbeis ADS directamente
Hola, somos nosotros aquí19. PONENTE:
Caja de arena. hay añadido Soy parcial en Lottopic y la comunidad.
ALTAVOZ:list.is Tengo de Estamos
Comunidad de Android. Piensa que será
tu aprendizaje sobre cómo Comienza el viaje cómo unir tu
Android y Sand.

A si quieres preguntas en vivo,
PONENTE: el uso de #AskAndroid. Por favor, envía un tweet a Ben. Murat
ellos son guiados el llevó cómo y BenEstambul diciendo
Berlín el y han sido GDE Nosotros ¿GDE? ¿Qué son los grupos aGDE?
convertirse
ser un
empezando, es sombrero Es myon. Nosotros
Las siglas TLA permanentes tienen la a para
tres expertos. las personas son desarrolladores
su comunidad que ha destacado por
las aportaciones de la comunidad hacia la comunidad proporcionando
con farproporcionar lo anterior y la documentación
que más allá experiencia. y como ALTAVOZ:
que dar y el pienso al ALTAVOZ:
a ellosfomentar PONENTE: atrás comunidad
comunidad. clave Tienes la antes de que ambos ALTAVOZ:
hicieron el estaban conthing. Creo que, como mencionó Dan, ¿cómo
unirse a Google. porque recuperas a Thisme.
comunidad Berlín, estudiando la pareja
Android I realmente primero allí y y llegó el Meetup, tropecé
con el tiempo extra de inexistente. teléfonos teléfonos para
el andMeetup. Fui a Meetup
Hablando yo era crecer.

Android recién
luego los relacioné. cosas que presentamos
habló, empezó a escribir.
cosas aprendidas conferencias compartiendo
que invitaba a y al tiempo. Empecé,
a la gente que quieres que te pregunten
sobre esta estafa y yo a Lo que hizo el desarrollador fue que Google aplicó
"Conviértete en un experto". Eso, con ser Google obtuvo una etiqueta que conoció
estabas ALTAVOZ:
Desarrollador en Recuerdo una aplicación
de reuniones que permite eso y sincronizar Es genial que estén juntos. Realmente
simplemente noté claramente la historia.
Yo estaba por uno similar que ALTAVOZ: Tengo en Estanbul y dando charla. Solicité convertirme
historia. PONENTE:
Todo el viaje desde el comienzo hasta
para liderar las cosas. Lideraste
bastante bueno. Pregunta del oyente. ¿Quizás
PONENTE: Uno de ellos es Mohammed y me pregunta si debería iniciar
¿Viaje con Kotlin e ignorar totalmente
PONENTE: I Vamos a ir a Kotlin primero,
para empezar. Contamos con capacitaciones
Java está bien y puedes hacer
perfectamente bien. Soportamos Java
y puedes escribir viajando. Java. Si eso es suficiente para ti,
buen lugar para captar nuevas funciones
PONENTE: He escrito aplicaciones
por mucho tiempo. Cuando anunciamos
Android Empecé a reescribir una de las aplicaciones
Kotlin y la cantidad de diversión que tienes
No es intencionado, pero se proporciona
PONENTE: Las funciones se llaman divertidas
PONENTE: Y la productividad en comparación
lenguajes de programación Estoy
tienes la opción de elegir cualquiera
Personalmente iría a Kotlin
PONENTE: Esta no es una recomendación
Sinceramente, siento lo mismo.

ORADOR:
Se mencionó primero a Kotlin y creo que lo que
La perspectiva son las muestras y la
siendo escrito en Kotlin primero.
Quiere el material más fresco. PONENTE:
Siempre que estamos diseñando nuestras cosas
PONENTE: Siguiente pregunta. ¿Por qué
en la página del desarrollador de Android?
hace una semana.
Hace un par de días hicimos un esfuerzo en nuestro
ahora puedes ver el tutorial de inyección
escribió un colega nuestro. Es muy
bueno, largo. tutorial y profundiza. Buscar
en el sitio web y encontrará las
PONENTE: Técnicamente tiene
sitio del desarrollador, pero técnicamente
Definitivamente puedo encontrarlo.
PONENTE: También está apareciendo documentación
sobre la dependencia. inyección y creo que menciona
un curso avanzado de Android que incluye
que entran en inyección de
material pero conduce muy bien
Mucho material de prueba de Dagger
Comencé con Android y quiero comenzar
PONENTE: Muy bien.

Brett Whitney
11 pregunta qué es lo mejor manera de empezar a aprender a escribir
programación en general? ALTAVOZ:
trabajando mucho en eso? PONENTE:
capacitaciones y recientemente
lanzamos una nueva. tenemos muchos de CodeLabs y documentación. Échale
Entrenamiento de campo de entrenamiento de
PONENTE: Y otra cosa que me gustaría
Lo que me ayudó a crecer mucho son
muchas comunidades que existen. realizar sesiones de estudio y cosas así.
La comunidad se reúne y realiza
estos cursos y estos CodeLabs. juntos como grupo e ir más
propio tiempo y aprender juntos y compartir
después. Es un muy buen momento
comunidad para crecer en esto. PONENTE:
Probablemente haya un GDG cerca.
rebotando en eso, pero no sé
si mencionaste Kotlin cada campaña que se lleva a cabo y que
grupos de desarrolladores donde te reúnes
sobre Kotlin. ALTAVOZ:
Si tienes GD, probablemente haya otra letra
PONENTE: ¿Quieres preguntar esto?
PONENTE: Acabamos de recibir una pregunta de
la transmisión en vivo de YouTube. Cómo ¿Me uno a una comunidad GDG en Ghana?
PONENTE: De hecho, estaba observando
responde a esta.

¿Cómo responden a esto
¿pregunta? PONENTE:
el sitio del GDG. Vaya a Google y busque
grupos y hay un sitio que muestra
comunidades que allí se encuentran.
tan y tan a menudo. Puedes unirte
Búscalos también en Twitter, por
La próxima reunión es si aún
No hay comunidad a tu alrededor, el mejor
lugar para comenzar es, literalmente, simplemente sal y siéntate
gente, hablar de ello y hacerlo
PONENTE: En el caso particular,
Ópera.
activo. Hubo un evento allí hace
PONENTE: Una de las preguntas que
estado involucrado en grupos GDG.
¿Pero iniciaste tus grupos
PONENTE: No lo inicié pero después
ser un GDG. Había una comunidad
antes y un par de personas y yo se hizo cargo y nos convertimos
PONENTE: Si tienes un grupo de miembros
¿Lo conviertes en un grupo GDG?
PONENTE: Si estás empezando y De hecho, si no tienes un GDG, puedes
Realmente, realmente así de complicado.
De hecho, vengo al Área de la Bahía
asistió a un Grupo de usuarios de tecnología de Google
Los mismos chicos en Google I/O y todos
Fue realmente conmovedor que se acuerden
de lo que estaba hablando.
PONENTE: Y ni siquiera tenía un sombrero en aquel entonces.
Quería tener algo así cuando
No había una verdadera comunidad o grupo de
Empezamos a reunirnos en cafeterías y luego
apareciendo.

Mi empresa patrocinó una
No mucho, nuevamente, realmente no
Luego empezamos a reunirnos y las cosas
crecieron lo suficiente como para albergar miles de personas. Sucedió por sí
hacer algo, mucho por mi cuenta. La
La gente intervino organizando cosas.
y la gente vendrá a tu lado.
PONENTE: Y de la nada, iba a decir qué
festival de este año que proyectas
PONENTE: Este año esperan
lo cual es una locura. El registro es
PONENTE: Supongo que además, el GDG,
convertirse en miembro PONENTE: Vas
No es necesario que lo llamen al GDG
quieres hacerlo y luego contactas
Lo encontraremos porque tenemos clientes
es hacer algo sostenible. No
para 100 personas y luego quedarse sin
Pero empiece despacio, poco a poco…
PONENTE: Las cafeterías son geniales. A la gente le encanta el café.
La comunidad es la gente que hace
Cada comunidad puede ser diferente.
se reúne con el dev fest y más de
asombroso.

Puede que tu comunidad sea pequeña,
generalmente depende del número de personas
adentro. Si tienes 2 o 3 personas que
Creo que eso es lo más importante
Berlina. Nos reunimos y todavía lo
hacemos cada último miércoles de el mes. Esta conferencia se realiza
Berlín para hablar en el evento allí.
Miércoles del mes que continúa.
El tiempo establecido facilita que los
miembros de la comunidad se presenten y hacer sus cosas. Con el tiempo,
en el contenido porque sienten
esa comunidad. PONENTE:
Se habló del programa Kotlin GDE.
¿Puedes destruir la luz? ¿de esto? PONENTE:
por un tiempo, pero eso estaba estrechamente
Android G DE en primer lugar.

Decidimos
desvincularlo de Android para que las personas que no son GDE
de Android puedan postularse para convertirse un GDE de Kotlin. Por ejemplo, eso podría
que funcionan en la web o en
la nube y no hacen nada con Android en primer lugar. PONENTE:
No hay ninguna razón por la que Kotlin sólo
PONENTE: Eso es cierto. PONENTE:
eso, compartir una gran cantidad de contenido
excelente en Twitter, por ejemplo, que están muy interesados ​​en Kotlin
que puedes hacer con el idioma
Androide. Queríamos asegurarnos de darles
posibilidad de obtener el reconocimiento
caso. ALTAVOZ:
entrando ahora mismo. Es
algo que realmente quería hablar de. ¿Hay algún curso nuevo
¿Androide?
clase fundamental de Android
versión. Tenemos un curso que habla
programas avanzados.

PONENTE:
PONENTE: Pruebas y animaciones e inicio de sesión.
allá. PONENTE:
PONENTE: Hay mensajes de Firebase
PONENTE: Udacity es una plataforma
cuestionarios interactivos. Deberías
Es completamente gratis. PONENTE:
Tenemos CodeLabs listos para la mayoría de esos temas también.
vídeo si prefieres aprender a través
del aprendizaje web tradicional tú también puedes hacer
eso. PONENTE: O unirnos dentro tu comunidad y hacer esos
PONENTE: De hecho, eso es algo
hecho eso? PONENTE:
comenzó.

Tome algo de contenido y fue
Aunque Google proporciona algunos contenidos,
utilizar su propio contenido eligiendo otros
propias aplicaciones y trabajar en
ellas. PONENTE: Son como tipo campo de entrenamiento completo.
comunidad que te rodea, de repente
sobre hacer y aprender y de repente
Google. Estas cosas pasan. PONENTE:
el curso en Kotlin? Sí. Kotlin
Kotlin. PONENTE:
una aplicación avanzada de Android que
idioma. Esta es una actualización completa
actualización sustancial.
ve a… Dan, ¿quieres preguntarle al
PONENTE: Claro. Sí. Oh sí.
pregunta interesante. Ya
¿Antipatrones comunes en el desarrollo
PONENTE: No seguir nuestras
ALTAVOZ: No seguir lo que dice Ben.
PONENTE: No soy sólo yo. Dedicamos tiempo
es beneficioso para usted como
Intenta caer en trampas para no tener
blueprints, que es un repositorio
con un conjunto de muestras proporcionando orientación arquitectónica.
Otro antipatrón es quedarse atascado
Lo has hecho así, siempre
lo harás así. I Sé que publicamos contenido en rápida
significa que tienes que seguir
todo. No te quedes estancado con una API porque lo has hecho así.
Expande tus horizontes.

PONENTE: Creo que uno mira los
Lo importante es que no se trata de
un único patrón. muestra un monton de patrones. Supongo que eso es todo. Se
va a ser la última palabra. Gracias
uniéndose a nosotros.
PONENTE: Sólo para repetir. Puede Busque grupos de GDE en el sitio web de
sitio web por ahí. Mencionamos CodeLabs,
Lanzamiento de nuevo curso avanzado de Android.
Cualquier cosa en cuanto a entrenamiento ¿Estoy desaparecido?
bien. PONENTE:
como inspiración para volver a involucrarse.
Volveremos a las 5:00 5:10 hora del Pacífico. Estamos respondiendo
#Pregúntale a Android para ver las respuestas
sobre la biblioteca del kit web de
AndroidX. Gracias por recibirnos. PONENTE: Bienvenidos a todos. Soy Nicola.
PONENTE: Soy Oscar. PONENTE:
PONENTE: Y yo soy John, también en herramientas
PONENTE: Así que hoy vamos a hablar
sobre herramientas de diseño en
hora de pasar por ello. Así que
introdujo el editor de diseño en versión 2.2, e hicimos algunos cambios.
tenemos la restricción biblioteca para ayudar a que su biblioteca sea de
También lanzó el diseño de movimiento no solo para crear
animación y movimiento.

Lanzamos
con la biblioteca de navegación, el
administrador para permitirle importar
visualmente en 3.4 y se ha hecho
memoria, mejoras, velocidad,
para hablar sobre lo que hemos estado
haciendo para 3.6 y 4.0. Entonces, solo un par de cosas para
términos de lo que estamos tratando
de lograr aquí. La idea es ser Centrado en el usuario, la idea que
Para ello intentamos Escucharte, redes sociales, encuestas
y solo podemos mejorar las herramientas
si usted nos las comunica. Y también una característica
para que las herramientas sean fáciles de usar.
Los desarrolladores, cualquiera que sea su conocimiento,
muy fácil y muy rápidamente poder
crear cosas rápidamente.

Y, por otro lado, también estamos intentando
crear herramientas que sean escapable y, lo que queremos decir con
volverse más competente y todo es más
no desmoronarse. La idea crecería
Al final del día, el objetivo es ser
algo que es muy similar a lo
con la ayuda de las herramientas.
editor de diseño, puede ir y
El editor de diseño aún puede operar
adelante.
característica, ahora que tenemos todas
juegan bien juntos.

Y que crea una mayor colaboración,
para usted como desarrolladores. Para que pueda aprovechar
ayudarte en ese proceso. Y para
proceso y cómo mejoramos las
PONENTE: Gracias, Nicolás. Entonces,
Android Studio 3.4 se centra en Project
conocemos rendimiento, estabilidad,
igualdad y abordaremos los problemas durante nuestros estudios.
un poco de ese proceso. Esta es una tarea
durante nuestros estudios de usuarios, por lo
a la derecha e intentan crear el diseño
Y a lo largo de todo el proceso,
observaciones, haga preguntas, anote
no me gustó, qué
Lugares en este flujo que se rompieron
la tarea. Así
encontrado en 3.5. Entonces el primero,
frustrado por el desorden visual.
crear restricciones en la superficie
puntos parpadeantes para restringir.
un poco desordenado. Entonces, para 3.5,
le proporcionaremos sólo la información relevante que
cambiar entre documentos llenos
para mostrarte lo que te interesa.
No le gusta la falta de ayuda o contexto. Entonces,
componentes, tenemos un bonito menú
opción para limitarte.
no te lo dice a qué borde se está conectando.

Para
costas y curvas para que cuando
a qué estás conectado. Y el
Probablemente lo más importante es que le
coincide con el XML, puede ver el archivo
y navegar dentro y fuera de los diseños
creó una característica similar,
panel de atributos. Para cualquier
seleccione en la superficie de diseño,
le mostramos la lista de restricciones tienes y eso coincide 1 a 1. Y
y lo que escuchamos de los usuarios,
iteraciones de las herramientas y nuevas características
Oscar para contarles las cosas que tenemos
PONENTE: Gracias, París. Así
de las cosas interesantes que traemos
a 3.6. Entonces comencemos con el editor de diseño. Entonces, cuando
familiarizado con este espacio de trabajo.
retroalimentación que puede ser un
poco frustrante cuando tienes que cambie al modo de diseño y al modo
cambios de diseño, especialmente para cosas como restricciones, que
ver el equilibrio del árbol en su lugar,
uno, tienes el texto y el trabajo
de diseño.

esto no es solo trabajo exclusivamente de texto y diseño,
Y esto es mucho más que el editor de texto
deslizar. Puedo mostrarte lo que podemos
cambiar al modo de vista previa, puedes obtener el editor completo
y el editor XML, puedes ver qué está resaltado y es útil para realizar
de lo contrario, es un poco difícil de
hacer hasta que el XML emulador y se sincroniza con otras herramientas
Por ejemplo, emulador de navegación.
con la vista previa. Y puedes ver,
otro para que puedas desplazarte hasta
tu archivo XML y la navegación El iterador está resaltado y también
gráficos anidados, para que puedas ver
que realmente funciona muy bien con el XML iterador.
el iterador de navegación.
Naturalmente, hemos estado haciendo varias correcciones de errores
y mejoras que provienen de Marble, especialmente rendimiento
Lo obvio es que lo actualizamos para
Esto es algo con lo que estás
en el editor de diseño y lo
editor más tarde.

Vemos
editor, y en caso de que no
Lo importante es que tiene muchas
consciente de cosas como, por ejemplo,
autocompletar, o hacer aparecer Lint,
cosas comunes que hacer cuando se
ahora puedes invocar al administrador de
solo vamos a hablar de eso.
3.4, era una forma de visualizar tus
diseño e incluye funciones realmente
importe fácilmente una imagen y
tu proyecto. Entonces, para 3.6, lo llevamos
paso, que es apoyar más recursos.
Entonces, en el administrador de recursos,
puntos, y obtendrás una lista de más
recursos para que puedas administrar más recursos, como cadenas, fops,
y por supuesto muchos más. Y puedes
muestra algunos de ellos, menús, fuentes y
tiempo de fuente para que puedas ver el fuente sin tener que ir al archivo
de fuente o cazarlo.

Y para
dimensión, puedes ir a lo que hay en
el recurso. Agregamos las herramientas que tenemos
recursos, y especialmente recursos
duraderos y colores, e incluso fuentes,
y tal vez no lo sabías que tenemos una herramienta que facilita la
fuentes, o descargue la fuente a
su proyecto. Y lo que agregamos Hay un par de opciones de vista vectorial,
pruebas de recursos del
atributos, para que realmente puedas
saber, buscar fácilmente en
están los recursos y de dónde
Volviendo a la idea, las herramientas
flujo de trabajo de desarrollo, por lo que
soltar, para que pueda ver lo que está
seleccionado en la vista previa. y como Como mencioné antes, puedes obtener el
panel de atributos. Entonces obtienes una
ver información adicional sobre tu recursos que tal vez sean una herramienta después
de realizar el autocompletar para que puedes ver la biblioteca de donde
proviene, el recurso que es, cómo se ve y también información
configuraciones cuando estás
logrando tu otra estafa otras configuraciones.

Y
esta es una buena colección de iconos dibujables vectoriales útiles para cualquier
Y cuando actualizamos 4.0, esta es una lista
mil íconos diferentes en cinco
No lo sé o no tengo acceso, este es un
una carpeta de recursos, un nuevo recurso
Bonito diálogo con iconos y los diferentes
en lo que hemos estado trabajando
para 4.0 y lo convertiré en Nicolás. PONENTE:
Gracias. Entonces para 3.6, Puedes descargarlo hoy. Está en versión
hay muchas cosas interesantes. En
hemos estado trabajando durante el año
pasado finalmente están llegando. Y Voy a hablar de un par de cosas.
Redacte y componga vistas previas,
el texto, tiene una vista previa.
reflejado también en la vista previa.
herramienta para el marco de Android
a la historia de componer.

Es muy emocionante.
eso en 4.0 hoy. La otra cosa que
es una vista previa múltiple, puede acceder
esencialmente le brinda una manera de
diferentes configuraciones,
emulador u otros dispositivos. Así que aquí
cargue un conjunto de configuración y
parece en tabilous, más. y
nos iremos Más allá de eso, puede definir
los idiomas en su proyecto, que Esto es conveniente y puede establecer
interesado. Todo
lo último que me gustaría destacar
configuración que, veamos, está
bien.

Es el Simulación de daltonismo. Estoy muy feliz
[aplausos]. Es
cuando estás haciendo una aplicación,
y ahora puedes ponerlo directamente
contraste, por Por ejemplo, es correcto, y si puedes
todo está vinculado entre sí, cuando
puedes verlo en la vista previa independientemente
de la configuración. Es una herramienta muy útil,
y por favor danos tu opinión.
hecho en el flujo de trabajo es lo que hicimos
para la vista previa de redacción, pero cuando creas las vistas personalizadas
en la vista personalizada, el panel izquierdo,
puedo crear un archivo XML.

Dentro del archivo XML, colocaré la
utilizar el Modo de vista de impresión y muestra
bolígrafo inmediatamente al lado del
configuración, haga coincidir el padre
modifica algo y replicará
Así que aplicaré la cadena aquí.
Esperamos que eso haga tu vida. más fácil. Y lo último que quería
inspector. Cuando viste la demostración
buen gusto. Esto es como un visor de
Podemos tener una actualización en vivo sobre
emulador, en el dispositivo, en el estudio.
obtenemos mucha información sobre
se refleja en el estudio. Y también
las diferentes capas de composición
seleccionable también. Y en esta
diferentes atributos y obtenemos
atribución. Y eso te permite saber dónde se ha definido
simplemente puedes navegar hasta él en
Studio.

También les mostraré algo un
poco más genial. lo haré Aparece la nueva imagen en color
color a otra cosa. No soy diseñador,
Probablemente va a haber un poco de
choque. Pero si hago eso y uso cambios
para verlo se replica muy rápidamente.
Entonces eso es conveniente herramienta para mejorar su flujo de trabajo.
editor de movimiento. Y para hablar
PONENTE: Gracias, Nicolás. Es un día
El editor está disponible en Android
Me gustaría llevarte por un viaje por el camino
biblioteca. Dijimos que vamos a admitir
herramientas para la animación. biblioteca de promoción construida por John
bibliotecas y crear herramientas para hacer
más rápido. Y les mostraron la primera interfaz
Editor de movimiento para edición
Mira, es una línea de tiempo y puedes
fotogramas clave difíciles.

Y el año pasado
recibimos una actualización en el Funciones API y adaptadores, tenemos
transiciones. Entonces leímos múltiples
estudios en ese momento para lo que viste. Y anunciamos el Proyecto
desarrollo del editor de movimiento, pero
pensar bien, en diseño sprints sobre cómo traer estas características.
Y eso nos trae este año, tenemos una
en la segunda iteración fuera de la interfaz
En Proyecto Mármol tenemos esa
el día que juan anunciamos que tenemos el editor
Le mostramos la primera versión de la nueva interfaz
Realicé varios estudios y, con
suerte, esto puede ayudarlo con su flujo de trabajo. Iré directamente
demostración rápida de cómo funciona. Tengo
ConstraintLayoutConstraintLayout y
Y lo convertiré a MotionLayout.
le dice que convertirá a MotionLayout
archivo a su directorio. Y por último,
aparece el editor de movimiento. porque tienes un MotionLayout.
con un conjunto de restricciones inicial, un conjunto
yendo de principio a fin. Haré clic en
mueva este dibujo desde la esquina superior
la superficie de diseño, y establezca
en algún otro lugar.

Ahora que tengo
animación, si hago clic en la
He dibujado el camino para usted
el dibujo se mueve. Y puedo extrapolar
y cambia un poco el camino hacia
el camino ha cambiado. Si reproduzco
bien. Agregaré
para iniciar esta transición.
eso, y si lo juego en el emulador
se está moviendo. Y ahora traeré
Diseño de movimiento.
PONENTE: Profundizaremos en todas las piezas después de esto. Pero
vista de lo que es MotionLayout. Así
ConstraintLayout 2.0 beta 3, si
vas a utilizar el editor, utilizar beta 3. Están diseñados para
evolucionando a los dos juntos
el próximo dos cuartos.
[ Risa ]. Entonces, ¿qué es el diseño de movimiento?
Si lo llamamos movimiento porque no lo es solo animación. Cuando abres un deslizamiento,
Al desplazarse hacia arriba, o tiene una página
movimiento sucediendo. No es sólo
animación. Puedes ir hacia adelante
animaciones con dos dimensiones.
Te estas moviendo, y cuando se está moviendo, está rebotando
MotionLayout funciona de ese tipo de ambiente, pero –.
[ Risa ].

MotionLayout es una subclase de ConstraintLayoutConstraintLayouts,
está en su diseño y
en todo lo que conoce en ConstraintLayout, está en
El archivo es como el archivo normal, pero
que apunta al archivo de escena de movimiento.
El archivo contiene su Conneely. — conjuntos
elementos de los diseños, tienes
márgenes, todo lo que estás
restricciónConstraintLayout. Puedes
tu C, puedes tener tantas restricciones
Podemos considerarlos como el estado de la interfaz
de usuario. Entonces tienes un archivo con múltiples estados para la interfaz de
diferentes maneras.

Puede tener casillas de
y algo que esté conectado,
no conectado, cosas así. Y la otra cosa, además del Estado,
entre estados. Es una conexión
y un estado final de transición.
tienes al hacer clic y al deslizar
transición y luego tienes conjuntos de fotogramas
puede ser uno de los cinco tipos diferentes
animación, por lo que la animación
Quizás quieras hacer algo intermedio
la interpolación lineal simple, y puedes
Sabremos más sobre eso más adelante.
ver a la derecha, el código, está
Todo este programa se hizo puramente
usando XML y todas esas otras
diseño de movimiento directamente en el código,
aplicación de gráficos escrita en código y creación
componente y aparecerá un
pronto.
Sumérgete en profundidad para ver las diferentes
PONENTE: Ahora que son expertos
Te devolverá a lo que viste en el editor
Fue un ejemplo muy simple. El editor
MotionLayout, puede ser poderoso
a través de un poco, donde puedes
componente y observe la jerarquía.
superficie es donde puedes hacer el ofreciendo experiencias, como restricción de
cosa.

Esto se llama panel de descripción
Diferentes secciones, la de crear íconos
Entonces, para los íconos de creación, estas
son acciones simples que creamos para ayudarle a construir un gráfico y elementos
electrónicos para un MotionLayout. Entonces Puedes ver el contenedor que
conjuntos de restricciones. Y también
transición que va desde el principio
Una vez que hago eso, puedo hacer una
Y la otra cosa es agregar un evento de
Puedes ver una leyenda diferente
segunda sección, el gráfico general.
para darle una representación
archivo donde colocamos los
MotionLayout, tenemos transición
leyendas para navegar a través de ese
código real detrás de eso. PONENTE:
caso, este es un ejemplo simple.
vino de. Y aquí hay una correspondencia
uno a uno. El inicio se muestra como un conjunto
El final es el final del ID del conjunto de restricciones,
la transición es el pequeño punto. allá. Si nos fijamos en un ejemplo
conjuntos de restricciones, tres
transiciones y las restricciones se derivan de otros conjuntos
característica poderosa, desea
un estado de subestados, que son conjuntos de restricciones derivados de él.

Y
lo hizo para que esté organizado en el
orden de sus archivos. Entonces el La línea superior de la transición es
la transición más superior en el archivo, de arriba a abajo y de arriba a abajo de
los conjuntos de restricciones para que pueda Puede tener un mapa mental de cómo
PONENTE: Y además de ser un gráfico
visual para su archivo, este es una unidad de control para el editor de
aquí, estoy haciendo clic en diferentes conjuntos
y puedes ver que los paneles circundantes
corresponden a ese estado. Cuando te acercas al editor de movimiento,
Quieren que veas que representa
a todo el estado de la herramienta.

Ese es el
al segundo panel, al que llamamos
Como acabo de mencionar, debido a que el
estado diferente de todo lo demás,
tres estados, movimiento y transición
y seleccionado. Entonces el MotionLayout seleccionado, esto le resulta
árbol de componentes, y le indica
están en este MotionLayout. Y agregamos
información para usted, si está restringida
vertical u horizontalmente para que
sepas los componentes a enfocar en. Cuando se selecciona un conjunto
mesa. Y aquí les mostraré un poco
de información sobre lo que El componente está realmente
establecido y de dónde viene.
ese panel.
El botón inferior, el tres, tiene una marca de
está restringido, pero no en este conjunto
conjunto de restricciones porque está en un conjunto
común.

Puedes usar esto para tener
conjunto de restricciones particular
Los botones, widgets y vistas están
para los grandes complejos y
PONENTE: Y el estado final es cuando
se selecciona la transición. Esto es similar a la primera interfaz de
usuario que vio, se centra en un solo transición. Puedo reproducir la barra de
herramientas de animación, hacer clic en el fotograma clave del ciclo a atributos y borrar la animación.
puede ajustar la transición específica.
panel de selección. Pasaré al
panel, probablemente sepas mucho sobre
al respecto. Me centraré en un par
al editor de movimiento. Y lo primero,
lo que sea que se seleccione. Y es tan grande
transición, componente, el panel
de atributos es donde puedes busque los atributos potenciales declarados
Y el segundo es que muestra la
relación de herencia para el archivo de escena de movimiento y el archivo
las restricciones provienen de MotionLayout.
Cuando es negro, está definido en el conjunto
Lo que le mostraremos es
Viste esto movido en la superficie de
diseño y puedo hacer lo mismo en el canal de atributos.

Cambiaré
la restricción derivada a 0.1. Y una vez que lo haya hecho,
está definido, usando un sesgo vertical
vista de widget único. PONENTE:
en la superficie de diseño, puede hacer clic
un montón de controles, restringidos
a la Controles izquierdo y derecho y barra
funciona correctamente con un conjunto de
restringirá en ese conjunto
PONENTE: Y lo último que les
cambiando el fondo del droide
así que no es bonito, lo sé, pero
manipulamos diferentes atributos y nosotros
lo comprobamos por usted.

Tú puedo ver que cambiamos el color,
transición, interpola los colores
el poder de la herramienta y el diseño.
Entonces John preparó una demostración divertida para nosotros.
PONENTE: La semana pasada, Andrew
ConstraintLayoutConstraintLayout,
interesante, tiene dos conjuntos
y hay ciclos que se aislan entre
Puedes ver el primer ciclo
El siguiente es rebotar así en tamaño.
Pensé, ¿por qué no llevarlo al 11? Entonces
El mismo tipo de comportamiento, pero
nos volvemos locos con eso.
PONENTE: Ahora, veamos eso dentro del
Ves todos los ciclos que están produciendo
este bamboleo. El movimiento del bolígrafo está siendo
controlado por eso, y el siguiente.

Ciclo, y el siguiente ciclo que
luego el vuelo del otra vista. Entonces
Y en el modo plano, puedes ver
las rutas de los objetos y lo que estás haciendo con todos ellos.
forma poderosa de ver tus diseños
últimos días, esta semana. Y
muy capaz de hacer diseños de animación
complejos en muy poco tiempo. Ojalá no te dejes llevar
solicitud. Y
¿afuera?
bien, gracias juan. [Aplausos].
PONENTE: Entonces, como puede ver,
hay muchas de las muchas cosas en las que estamos trabajando
que los pruebes. Por
va a ser una iteración. Vamos
a mejorarlos, mucho. de ideas como puedas imaginar. Pero
es una herramienta muy, muy poderosa.
vas a crear con él. Y como mencioné,
para que pruebes el refinamiento
4.0 está disponible hoy y 2.2
se lanzó hace dos años. Entonces, para tener en cuenta, con todas las diferentes
Estamos empezando a construir una
realmente funcionan bien juntos.

Si
geniales, y son realmente agradables.
Y tenga en cuenta que tiene todos estas otras cosas que te ayudarán
durante tu caminata. Y, para finalizar, busque el rastreador
Les prometo que arreglamos errores
hacer cosas también. Y como mencioné
Construimos herramientas que tengan valores
más fácil y eso es todo lo que podemos hacer,
Con eso, muchas gracias. Contamos con el
un poquito después. Puedes venir a visitarnos
estarán más que felices de responder sus
¡tú!
[Aplausos]. PONENTE: Hola, soy Nick Anthony y
Jetpack. PONENTE:
Gerente de programas en el equipo de
migrar a AndroidX. PONENTE:
¿Qué es AndroidX? Entonces, a mano alzada,
¿AndroidX?
¿Has oído hablar de Jetpack? A mano
la biblioteca de soporte? ¿Quién sabe
¿aquellos? Excelente.
Entonces, para aquellos de ustedes, capté la mayoría de ustedes, pero si necesitan
Ya sabes, Jetpack es el conjunto de bibliotecas,
herramientas y orientación.

Para ayudarles a ustedes, desarrolladores, a escribir aplicaciones
Piénselo en términos de mejores prácticas,
herramientas repetitivas y limitar tareas
complejas para que puedas hacer lo que te importa. Entonces, ¿cómo se relaciona
el nombre del paquete para todas las bibliotecas
Piense en AndroidX como el proyecto
versión y lanzamiento de las bibliotecas
para apoyar la biblioteca? Entonces,
si volvieras a I/O en 2018, estamos refactorizando las bibliotecas de soporte
Anunciamos AndroidX 1.0 y hablaremos
importante. Hablaremos de cuáles
La siguiente pregunta es ¿por qué debería
importante, ¿por qué estamos aquí?
Hay cuatro puntos que queremos Sacar un tema.

Una es que la biblioteca
última versión del espacio de nombres
espacio de nombres que ya no mantenemos.
Así que si quieres error correcciones o características que
biblioteca, debes ir y migrar
a AndroidX. Lo siguiente es que obtienes una mejor
Este es el razonamiento en el que hicimos
versiones estandarizadas e independientes,
así como la mejor denominación y estandarización – denominación
lanzamientos. Esto es lo que obtienes
de fábrica con AndroidX. Y lo tercero, las otras bibliotecas
Espacio de nombres de AndroidX. Así que
hay jugadores notables allí, como así como servicios de Google Play,
dos, y delicia SQL. Hablaremos
dependencias en tan solo un minuto.
Cabe señalar que todas las bibliotecas nuevas
Realmente estamos presionando por un espacio
de nombres para AndroidX.

Entonces algunos de Es posible que hayas oído hablar de cosas
X, estos están en el espacio de nombres
de AndroidX y la precursión es migrar a AndroidX. Ahora
que hablamos de lo que es Jetpack y AndroidX, hablaremos de
emigrar. Lo pasaré por alto para hablar
pasando por esta migración. PONENTE:
Gracias, Nick. Así que vamos adelante y hablemos de cómo queremos
migrar. Pero antes de hacerlo, aquí hay algunas
su producto para la migración para que pueda
experiencia. Primero,
Muchos de ustedes están usando control de
bueno. Y por si acaso, haz una copia de
la migración cambiará muchos de
los archivos de su proyecto. Y quiero que minimices el desarrollo
tiempo, y cubriremos esto más
Intente realizar estas migraciones en
una rama separada. y tu tienes un enfoque recomendado sobre cómo
pasos, y los exploraremos uno por
pasos 1 a 3, y Nick hablará sobre
los pasos 4 y 5. Primero, queremos actualizar la biblioteca
de soporte a la versión 28. Ahora, si tiene una versión anterior
digamos, 26 o 27, y tratando de hacer
a AndroidX, probablemente lo
porque no sólo necesitarás abordar
cambios, pero también la API
AndroidX.

Entonces
actualizar a la versión 28 y abordar
todos esos cambios de API y compila tu aplicación con 28.
salta a AndroidX. Y admite
1.0 son equivalentes binarios. Eso significa
cambios entre las dos versiones,
mismo. De esta manera, tendrás
un conjunto mínimo de cosas que Necesito arreglar entre migrar
de 28 a AndroidX. Y ahora que migraste tu aplicación
habilitar Jetafire. ¿Qué es
¿necesario? Entonces
sus dependencias de terceros a AndroidX,
El código de estas dependencias debe
ser compatible con el código que se usando AndroidX. Y Jettafire
Cambia el código fuente y tampoco
código.
Jettafire en tu aplicación. Agregas
archivos de propiedades, y aquí, usa AndroidX
permitir Jettafire y la configuración de AndroidX
estás completando automáticamente
bibliotecas, importará la versión
biblioteca, en lugar de la antigua versión
de la biblioteca de soporte. Entonces, continuando con el paso 3: una vez
actualice sus dependencias.
Las dependencias deben actualizarse
Aquí están las dependencias que
resaltar un ejemplo específico.

Y ahora,
Las aplicaciones muestreadas se llaman Plaid y utilizan
biblioteca. Queríamos usar Plaid
AndroidX, y cuando iniciamos la
encontré problemas de compilación y encontré
la versión de Glide que estábamos usando no dependía
Glide actualizado y la migración
apareció. Intente actualizar primero
antes de utilizar la migración.
biblioteca de generación, es posible que la CPU
La generación es compatible. Entonces,
Eso sucede si te saltas los pasos
que estás utilizando no es compatible
que está intentando incorporar la versión
biblioteca. Y además, si tienes un proyecto
migrado, es posible que obtenga
un error de clase duplicada donde están extrayendo el mismo código
AndroidX. Así que volvamos a Nick. para hablar sobre el paso
En este punto, hablaremos del código
a través de la biblioteca de soporte 28,
dependencias en orden, y a partir de
práctico migrar y leer X.

Así que
refactor, hay una X migratoria que
que funciona en una variedad de
Sin embargo, no todas las cosas
Arquitecturas que no pueden automatizarse.
con dos opciones aquí. Entonces estas
código fuente en sí, y una opción
y configurar, y hablaremos de ello en
Antes de ir allí, quiero agradecer
arriba, puedes ir a goo.gl/migrationscripts para los scripts
contribuciones.

Entonces, ¿qué tal
ese guión? Puedes ver que tenemos el mapeo de clases y el proyecto,
y lo que es efectivamente un comando gráfico seguido del
nombres de paquetes. Y cuando usas
fuerza. Es un script por lotes. Por
migraciones incorrectamente, así que
metodología. Y la otra opción,
vaya a desarrollador.Android.com, vaya a la
página de inicio de AndroidX, nosotros tener una biblioteca para los paquetes
mapeo con el mismo soporte para AndroidX,
caso por caso para que sepa qué es lo
punto, si de alguna manera lograste
haga que su proyecto se compile nuevamente y
roto En el camino, tienes un proyecto
AndroidX. Eso es asombroso. Pero primero
con el que se ha topado la comunidad. Lo
pasaré por alto para sumergirme en esos para que sepas ellos con anticipación. PONENTE:
Así que aquí hay algunas cuestiones. que podrías encontrarte para tu migración.
Entonces hay algunas cosas que no podemos automatizar. Sus archivos
requieren intervención manual. Lo
es su archivo build.Gradle antes de la
migración. notaremos que nosotros Usé el antiguo soporte.

Biblioteca y extraemos nuestra versión
en su sección separada. Ahora tenemos
RecyclerView con los nuevos
Los números de versión están en línea,
cambió. Entonces la herramienta no modifica
actualice esto manualmente como tal.
versiones del reciclador manualmente
esas variables vuelven a entrar. Así que
es algo a tener en cuenta. Próximo, la herramienta está habilitada para migrar
guiones. Si está utilizando estos y
también debes editarlos manualmente.
ralentizar el desarrollo o trabajar
ramas y hablaremos un poquito
más de esto. Porque tantos archivos necesitan cambiar, sugerimos
ralentizar o detener por completo
Gran petición: pedirle a todo un equipo
desarrollo, porque esto reducirá
sucederá. Si puedes tener una pareja
Dile a todos los demás que habrá un conflicto
sucederá en el futuro, infórmeles
Y también, intente realizar
Al realizar esta migración,
sobre los errores y cómo compilar su
pasando de nuevo. No intentes refactorizar
características durante este tiempo,
lo hace mucho más difícil.

Entonces, cuando ejecuta la herramienta de migración,
versión o una versión estable de la
la mayoría de los recibos. Y ahora
versión de biblioteca de la aplicación compat
que migra nuestra aplicación compatible
biblioteca. Y dependiendo de sus necesidades
proyecto, es posible que desee utilizar
Prefiero estable. Esto es
regrese y verifique la versión a
seleccione la versión que sea
adecuada a sus necesidades. Y puede encontrar más información sobre
tabla y lo cubriremos en la sección
de recursos. Entonces tenemos nuestra documentación
sitio web desarrollador.Android.com, tiene
Proyecto AndroidX, nuestra guía de
antigua biblioteca de soporte a las nuevas
Archivos CSV si desea programar la
migración. También escribimos un artículo
AndroidX en el proyecto de muestra
pasos que dimos, los problemas
problemas. Puedes encontrar esa alternativa goo.gl/plaid/AndroidX/migration. Y tenemos
donde podrás ver los temas en los que
herramienta de migración, o si lo desea,
puede crear un nuevo problema usando el botón en la parte superior izquierda de la página.

Así
al migrar su aplicación a
la conferencia en persona, pase
por el sandbox de Jetpack con cualquier duda, o cuéntanos tu
Muchas gracias. PONENTE: Gracias. [Aplausos].
[Aplausos]. PONENTE: Hola desde la sala de
Bienvenidos de nuevo a la sesión
transmisión en vivo. Soy Dan y esta es mi copresentadora
Haga preguntas a expertos que se hayan
preguntó en el chat en vivo.
Chris Banes y Fred Chung por el
Chris y Fred son defensores de los desarrolladores
Liderando la promoción en torno a los cambios en
como el modo oscuro. Por otro lado,
cambios y el alcance de los desarrolladores
chinos en general. Bienvenido, cris y Fred. PONENTE:
Ambos, ¿cuál es su característica
PONENTE: Voy a optar por la API
PONENTE: ¿Qué es eso? PONENTE:
dispositivos compatibles si hace demasiado calor
para decirle a la aplicación oye, tengo demasiado
cosas sobre mí.

Déjame calmarme. PONENTE:
desarrolladores.
característica de la tarifa de punto. Hemos
intentado conseguir esto durante años. Nosotros ir a un desarrollador y se lo quitarán. PONENTE:
¿El sistema de tema oscuro está habilitado?
color de las acciones de notificación
admite cambiar el fondo de la notificación
¿Vista remota automáticamente?
Es el mismo proceso que tienes para las vistas
normales. El tema tan oscuro es un cambio de configuración. Si utiliza
recursos, el sistema de recursos funcionará
notificaciones y todo debería funcionar.
diseño personalizado y notificaciones,
pero siempre que esté utilizando el calificador de recursos, todo debería
PONENTE: Excelente. Entonces, veamos.
pregunta.

Kenneth preguntó
seguridad en vivo y el aviso biométrico
poner más énfasis en convertirlo en el
proveedor de pulsaciones clave y que ¿Los OEM no interrumpen la
PONENTE: En general, estamos tratando
desempeño de proveedores clave de accidentes
funciones a la biblioteca de seguridad de
PONENTE: El chip de seguridad es
un gran punto de venta para nuestro dispositivo y sé que para muchos
centrarse en la privacidad y la seguridad.
PONENTE: Y obviamente estamos trabajando
OEM para hacer que ese suministro
PONENTE: Desde Twitter, esta es una
números, BJ pregunta: Hola, equipo de
el gesto áreas a los lados de
su carruseles? PONENTE:
usándolos. Permitimos las API de exclusión
para excluir partes de la zona de gestos
y su aplicación toma precedente.

Los carruseles tienden a ser
el contenido es. Si es el caso de uso principal
Si tiende a tener listas grandes, digamos
no está bien. Creemos que los usuarios se acostumbrarán
mientras que en el medio de la pantalla.
Los bordes reales para el El gesto hacia atrás tiene 24 diferencias de
Los usuarios se acostumbran.
eso en mi propio uso. ¿Qué tenemos a continuación?
Cuando Colin White pregunta Al implementar el modo oscuro, ¿cuál
¿Fondos gris oscuro versus fondos
PONENTE: Las pautas de materiales tienen
gris oscuro y eso se debe a que aún
ahorro de batería y un tema oscuro
pero no tienes la dureza que dan los fondos negros.

Las razones
El negro es el máximo ahorro de batería.
razón por la que lo hace. Las aplicaciones
Por eso utilizan un gris más
tiende a ser mejor visualmente.
preguntas sobre IMEI. Felipe pregunta cómo puedo obtener
10? PONENTE:
con seguro de smartphone quiere el
PONENTE: Empezamos a imponer restricciones
aplicaciones en general para recuperar lo
identificadores por razones de privacidad. Creo
depende depende del caso de uso.
rastrear usuarios activos diarios,
Para la instalación de la aplicación Cross Track,
puede utilizar la configuración segura SSAID.

Él está disponible en el marco.
PONENTE: Iba a preguntarle. ¿Puedes hablar más sobre por qué
PONENTE: Sí, sí. Como dije,
imponer estas restricciones es mejorar
No necesariamente queremos propietarios
o desarrolladores de aplicaciones. para obtener el identificador de
en gran medida no reajustable. Queríamos
los estándares de la industria móvil con diferentes
general han adoptado esta política. ALTAVOZ:
Notificación en primer plano para minimizar,
funcionando indefinidamente?
respuesta. Si quieren silenciar
esa es su elección y depende de ellos.
PONENTE: En algunos casos, diría que si
el desarrollador de la aplicación ha elegido agregar controles de usuario
el usuario en esos escenarios no podrá
servicios, por ejemplo. ALTAVOZ:
éste de aquí. La pregunta es ¿podría una nueva aplicación
de Android en los estilos? ¿Existe
¿Hacer que toda mi aplicación tenga un tema oscuro
PONENTE: Tenemos una variación día/noche.
compat tenemos esta característica.
Mire las API.

Tuvimos otro publicación de blog a lo largo de los años.
pregunta, ¿qué pasó con Bubbles?
PONENTE: No estábamos muy contentos de
Los términos de las aplicaciones blancas podrían
usarlo. Nos convertimos en desarrolladores opción y que permite que las aplicaciones
funcionando pero no estamos muy seguros
todavía. Puede que vuelva en la nueva versión,
seguro todavía. PONENTE: Antes de dejar a Chris y
Fred, si la gente quiere aprender más sobre cualquiera de estas características de
¿Adónde deberían ir? VOCERO:
Developer.Android.com/privacy. PONENTE:
Número de artículos en Medium.
PONENTE: Síganos esencialmente
PONENTE: Gracias a todos por acompañarnos
desde todo el mundo. para esta primera transmisión en vivo
mañana para otra edición de #AskAndroid
PONENTE: Para usted, gracias por que SDWROIN
enviándonos nuestras preguntas en Twitter
Suscríbete al canal de YouTube
para desarrolladores de Android si Quiero una inmersión más profunda.

VOCERO: Quizás no deberías aplaudir todavía
Chico romano. ALTAVOZ:
Matías. PONENTE:
vamos a hablar de los trucos
todo corre rápido. Así que comencemos.
PONENTE: Entonces, cuando se trabajaba
métricas de rendimiento que pensamos
que eran realmente útiles. Entonces, el primero es el recuento
y ciclo por instrucción. Entonces
Las métricas se deben a que son muy
no depende de la frecuencia del
programador, cuando ejecute su punto
resultados consistentes ejecución tras
un poco sobre el ciclo por
instrucción. Eso es muy bueno métrica para darle una idea de
la calidad del código. Entonces, por ejemplo, si el
digamos arriba dos o tres, su código
falla. Eso te da una idea de dónde
Mire dónde buscar en el código
encuentre la clase de perfilador para
contadores. Y en la diapositiva
bastante fácil, creas tu objeto
en la pila llamada inicio cuando ejecutas el código, coloreas
Veamos un par de cosas en filamento para mantenerlas
actuación. Así
Suena un poco contrario a la
entrada X porque impide que el
compilador haga cosas en optimizaciones, como vectorizar bucles,
Hará un mejor trabajo que si lo hiciera
usted.

Y por el lado de las cosas por hacer,
mantenga su código simple. Eso
código con una abstracción
El porcentaje del código debe ser la
para agregar el compilador en el sistema
haz un mejor trabajo al compilarlo. Utilice
matemáticas rápidas y restrinja, eso ayudará al compilador a vectorizar los bucles
palabra clave que le dice al compilador
se superponen, y necesita saberlo para
hacer un buen trabajo. Entonces ahora veremos un ejemplo
biblioteca. Entonces
transponer, transponemos un vector por
esta matriz. Y nos quedamos con uno componente del resultado, y como puede
bastante buen trabajo.

La operación de transposición
si nunca estuvo allí e incluso las métricas
las instrucciones necesarias para ese componente.
el código con ensamblaje en línea, o
el compilador no tendría más remedio
que conservar ese código y No podría haber leído semejantes mensajes.
Este es otro ejemplo tomado de nuestro algoritmo de eliminación
Está funcionando bastante bien, estamos
Y para cada revisión del hardware,
más rápido.
reloj, corre más rápido
ciclos.
es muy simple. Es un libro de
algoritmo. Tenemos un bucle que
llanuras, y comprobar si un avión
detrás de un avión en particular.
el compilador hace un buen trabajo al
que este código está escalando con una
PONENTE: Y esto puede ejecutarse dos veces más
3, porque la CPU en el píxel 4 tiene
Conversiones de puntos de referencia.
todo. PONENTE:
Ahora que tenemos la compilador, veremos cómo podemos ayudar
a la CPU. Entonces, ¿qué hace que el Los programas son lentos en dos categorías:
acceso a datos y sucursales. Entonces acceso a datos porque las memorias y
ramas, a medida que las CPU son más
rápidas, la tubería se hace más larga y una sucursal señorita es costoso.

Entonces, para abordar esto,
programas de una manera diferente. Así
que piensa en cómo tu prom: el programa
accede a los datos, a diferencia de los datos que componen
programación. Y entonces tenemos atributos
alternativos y una variedad de luces. Y una cosa de la que debes darte cuenta,
no necesitarás el atributos antiguos. Entonces,
No necesito la dirección ni el color.
Entonces, ¿qué significa eso? Entonces, lo que
compatible con caché y, además,
lo más probable es que evitar que el compilador
La estructura se hace más grande y
Estamos introduciendo relleno, lo que significa
que estamos desperdiciando memoria. Entonces no es realmente bueno. Entonces,
en su lugar es organizar los datos
a la derecha, donde tienes uno estructura que tiene todas las
convertirse en una matriz. Y eso, de hecho,
que tuvimos con la primera disposición
interesante, sin embargo, si miras la parte
La forma de acceder a un atributo
sobre los puntos del índice.

Pero
programador, no es una gran diferencia,
que puedes tener sugerencias, porque
señalar a. Y dicho esto, puede que
porque los punteros son malos de
Impacta en la presión del caché
de todos modos. Entonces puedes diseñar tus
API para que tomen un contenedor más un índice en lugar de un puntero o referencia,
Mata dos pájaros de un tiro
y mejora las cosas. Bien, entonces este es interesante.
Así que no seas perezoso. Cálculo tan perezoso que suele
productivo y vamos a ver
Entonces aquí tenemos, por ejemplo, un objeto
renderizable como una transformación. y tal vez queramos actualizar la transformación
necesario. Entonces revisaremos
revisamos la bandera para ver si está
sucia o no, si está sucia, nosotros Actualizaremos la bandera y luego usaremos
la transformación mundial y entonces finalmente puedo usarlo. Así
eso. Se
trata de todo es lo que es mal con eso. Entonces,
mayor uso de memoria. Nosotros,
Agregado, nuestra edición de idioma
Ya no puedo hacer subprocesos
Probablemente sea un error de caché garantizado,
garantizó una rama mal pronosticada,
tiempo. La sesión de victoria no
prueba, y tienes que volver a escribir el
poniendo las líneas de caché y no
no vale la pena.

Es importante
Si el cálculo es realmente útil,
útil, pero en la mayoría de los casos no
lo es. PONENTE: Entonces el primer código es
Es más fácil de leer y es contrario
a la intuición porque estamos pidiendo a la CPU que haga más trabajo, y es más rápido por la latencia
memoria y agregar algunas
PONENTE: Y hablando de ramas,
cada vez que se abre una rama mal previsto, cuesta 10 ciclos,
mente, podría ser más o menos.

Y
más bajo, aumentarán el IPC,
Entonces lo mejor que puedes hacer
PONENTE: Y cuando miramos 6al 4
para la prueba de este año, esa fue la cuenta de 20 instrucciones.
ejecutando 20 cálculos en flotadores
tiempo. PONENTE:
diferencia. Entonces el mismo código
a través de la condición y según
los efectos sobre eso. Y entonces,
Se garantiza que se predecirá erróneamente,
Además de eso, porque la proporción
realmente alto, este también es un
malo. Entonces, ¿cómo podemos reescribir
esto, siempre escribes el resultado,
el puntero según la condición.
Y aunque en el código todavía
y las ramas en realidad van a desaparecer
es capaz de convertir esas ramas
código sin sucursales.
se — y así sucesivamente en esta versión,
el ciclo por instrucción del El código en ese bucle será mucho
menor.

Y ese es un ejemplo de lo mismo,
este es el código que vi antes. Y puedes ver en la
línea resaltada, no estamos usando ramas para ordenar esto, o decidir
no, pero acumularemos el resultado
operaciones booleanas, pero no intentamos
bucle. Escribí el vector para todo
La rama booleana es una operación
vectorizado. Así correremos mucho más rápido.
Ahora, veamos cómo podemos ayudar
PONENTE: Entonces, para ayudar a la GPU,
se utilizan para flotar y doblar, C, C++, Java, etc. Y 32 o 62 bits,
En todas las GPU actuales, utilizan
son increíbles porque puedes ejecutar
en medias cargas como cargas regulares.

Entonces
o usarás menos en segundo
plano. Entonces, en el sombreador en GL, tenemos
Flotante de 32 bits. Entonces el código
Lo que hace es un montón de matemáticas
en la GPU no nombraré cuando hagas campos
cambias la pieza alta a media,
usamos flotantes de 16 bits y 8 ciclos para ir el doble de rápido. Y
los medios ciclos pueden ser difíciles Para usar y entender por qué, veremos cómo
funcionan los flotadores. Entonces Usaremos flotantes de 16 bits que funcionan
Bueno. Entonces tenemos un bit que
negativo, y tenemos los 5 bits el
exponente de la magnitud de el flotador, y luego tenemos los
tamaño significativo de la precisión
la forma en que usamos los bits es
veremos un par de ejemplos.
El número más pequeño posible distinto
de cero que podemos incluir.

Con medios flotadores, usando este
fórmula, es 0.0000006. Cualquier
varado a 0. No puedes poner un
lógica. Entonces
no tan pequeño, sólo 5 números después
del cero. Y el mayor número que podemos incluir
en medias cargas es 605.004. Entonces el
Pequeño, y el más grande no es
trabajo, tenemos 10 bits de
potencia de 10 es 2024. Entonces tenemos
y 2, tenemos 1.000 valores, y
TOURP – cinco.000 valores y así sucesivamente.
Más preitación, porque tienes
valores. Cuando
malo porque solo tienes 1024 valores.
tienes un flotador que está entre
Si tiene 1.000 valores, la precisión desaparece
El valor por el que puede incrementar es uno.
renderizador y tu unidad para el
kilómetro de distancia del origen, la
metro.

Si intentas mover el objeto,
tiempo. O si el objeto mide
No puedo renderizarlo en absoluto. Así
Tú cómo sucede esto. Entonces estás
teórico del mundo, 0000, tiene una pinta
estupenda. Entonces si mueves el cámara a mil kilómetros de distancia,
el mismo objeto parece este. Y lo que estás viendo es la
irse. No hemos cambiado nada, sólo hemos
movido la cámara.

Esta es una escena compleja, el
Genial, cuando nos alejamos,
irreconocible. Entonces hay cosas
que podemos hacer con filamento, Volvemos a centrar todo alrededor de la
000. Pero quiero mostrarte otros trucos
que utilizamos. Así que esto es Tomado directamente del filamento, no
Reaccione para comprender el código,
Hay un documento que explica por
ecuación, si miras la línea
anterior a la última, dice que B2 es igual a D2 dividido por D2.
es muy pequeño, es divisible por
cero. Y ahora a veces puede hacer las cosas
otro fragmento de código, subimos
eso es bastante aleatorio. Cuando miramos
que en alguna parte hacemos una división
potencia de cuatro. Y eso significa
medias cargas es la que vimos antes,
de cuatro, es mayor que el valor
de 0.

Así que necesitamos hacer cálculos para cifra afuera.
motor de iluminación, tenemos la
intensidad de la luz, la exposición, qué tan claras deben
cálculo de iluminación. Y usamos
lo que significa el sol en
es 100.000 lux, y eso es demasiado para
el valor es $65 ,000. La exposición es menor que
el valor mínimo. Tenemos valores demasiado grandes y demasiado pequeños.
Entonces podemos hacer los cálculos en 32 bits en la GPU, eso es caro, así que movemos
CPU, por lo que una vez por cuadro, multiplicaremos
juntos y una vez que los multivolamos,
el resultado es tres. Eso queda bien en medias cargas y luego
la GPU. Y se nos acaba el tiempo.
Eso fue todo, gracias.

todos. [Aplausos].
.

As found on YouTube