DroidKaigi 2018
as the organisers put it
DroidKaigi is a developer-first Android conference. Our objectives are to help Android developers to share knowledge about Android development and connect with other Android developers. The conference will be held on 8th - 9th February 2018.
who it's for
android developers, kotlin developers, android framework engineers, mobile library authors, tooling and build engineers, qa and test engineers
topics
viewgroup layout internals; constraintlayout linear system solver; dagger2 for android sdk dependencies; logging and analytics with BigQuery; Embeddinator .NET to Android interop; Apollo Android GraphQL client; network_security_config and certificate pinning; sensor replay for activity recognition; gRPC with Protocol Buffers on Android; notification channels and compatibility; kotlin bytecode and jvm interop; gradle plugin development
| title | author | length |
|---|---|---|
| In‑Depth: ViewGroup Layout Internal Implementation | Hiroyuki Seto | 30m |
Explains Android view measurement and layout internals: ViewGroup dispatches measure→layout top-down. FrameLayout re-measures children with EXACT specs if the… | ||
| Using Dagger2 to Keep Android SDK Dependencies Clean | kr9ly | 27m |
Practical guide to using Dagger 2 to move Android SDK dependencies (Context, FragmentManager, Intents, transitions) out of app logic into the… | ||
| What You Need for Logging and Log Analysis to Grow Your App | Takao Sumitomo | 49m |
How to collect and analyze app logs to drive product growth: implementing reliable trackers in the app to avoid missing, duplicated or conflicting events… | ||
| Using .NET Code from Android Studio with Embeddinator-4000 | atsushieno | 51m |
Embeddinator-4000 takes a C# library and produces C and Java bindings, creating a native .so and an .aar that can be added to an Android Studio Gradle project… | ||
| Welcome to the Wonderful World of GraphQL | gfx | 31m |
An introduction to GraphQL for Android covering basics, common pitfalls, and tooling. Discusses using GraphiQL for live queries and docs, Relay-style… | ||
| From HTTPS Basics to Network Security Configuration | Amane Nikaido | 26m |
Covers Android N+ network_security_config features for HTTPS: how apps can restrict trusted CAs, set per-domain cleartext rules, and implement certificate… | ||
| Dissecting ActivityRecognition with Multi-Sensor Simulation and Its Practical Deployment | KAKKA | 27m |
Analysis of Android ActivityRecognition showing it relies mainly on accelerometer (and sometimes gyroscope) data; the method records device sensor logs then… | ||
| A Different Kind of Networking with gRPC and Protocol Buffers | kmats | 46m |
An Android team replaced REST+JSON with gRPC and Protocol Buffers (proto3) using HTTP/2 and bidirectional streaming for a robo-advisor backend. They generate… | ||
| The History of Notifications Every Developer Should Know | kobakei | 31m |
A timeline of Android notification APIs from Ice Cream Sandwich through Oreo, noting actions and styles in Android 4.1, Material layout and heads‑up in… | ||
| Kotlin Backstage | Mitchell Tilbrook | 27m |
Digging into Kotlin-generated bytecode shows exact tradeoffs: string interpolation becomes a single StringBuilder, extension functions compile to static… | ||
| Surviving a discontinuous world | hydrakecat | 30m |
Android UI failures stem from concrete discontinuities: background tasks returning to an Activity that was rotated, destroyed, or whose process was killed… | ||
| Why React Native Android Works | nkzn | 50m |
Explains how React Native runs on Android by embedding JavaScriptCore on a dedicated JS thread via ReactInstanceManager and CatalystInstance, using… | ||
| Building Apps with Downloadable Fonts and EmojiCompat from the Support Library | takahirom | 26m |
How to add Downloadable Fonts and EmojiCompat to Android apps: use Support Library 26 to run Downloadable Fonts back to Android 4.0 and obtain fonts via Google… | ||
| Running a Design Sprint on Android | mochico | 27m |
Describes running a Google-style five-step design sprint (Understand–Diverge–Decide–Prototype–Test) compressed into one day for Android work, using practical… | ||
| Authentication, Authorization, and You... | ken5scal | 52m |
How to build secure, user-friendly Android apps using modern authentication and authorization technologies: Firebase Authentication, SMS Retriever, Smart Lock… | ||
| Implementing Multi-Login | yuyakaido | 29m |
Shows how to implement multi-account login by scoping repositories, Retrofit clients, and preference storage to each account so switching never leaks or… | ||
| How to Shorten UI Test Run Times | tarappo | 29m |
This talk compares slow Android UI tests (Espresso) to faster unit tests and shows how parallel sharding with Spoon across devices (via STF/Jenkins) cut… | ||
| Introducing Instant Apps into an Existing App | a.akira | 29m |
Introduces Android Instant Apps, explains the 4MB APK size constraint, and shows how to adapt an existing app for Instant Apps by redesigning modules and… | ||
| How Android Rendering Works ... | Romain Guy, Chet Haase | 51m |
Explains the full Android rendering pipeline from VSYNC (60Hz, 16.66ms) through display lists to the render thread and GPU, showing how property-only updates… | ||
| Escaping from a 'It Kinda Works' ProGuard Setup | Sato Shun | 28m |
ProGuard is used to shrink, optimize and obfuscate Android apps — examples include DroidKaigi’s app reducing classes/methods by ~40% and halving dex size, and… | ||
| Building Robust Screens That Handle Window Size Changes | nakamuuu | 28m |
Practical guidance for building Android UIs that handle window size changes robustly, covering layout tips for many screen sizes and OS versions and using… | ||
| All you need is isolating the domain ... | yanzm | 44m |
Concrete technique: extract domain into a separate Gradle module so dependency direction is enforced, unit tests run easily and domain rebuilds are smaller and… | ||
| Create a Gradle Plugin to Improve Development Productivity | tnj | 32m |
Shows how to build a Gradle plugin for Android that modifies debug builds by appending "-debug" to versionName and applicationId, exposes a simple extension… | ||
| Moving Forward with JUnit 5 | Marcel Schnelle | 28m |
JUnit 5 is a complete rewrite (no code reused) divided into three parts: Platform (TestEngine + Launcher for IDEs/Gradle), Jupiter (new API with annotations)… | ||
| Home Automation with Android Things and the Google Assistant | Nilhcem | 33m |
Shows how cheap RGB LED bulbs are reverse engineered with an Arduino reverse-engineering and BLE MITM to discover color command formats, captures packets with… | ||
| Pros and Cons of Device Farms Available for Android | duck | 29m |
Compares four Android device-farm options by running the DroidKaigi app with Espresso and Appium tests, monkey tests and manual sessions while measuring CPU… | ||
| Deep Dive into Android Auto — From How to Use It to the Technologies Behind It | KeithYokoma | 51m |
Covers how Android Auto integrates with apps: audio playback is controlled using MediaSession tokens and MediaController over Binder IPC, and browsing uses… | ||
| Dialogflow (API.AI) for Android — Introduction to Dialogflow (API.AI) App Development | fish | 29m |
Shows how to integrate Dialogflow (formerly API.AI) into Android: create an agent, define intents and entities with required parameters, and send user input… | ||
| The Rise and Risks of Apps That Emulate Other Apps | oboenikui | 29m |
The talk examines Android apps that emulate other Android apps (enabling things like running two LINE or game accounts simultaneously). It presents a technical… | ||
| Home Security Starter with Android Things and Firebase | Katsuya Kato | 30m |
An Android Things project on a Raspberry Pi 3 reads a BLE open/close sensor and writes state to Firebase Realtime Database; Cloud Functions and FCM send push… | ||
| Build an Android Wear Watch Face — Adding Small Bits of Info to the Dial | syarihu | 30m |
A step-by-step Kotlin guide to build an Android Wear watch face that draws time/date with CanvasWatchFaceService, handles ambient-mode background switching… | ||
| Anko Tasting Session | watanave | 31m |
Anko-based Android UI implementation: explains using Anko DSL for view layouts (receiver-lambda scope switching), techniques for custom views and reusable… | ||
| Flux: Utilize unidirectional data flow ... | shaunkawano | 31m |
Explains applying Flux to Android with concrete code: Dagger for injection, EventBus dispatcher (or RxJava/LiveData alternatives), action sealed classes… | ||
| Graywater: A Framework for Fast Scroll Performance | Eric Leong | 45m |
A RecyclerView adapter that decomposes large list items into many small view holders via item binders and maps, uses Dagger 2 multibinding to inject binder… | ||
| Implementing Dropbox Offline Folders | Rodrigo | 24m |
Implements Dropbox offline folders by switching from per-file favorites to a staged system: a delta metadata sync using server cursors, gated rollout with… | ||
| ARrrrg! The Google AR Android Demo Application deciphered | Mario Bodemann | 31m |
Walks through the Google ARCore demo code, explains plane detection from feature points and lighting via ARCore’s lightIntensity, and shows a fork that… | ||
| Hands-On with Host Card Emulation | azukinohiroki | 25m |
Shows how to implement Android Host Card Emulation (HCE): add an Android service and manifest AID filter, implement processCommandApdu to return bytes or null… | ||
| What You Can Do with an Accessibility Service | Tamaki Hidetsugu | 28m |
Demonstrates that Android AccessibilityService APIs (getRootInActiveWindow, find nodes by id, performAction ACTION_SET_TEXT and ACTION_CLICK) allow reading the… | ||
| Marketing Automation Tools and App Engineers — Automating Pushes and Notification Dialog Operations | woshidan | 30m |
A marketing automation SDK used in 48 countries (≈3,800 installs) describes engineering solutions for push notifications and in‑app announcement automation… | ||
| The Lonely App Development Class of a Jock Female Engineer | Nagao Yuriko | 49m |
A solo Android developer explains how small apps can reach significant downloads by keeping features minimal, targeting narrow user scenarios, and optimizing… | ||
| AI is ready for you. Are you ready for AI? | rejasupotaro | 23m |
A practical guide to get ML running on Android with code on GitHub and a working image classifier using Inception, MobileNet and custom food nets, showing that… | ||
| TensorFlow for Mobile Heroes | Enrique López Mañas | 30m |
Shows a concrete mobile ML workflow: capture video frames with FFmpeg to get ~10,000 images, upload to Google Cloud Storage and train on Cloud ML Engine… | ||
| Flutter App Implementation Seen in Code | konifar | 28m |
A sample DroidKaigi 2018 app is built with Dart and Flutter and integrates Firebase Cloud Firestore (plus Realtime Database, Storage, Messaging)… | ||
| Android Studio 30-Minute Intensive: 100 Extreme Techniques | Yamamoto Yusuke | 31m |
A fast-paced run-through of 100 useful Android Studio shortcuts and tips—covering refactoring, navigation, moving files, building, and other productivity… | ||
| Elements That Appear in Android Project Estimates, or Carefully Buried Landmines | eaglesakura | 31m |
This talk explains common hidden factors that break Android project estimates: design handoffs arriving as PSDs instead of Android assets, custom iOS UI… | ||
| The Role of a Technical Advisor in Android App Development | cutmail | 31m |
A technical advisor who joined PickUp Inc. in July 2017 describes leading development of a new Android app while coordinating iOS and Android versions. The… | ||
| Elastic Team Building | neonankiti | 30m |
Describes concrete practices for scaling an engineering team: move to two-stage interviews (15–30 minute screening plus structured interviews) with… | ||
| ConstraintLayout, now and future | thagikura, Nicolas Roard, John Hoford | 50m |
ConstraintLayout 1.0 features and 1.1 additions are explained with concrete mechanics: barriers and groups for non-hierarchical grouping, placeholder and… | ||
| nothing matches | ||