The making of an Android library: Download Manager v2
summary
Novoda refactors the original Download Manager into a reusable Android library that replaced SQL with Room and exposes a cleaner API for batching so apps can batch downloads with one notification, pick internal external or microSD storage, and apply fine-grained rules about network and storage. The project ships a small demo app, uses CI and Espresso tests, and automates releases; artifacts publish to JCenter via a Gradle Bintray upload plugin so clients can depend on versions and snapshots.
AI-written summary · about
chapters (19)
- 0:00Intro
- 1:09Why?
- 3:42Extract library code
- 5:16Dedicated project
- 5:32Libraries repository
- 6:01Fork existing library
- 7:19Novoda's Download Manager V2
- 11:24Defaults
- 13:54Demo app
- 16:13Open-source
- 16:45Clear readme
- 17:45Contributions
- 19:15Issues template
- 20:30Continuous Integration
- 25:03Semantic versioning
- 27:03Standard release flow
- 28:38Composite builds
- 30:11Automated release
- 31:29Conclusions
related talks
29mDon't reinvent the wheel, use libraries: Modern Android Stack
26mArchitecting Your Android Library
47mThe definitive guide to Android library development
27mLive Coding: Let’s Build an Android Library
37mAndroid Librarian's Guide: Building Robust Libraries a…
44mBuilding and Publishing Android Libraries the Missing Guide
32mAndroid at Scale @Square
31mMobile Library Development
