“Make your app work perfectly offl…” — Connection Interrupted
summary
Claim: treat network as bonus and make offline-first default. Architecture: local database as single source of truth, repository returns LocalResult states (present / obsolete / not found), per-item TTL per object (example: 15 days for profiles, 1 hour for polls). Implementation uses Kotlin + Rx observables, local/remote source separation, RecyclerView scroll listener for pagination, and scheduled sync via JobScheduler / WorkManager (handle 404/410 to delete). Example: unsent Instagram comment saved locally with sync status and later successfully uploaded.
AI-written summary · about
chapters (9)
- 0:00Intro
- 1:00Why does this happen
- 8:30Architecture
- 10:46Code
- 18:23List pagination
- 21:52Delayed deleted items
- 24:17Scheduling jobs
- 27:37Conclusion
- 31:02Questions
related talks
06mCreate offline-first apps
23mDesigning for Disconnection- The Mental Model of Offline Apps
38m"Offline" is not an error
37mIdemnity in the Data Layer
42mAndroid Application Architecture
38mThe real case of offline-first app: Farmer App…
25mNo Internet? No Problem!
39mOffline Applications With Architecture Components, Retrofit, Room, Dagger, RxJava
