Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Paging 3

Paging 3

En esta charla revisaremos el contexto bajo el que nació paging, que problemas soluciona y como podemos adoptar este framework en nuestras aplicaciones.

Manuela Flores

August 19, 2020
Tweet

Other Decks in Programming

Transcript

  1. El ABC de Paging 3 Manuela Flores @manuflowers_ ManuelaFlores

  2. Sobre mi Para que me conozcan un poco más :)

    • Egresada de Laboratoria. • Android Developer en Lumingo. ‍ • Kotlin lover desde que nací como Android Dev . • Me encanta el aprendizaje continuo.‍
  3. LATAM Listas Everywhere ¿Cuál es el contexto?

  4. LATAM

  5. LATAM ¿De cuántas maneras podemos construir una lista?

  6. LATAM ListView RecyclerView ListAdapter Muchas… ✨

  7. LATAM

  8. LATAM Repository Database ViewModel [...] LiveData<List<T>> Observable<List<T>>

  9. ListAdapter La vida sin Paging • Toma listas inmutable. •

    Provee actualizaciones animadas. • Actualiza diferencias en segundo plano.
  10. Entonces ¿Cúal sería el problema? Database

  11. LATAM

  12. None
  13. • Comodidad. • Queremos manejar capas(ui, db, repository). • Mejor

    Performance. • Ser conscientes del ciclo de vida de los componentes. • Flexibles. ¿Qué estamos buscando? ‍♀
  14. LATAM Paging viene al rescate Paging 2 fue anunciado en

    el GoogleIO del 2018, sin embargo nosotros necesitábamos más mejoras.
  15. • Está reescrita totalmente con corrutinas. • Registro correcto de

    las ‘keys’ para recuperar datos. • Pide la cantidad necesaria de datos. ¿Qué trae Paging 3?
  16. • Asegura que no se activen varias solicitudes al mismo

    tiempo. • Simplifica el almacenamiento en caché. • Rastrea los estados de carga. • Permite operaciones comunes(Ej: map, filter). ¿Qué trae Paging 3?
  17. LATAM ¿Cómo adoptar Paging 3 en tus aplicaciones?

  18. LATAM Repository ViewModel UI Paging Source Remote Mediator Pager Flow<PagingData>

    PagingDataAdapter Veamos
  19. LATAM Repository Paging Source Remote Mediator Repositorio

  20. LATAM Llegó el momento de mostrar mi demo Repositorio en

    Github
  21. LATAM

  22. PagingSource

  23. Network + Database • Pueden existir peticiones fallidas. • Los

    datos guardados en la base de datos no se usan incluso si están presentes.
  24. LATAM La base de datos es la única fuente de

    la verdad para la UI
  25. 1. Room PagingSource

  26. 2. RemoteMediator

  27. LATAM ViewModel Pager Flow<PagingData> ViewModel

  28. 1. Pager

  29. LATAM UI PagingDataAdapter UI

  30. 1. PagingDataAdapter

  31. 1. Activity

  32. LATAM Paging trae mucho más • List transformations. • Soporte

    para operaciones comunes en la UI, como headers, footers, estados de carga. • ¡Denle un intento! :D
  33. LATAM ¡Recursos para aprender Paging! • Paging Codelab. • Paging

    Blog. • Documentación Oficial. • Repositorio en Github.
  34. LATAM Referencias • Manage Infinite lists with RecyclerView and Paging

    (Google I/O ‘18). • Dutch Android Summer Season. • List Adapter
  35. Sobre esta charla ¿Qué aprendimos hoy? • El contexto de

    Paging. • ¿Qué trae Paging 3? • Cómo adoptar Paging 3 en tus aplicaciones. • Cómo serían las cosas sin Paging
  36. LATAM ¿Preguntas?

  37. LATAM Manuela Flores @manuflowers_ ManuelaFlores ¡Gracias!