droidcon APAC 2020
| title | author | length |
|---|---|---|
| Understanding Navigator 2.0 in Flutter | Dominik Roszkowski | 42m |
Navigator 2.0 introduces a declarative pages list (immutable, rebuild to change) and a Router-backed workflow that syncs URL and back-button events with app… | ||
| A practical guide to version control for mobile developersr | Paul Ardeleanu | 18m |
Overview of concrete version control practices for mobile teams: traces history from CVS/Subversion to Git and Mercurial, shows Android Studio’s Git UI and… | ||
| Oreo_06_Abhishesh Srivastava | Abhishesh Srivastava | 16m |
Shows how RecyclerView’s ConcatAdapter (introduced as MergeAdapter in RecyclerView 1.2.0‑alpha) composes multiple adapters sequentially so each list stays… | ||
| Code Review, A Software Engineer's Best Friend | Goce Anastasovski | 42m |
Code reviews catch bugs early and teach junior engineers while enforcing standards; practices include pulling branches locally, running IDE warnings in Android… | ||
| Kotlin Multiplatform in Action: more than 10 projects for iOS and Android with Shared code | Alexandr Pogrebnyak | 45m |
Claims a 2.5 year practical run with Kotlin Multiplatform and 10+ projects in production where a reusable open source suite called Moco cuts feature… | ||
| Practical Android CI/CD with GitHub Actions and Kotlin script | David Vávra | 42m |
Pipeline uses GitHub Actions with Kotlin scripts, running on a self-hosted macOS runner for fast Android emulator tests; it runs build, unit, lint and Facebook… | ||
| Remote is here. Now what? | Marco Gomiero, Gian Segato | 40m |
Uniwhere goes remote-first for 2+ years and builds Rivelop, an email client now recruiting testers; the team spans four time zones. Claims: synchronous work… | ||
| Reverse engineer your Manager | Nemo Oudeis | 45m |
Concrete plan to get promoted by reverse engineering your manager: identify preferred work style and motivators, document them, and tell the manager; act as… | ||
| A Tale of Two Threading Models | Alexander Stigsen | 49m |
Compares two concrete threading patterns — copy-on-write immutable objects (persistent data structures, streams) versus transactional objects that expose… | ||
| A/B Testing Android Apps with Firebase | Rosario Fernandez | 27m |
Explains how to run A/B experiments using Firebase Remote Config to swap key/value parameters, log events like sign_up_started and sign_up_finished to Google… | ||
| Managing Multi-Module Project with Gradle Plugin and Kotlin | Malvin Sutanto | 33m |
Lays out a concrete recipe: create a buildSrc binary plugin in Kotlin, register it in build.gradle.kts, and apply it across modules to replace duplicated… | ||
| A Multiplatform Adventure! | Carlos Mota | 01h 32m |
Workshop shows a step-by-step KMM build that produces a working Android and iOS app sharing business logic while keeping native UI. It uses Kotlin… | ||
| Developing Dual Screen Experiences | Cesar Valiente, Bianca Miron | 01h 27m |
Live coding shows a single‑screen Android app turned into a dual‑screen Surface Duo app that actually works: starts from a GitHub branch called starting point… | ||
| Navigation Components and where to find them | Piyush Maheshwari | 18m |
Covers Jetpack Navigation Component setup and a working demo: XML nav graph, NavHostFragment and NavController wiring, actions with enter/exit and pop… | ||
| Introduction and deep dive into dual screen foldables app development. | Bianca Miron, Joy Liu | 36m |
Surface Duo launches in H2 2020 and runs Android 10; code samples and a beta open‑source SDK live on GitHub and an emulator. The session shows concrete APIs… | ||
| DataStore Preferences and migrating from SharedPreferences | Hitesh Das | 27m |
Jetpack DataStore replaces heavy SharedPreferences use by offering Preferences DataStore for key‑value pairs and Proto DataStore for strongly typed protobuf… | ||
| Unit testing made easy with MockK | Monika Kumar Jethani | 39m |
Mocks Kotlin objects, extension and top-level functions, private and static methods, constructors, varargs and enums, and verifies call order and counts; uses… | ||
| Thinking like an Attacker: Introduction to Threat Modeling | Sean Smith | 28m |
Walks through building an L0 then an L1 data-flow diagram for a fictional game showing where users, front-end, backend and databases connect, adds STRIDE to… | ||
| Demystifying Low Latency Audio on Android | Nishant Srivastava | 40m |
Android historically ships high audio latency (400+ ms on old devices) but modern flagships hit ~15–20 ms; professional-grade round-trip is <10 ms… | ||
| TDD in Android with Spek | Rivu Chakraborty | 30m |
Shows how to set up Spek DSL on Android (requires JUnit 5 and a dev Maven for Spek 2.1.0), then practices TDD by writing unit tests first for an… | ||
| Writing performant layouts | Bhavya Fueled | 23m |
Explains how Android rendering hits a 60fps budget of 16ms per frame and shows a case where traversal takes ~19ms, causing jank, then uses Layout Inspector… | ||
| Effective DI for Multi Module Project | Adit Lal | 44m |
Gojek moved a monolithic Android codebase into a 150+ module multimodule repo (20+ product teams) using Dagger2 components and explicit feature scope… | ||
| Superpower your Android apps with ML: Android 11 | Rishit Dagli | 39m |
Shows how to import a TFLite model into Android Studio, instantiate the generated class, and run inferences with three lines of code using the Model Binding… | ||
| Transition to Modular Architecture | Vidhi Thakrar, Sowmya Viswanathan | 43m |
Migrating a large Android monolith to a feature-based, three-layer setup (library modules, independent feature modules, app container) reduces CI and local… | ||
| Materialising a Design System with Material Design Components | Jamie Samson | 37m |
Trade Me builds a shared mobile design system called Tangram on Material Design Components (MDC 1.1), implementing a single Tangram shared theme module used by… | ||
| Explore the future of Android UI with Jetpack Compose | Gurpreet Singh | 40m |
Claims that Jetpack Compose cuts boilerplate and speeds Android UI development by replacing custom View hierarchies with declarative composables, uses… | ||
| Identifying Advertising Fraud and Abuse | Arthur Kaiser | 26m |
Identifies three high‑impact fraud patterns and concrete detection signals: INSTALL_REFERRER broadcast abuse causes install attribution fraud — replace with… | ||
| How to Win Bugs & Influence Hackers | Adam Beck | 27m |
Explains how a vulnerability disclosure program actually works: set up asset inventories and scheduled vulnerability scans, use standardized vulnerability… | ||
| Adapting Your Apps for Android 11 Privacy Changes | Fred Chung | 31m |
Covers concrete Android 11 changes: one-time permissions for camera microphone and location with separate foreground/background requests and guidance to… | ||
| Writing Kotlin Compiler Plugins with Arrow Meta | Mohit Sarveiya | 41m |
Arrow Meta provides a functional API that hooks into parsing (AST), analysis (type checking), and IR phases to build real compiler and IDE plugins. Examples… | ||
| Add Voice & Video Call features to your app | Jason Koo | 42m |
Adds native voice and video to an Android app using Sendbird’s Calls SDK with a starter repo (one UI-only, one with Calls added), requiring initialize with app… | ||
| Making your Espresso sweeter | Daniel McClelland | 22m |
Explains a concrete rework: raw Espresso tests with 37 lines and many imports get refactored into Page Object pattern page classes, then a shared harness… | ||
| Get Ready to Duck: Coroutines with an Air Cannon | Nick Dipatri | 42m |
Live code shows Kotlin coroutines controlling an IoT ping‑pong air cannon that connects via the Particle microcontroller and the Particle cloud, using Retrofit… | ||
| Fueled Reactive apps with Asynchronous Flow and StateFlow to sync with the UI | Raul Hernandez Lopez | 51m |
Shows step‑by‑step migration from RxJava to Kotlin coroutines, Flow and StateFlow using Retrofit/OkHttp, Room and kotlinx‑coroutines with rxinterop so Java and… | ||
| Why do we need Clean Architecture? | Igor Wojda | 40m |
Argues that applying Clean Architecture to Android (Jetpack ViewModel, Kotlin coroutines, Room, Retrofit/Volley, Dagger) isolates business rules so the domain… | ||
| Modular architecture inspired | Event Sourcing, Actors | 44m |
Proposes a concrete modular pattern: actors hold private mutable state and communicate over a MutableSharedFlow app-wide event bus, replacing Rx with Kotlin… | ||
| Jetpack Benchmark : Jetpack Component which help you Benchmark your Android AppPie_06_Javent Lienata | Javent Lienata | 39m |
Jetpack Benchmark runs instrumentation tests to measure real Android performance, with BenchmarkRule.measureRepeated, JSON output, and CI scripts that start a… | ||
| Android Performance for Dummies (and Experts) | Babita Lalwani | 40m |
Conference claims: the SDK behind 8,000+ apps and platform work reaching 100M users; Android Vitals, Android Studio profilers, APK Analyzer, Firebase… | ||
| Dive into MVU for Flutter | Khang Toh | 45m |
Explains how the Elm Architecture maps to Flutter by wiring a counter demo: a concrete Program with an init → Model, a dispatched Increment message, a pure… | ||
| Integrating Google Assistant for Continuous Integration (CI) | Karan Balkar | 16m |
Shows a working voice interface that connects Dialogflow to CI so Google Assistant can list job status, trigger builds and return results via REST calls… | ||
| Keynote: Modern Android Development | Chet Haase, Romain Guy | 01h 20m |
Summary gives concrete takeaways: Android moves Kotlin-first with 60% of pro devs using it and 70% of top apps containing Kotlin, and the team declares… | ||
| Welcome Address | GREG FAWSON | 12m |
Organizers describe a pivot to virtual with a twice‑monthly webinar series across Jetpack, Advanced Kotlin, multiplatform, and CI/CD/testing, running 14… | ||
| The D-KMP architecture: Declarative UIs + Kotlin MultiPlatform + MVI pattern | Daniele Baroncelli | 44m |
Claims that a Kotlin Multiplatform core holds 85% shared business logic while UI stays platform specific (JetpackCompose, SwiftUI, Kotlin/React) so only ~15%… | ||
| Declarative UI ❤️ Kotlin Multiplatform! | John O'Reilly | 36m |
Live-codes a working Android and iOS app that shares networking, JSON parsing and persistence so one Kotlin module powers both UIs; uses Kotlin Multiplatform… | ||
| Reverse and Inject | Merab Tato Kutalia | 41m |
Shows concrete toolkit and two live demos: using APKTool and JEX for decompiling and JADX/JD GUI to inspect minified code, Ghidra/IDA for .so disassembly, and… | ||
| Tales of a Mobile DevOps | Nicola Corti | 41m |
Argues that mobile DevOps starts with a blameless culture and a platform team that shepherds not gatekeeps, then lays out five concrete phases—code, merge… | ||
| Building a better codebase with Lint | Subhrajyoti Sen | 35m |
Shows how to build a custom lint rule module that registers an IssueRegistry, implements a resource XML detector that flags a V1→V2 style detector (uses… | ||
| Reactive App Orchestration with StateFlow | Harry Timothy | 27m |
Introduces StateFlow as a Coroutines-backed replacement for ConflatedBroadcastChannel and a migration target from LiveData with a few lines of code… | ||
| Google's Play Billing Library 3 is out - is everything new and different again? | Kai Koenig | 39m |
Google Play Billing Library 3 requires concrete changes: acknowledge purchases within 72 hours or Google auto-refunds, consume consumables with consumeAsync… | ||
| Android Complexity | Martin Braun | 22m |
A practical checklist that lists concrete Android pitfalls and fixes: fix tap targets and accessibility errors, use plural resources for localization, support… | ||
| No Play Services? No worries! | Julian Salvi | 37m |
Explains concrete swaps: Firebase Firestore, Auth and Crashlytics work without Play Services but FCM, ads and some ML do not, so replace push with Pushy… | ||
| Fake it till you make it - effective use of test doubles | Jarosław Michalik | 35m |
Describes concrete unit testing patterns for Android: use stubs, fakes, mocks and dummies to isolate a splash presenter with dependencies (router, view, use… | ||
| FloorPlan: Visualize databases' evolution | Julio Zynger | 47m |
Grounded claim: an open source Kotlin library automates turning SQLite/Room and SQLDelight schemas into readable ER diagrams and diffs, integrated as a Gradle… | ||
| Design Thinking for Developers: Think out-of-the-box | Bapusaheb Patil | 36m |
Argues that developers should adopt a human‑centric, empathy‑driven process with five concrete phases — empathize, define, ideate, prototype, test — using… | ||
| Designing Offline Applications for the Enterprise | Guoping Zhang, Swee Hu, Raman Sethi, Bruce Meng | 45m |
SAP mobile service plus Android SDK implements an OData-based offline sync that downloads an initial dataset, applies delta download via server or middleware… | ||
| Fiori Design: The Intersection of Material Design & the Enterprise | Mark Fogel | 40m |
SAP extends Material Design into enterprise UIs by shipping a Cloud Platform Mobile Services backend plus the Cloud Platform SDK for Android with an Android… | ||
| Property-based testing in Android - are we testing like it's 1999? | David Rawson | 34m |
Argues that property-based testing catches faults value tests miss, demonstrating on a simple myMax function where Kotest (formerly KotlinTest) generators find… | ||
| Demystifying the Play In-App Review API | Marcel Pintó Biescas | 19m |
Explains how to integrate the Play In‑App Review API using the Play Core library: create a ReviewManager factory with app context, preload by requesting… | ||
| Ask Googlers about Jetpack | Nick Butcher | 51m |
Roundtable answers map concrete plans and tradeoffs: Jetpack Compose stays min SDK 21, targets 1.0 next year with beta first while accessibility and a… | ||
| Embracing Productivity Engineering in Android | Roger Taracha | 39m |
A concrete case study showing a trial install on GCP of Gradle Enterprise with build scans, the Gradle Doctor plugin, local and remote build cache plus cache… | ||
| Navigation in multi-module projects, and the problem with AndroidX Navigation | Isaac Udy | 42m |
AndroidX Navigation works but breaks down in true multi‑module apps because destinations (fragments) own their input contracts, forcing workarounds. The video… | ||
| Compose your next app | Himanshu Singh, Niharika Arora | 44m |
Live demo of Jetpack Compose alpha07 that explains how to build real UI not just theory showing a working custom widget set, integration with ViewModel and… | ||
| State management in flutter using Mobx | Bhargav Makwana | 33m |
Shows concrete use of MobX with Flutter: uses mobx and mobx_codegen plus build_runner, generates .g.dart stores and reduces boilerplate, and uses Provider to… | ||
| Jetpack Compose for Games & Animations | Wajahat Karim | 37m |
Shows that Jetpack Compose’s Canvas and animation APIs run real animations and simple games: uses animateContentSize modifier for size changes, the… | ||
| nothing matches | ||