Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Caching data in a connected world - VADG
Search
Iván Martín
March 23, 2017
Programming
0
160
Caching data in a connected world - VADG
Iván Martín
March 23, 2017
Tweet
Share
Other Decks in Programming
See All in Programming
並行開発のためのコードレビュー
miyukiw
0
280
AI時代の認知負荷との向き合い方
optfit
0
160
CSC307 Lecture 04
javiergs
PRO
0
660
Lambda のコードストレージ容量に気をつけましょう
tattwan718
0
140
Smart Handoff/Pickup ガイド - Claude Code セッション管理
yukiigarashi
0
140
【卒業研究】会話ログ分析によるユーザーごとの関心に応じた話題提案手法
momok47
0
200
CSC307 Lecture 10
javiergs
PRO
1
660
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
590
React 19でつくる「気持ちいいUI」- 楽観的UIのすすめ
himorishige
11
7.4k
例外処理とどう使い分ける?Result型を使ったエラー設計 #burikaigi
kajitack
16
6.1k
ノイジーネイバー問題を解決する 公平なキューイング
occhi
0
110
Architectural Extensions
denyspoltorak
0
290
Featured
See All Featured
Statistics for Hackers
jakevdp
799
230k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
110
Agile that works and the tools we love
rasmusluckow
331
21k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.1k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
250
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
410
Git: the NoSQL Database
bkeepers
PRO
432
66k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.6k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
780
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
430
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
54
Transcript
Caching data in a connected world Iván José Martín García
Github: seik Twitter: @seikv
Problema
Problema
Problema
Problema Vivimos en un mundo conectado.
Dependencias
RxJava
<Observable> •Clase principal en la programación reactiva. • Trabaja sobre
un “flujo de datos”. • .subscribeOn() • .observeOn() • Transformaciones.
Realm • Persistir datos de una forma simple. • Muy
fácil de implementar/mantener. • Rápido, muy rápido.
Realm A tener en cuenta
Realm Evaluación perezosa.
Realm Not thread safe.
Realm Object (Necesarios getters y setters)
Guardar datos 1. Obtenemos una instancia de Realm 2. Ejecutamos
una transacción donde guardamos nuestros datos. 3. Cerramos la instancia de realm si no la vamos a usar más.
Obtener datos 1. Obtenemos una instancia de Realm 2. Ejecutamos
una query. 3. Cerramos la instancia de realm si no la vamos a usar más.
Remote API Representación Local Repository
Local 1. Query. 2. Devolvemos el usuario como observable, si
no existe devolvemos un observable vacío.
Remote Llamamos al servicio y por cada item ejecutamos nuestra
función de guardado.
Repository 1. Nos suscribimos en el main thread. 2. Observamos
los cambios en el main thread.
Repository 1. Nos suscribimos en background. 2. Observamos los cambios
en el main thread.
Repository Concatenamos ambos Observables
Representación Manejamos los datos y mostramos un aviso si no
se ha podido mostrar información actualizada.
Representación Nos desuscribimos.
Demo
Demo
Demo https://github.com/Seik/vadg-caching-data
¡Muchas gracias!