Table of Contents
Android development
Documentation and Tutorials
Official
- Android Architecture Blueprints - official examples for different Android techniques
Misc
- How To Become an Android Developer (video) by Daniel Atitienei
- Factory Images for Nexus and Pixel Devices (for emulator?)
API
Discovering the Android API - Part 1 - Nice article about not widely known APIs like: Spell Checker, Text Recognizer, TimingLogger, Taking screenshots, PDF Creation.
Android Versionen Verteilung, Stand April 2020: 80% - ab Android 6
Tools
- Device Art Generator - a handy tool to frame screenshots
- IconKitchen - Launcher Icon Generator by Roman Nurik
- ImageVector Wizard - Android Studio plugin by Emre Mert Özdemir
- Supports creating Compose ImageVector files from SVG & XML files, with an optional optimization feature. It converts SVG files to XML first, then converts them to ImageVector in the background. It uses the same ui as the Vector Asset Studio in Android Studio.
- CloudConvert - Bilder (u.a. Vektor) konvertieren
- HTTP client - good plugin from JetBrains to test APIs
scrcpy
To start scrcpy with the device where it does not work:
scrcpy -m 1080
or
scrcpy -m 1800
or some other resolution
Google Play
Design Patterns
Common Design Patterns for Android → Common Design Patterns for Android Summary
Android Best Practices by Futurice
GPS, Maps, and OBDII
Developing Basic Features for Your Fleet Management Application
Geofencing API Tutorial for Android - Geofencing with Google Maps API. At the moment only round geofences supported (as of 28.10.2018).
How-to Guide for OBDII Reader App Development
AndrOBD - app and lib for OBDII
KMP (Kotlin Multiplatform)
Jetpack
AndroidX
- AndroidX moving to minSdkVersion 19 - article published on 16.10.2023
AppBar
Navigation Rail
Exploring the Material Navigation Rail by Joe Birch
Room
UI
-
- Learn building UI with Android
- …
ConstraintLayout
RecyclerView
A first glance at Android's RecyclerView - a detailed overview by Wolfram Rittmeyer
Using the RecyclerView - a tutorial by Codepath
Creating Lists and Cards - by Google
RecyclerView Part 1: Fundamentals For ListView Experts, Part 2: Choice Modes - by BigNerdRanch
Endless scrolling with AdapterViews and RecyclerView
Infinite Scrolling RecyclerView
Your ViewHolders are Dumb. Make ’em Not Dumb. - an interesting article. Not 100% about RecyclerViews but about ViewHolders, which are extensively used with RecyclerView.
Android RecyclerView - Grouping Data
RecyclerView Prefetch by Chet Haase
Understanding RecyclerView Part 1: The Basics by Nilesh Singh
RecyclerView — More Animations with Less Code using Support Library ListAdapter
Loaders
Making loading data lifecycle aware by Ian Lake
UI Libraries and Elements
- Icons
- https://fonts.google.com/icons - material icons from Google Fonts
-
- Looking for app icons? Alex Styl has converted the Internet's most popular icon libraries to Jetpack Compose Image Vectors so you will never run out of icons to use in your Compose apps.
- https://icon.kitchen/ - icons generator by Roman Nurik
Dialogs in Android: Practical Guide by Vasiliy Zukanov
RMSwitch - 2 or 3 position switch with customizable positions
Android JSON Form Wizard
WizardPager- library helping make wizards based on Roman Nurik's Android WizardPager
ModalBottomSheetDialogFragment
Creating an Extendable Floating Action Button in Android (Part 1) (Part2)
Ultimate Guide To Android Custom View by Vlad Sonkin
Quick Tips to Start Using ExtendedFloatingActionButton
SurveyKit
25 Best Android Libraries, Projects, and Tools You Won’t Want to Miss Out in 2021
Animation
Introducing Motion Editor
Videos about MotionLayout
ShapeShifter - a very amazing tool to generate icon animations, more precise: to “morph” from one icon to another
An Introduction to Icon Animation Techniques by Alex Lockwood
Build awesome animations with 7 lines of code using ConstraintLayout
Good to great UI animation tips by Pablo Stanley
Android View Animations - demo app auf Github
Dark Mode
-
- contains interesting links, e.g.
- generate a theme with a web tool
- how to check contrast of a theme
Sharing
Android Sharesheet: Old Dog, New Tricks by Vlad Sonkin
4 Easy Steps To Master Android Sharing Shortcuts by Vlad Sonkin
Accessibility, User-Friednlyness etc
- Android for Everyone - article series about Android and accessibility by Pamela Hill
Crash logging etc
-
- Kevin Morales talking about Crashlytics (service by Firebase) and how to implement in your Android apps with Kotlin.
-
- Measure is an open source tool to monitor mobile apps.
- Capture Crashes and ANRs automatically
- Monitor app health metrics such as launch times, crash rates and app sizes
- Get screenshots with exception reports
- View full event timelines of error sessions with auto-tracked user clicks, navigation events, http calls, cpu usage, memory usage and more for deeper context
- Track custom events with additional business specific attributes
- Self hosted and private. Your data stays in your servers
Misc
- Dealing with READ_MEDIA_IMAGES Permissions in Android by Dobri Kostadinov
- [ACTION REQUIRED] Ensure Your App Complies with Google Play’s Latest Policy by January 22 2025
- Suggested solution:
- By leveraging the system photo picker and ensuring the camera captures images directly to a file, you can remove the READ_MEDIA_IMAGES permission from your app and comply with Google Play's latest requirements. This not only keeps your app on the Play Store but also improves user privacy and security.
What Are Dynamic App Shortcuts?
Start Here: 5 Exercises to Prepare Your App for Large Screens - What to prioritize when building a responsive experience
Using vector assets in Android apps by Nick Butcher (Using androidx / appcompat etc.)
Resources for Getting Started with Modern Android Development by Rebecca Franks
How to create beautiful text stickers for Android
Working with the Layout Preview
Make your Android app look less shitty
Options for Viewing PDFs
Android Parcelables Made Easy
Identifying an Android Device – Available Identifiers
Quick Tip: UITableViewController Performance Tips (Route 85) -> YouTube Video
Target API 26 on November 2018
Exploring in-app updates on Android by Joe Birch
How can I run code on a background thread on Android? - Stackoverflow question with some links in it
Google's Training to multiple threads on Android - Sending Operations to Multiple Threads
Making ListView Scrolling Smooth - Google's Training
Endless Scrolling ListView in Android - Tip from Ben Cull
Vector Graphics on Android by Kyle Jablonski
Enabling dark theme in Android WebViews by Joe Birch
MediaPlayer: Simplified Video Playback on Android
13 Things to know for Android developers at Google I/O! (2022)
Exploring Hilt: Application Level Code Generation
Splash Screen API - Android Studio by Daniel Atitienei (video)
How To Bring An Old Project To Live (Step-By-Step) | Jetpack Compose - a video by Jov Mit
In-App Billing
Implementing In-App Billing (with Checkout library)
Solve These 5 Google Play’s Billing Issues to Improve Your Apps - with tips how to fix them, e.g. how to prevent usage of Lucky Patcher (a tool to patch apps to get paid products for free)
Android Auto and Android Automotive OS
Android Automotive
-
- Android Automotive OS emulator etc.
Android for Cars
Articles etc
Android Wear etc.
Android Wear 2.0
Documentation, Tutorials, Articles
Девайсы, на которые будет апдейт на Android Wear 2.0
- Asus Zenwatch 2 und 3 (нет HR)
- Casio Smart Outdoor Watch (WSD-F10) und Pro Trek Smart (WSD-F20) (нет HR)
- Fossil Q Founder, Marshal und Wander (нет HR)
- Huawei Watch (нет HR)
- LG G Watch R, Watch Urbane und Watch Urbane 2nd Edition LTE
- LG Watch Sport – running out of the box
- LG Watch Style – running out of the box
- Michael Kors Access Bradshaw Smartwatch (нет HR)
- Michael Kors Access Dylan Smartwatch (нет HR)
- Moto 360 (2nd Gen), for Women und Sport (есть HR)
- New Balance RunIQ (нет HR?)
- Nixon Mission
- Polar M600 (есть HR)
- Tag Heuer Connected
- New Balance RunIQ
Интересные девайсы
TicWatch Pro - часы с двумя дисплеями, держат 4 дня, 250€
Libraries
Wearfaceutils - Helps to calculate a point on a generic Android Wear Watchface by using nothing more than a margin from the outer boundary and an angle. Especially useful for round faces with a chin.
Ant / Ant+
What do I need
- Ant+ and(!) Bluetooth Smart
Hardware
Foot pod
Garmin foot pod - 58€ on Amazon
Timex ANT+ Foot Pod Sensor 98€ (is possible to buy for 50 €)
Cadence/Speed Sensors
Suunto Bike sensor - ca. 60€
Preferences
Doze Mode
Doze mode:
- since Android 23+ (Android 6.0)
- No network
- system ignores wake locks
- standard alarms are deferred
- including sync adapters and job schedulers
Android Job-Scheduling - Job Scheduling and Doze Mode
Testing Your App on Doze Mode
Diving Into Doze Mode for Developers
Building Battery-Conscious Apps - ein Online-Kurs auf LinkedIn
Access location in the background
Since Oreo it is not more allowed to access location in the background all the time, only when the app is in the front or if the service is a foreground service of type “location”. Here are some articles and docs about it.
-
- Github Repo: https://github.com/android/location-samples
- Receive location updates in Android with Kotlin - a Google codelab
- How to find possible background location usage in your code - a video by Jeremy Walker with many very useful links in the description
Asynchronous Loading and Sheduling Tasks
Things to consider before running background tasks - an overview about possibilities to run background tasks by Umesh Basnet.
Making loading data lifecycle aware by Ian Lake
How to load an image by URL in Android
Android Handler Internals by Jag Saund → very intereting article with multiple good tips for solving typical problems with Handlers (e.g. leaking Activity etc.).
Sheduling tasks in Android made easy - overview about all possibilities and introducing a smart-scheduler-android library
Preparing for O: The Death of Background Services :
- Don't use AlarmManager, use JobScheduler instead
- Convert IntentServices to JobServices
- Use firebase-jobdispatcher (from Support library) for devices with Android less than 5.0
- Service.startForeground() should be used for foreground services
- Start foreground service from background with NotificationManager.startServiceInForeground()
Modern background execution in Android (October 2018):
- Guaranteed execution of deferrable work → use WorkManager (in public preview at October 2018)
- A task initiated in response to an external event → FCM + WorkManager
- Continue user-initiated work that needs to run immediately even if the user leaves the app → Foreground service
- Trigger actions that involve user interactions, like notifications at an exact time. → AlarmManager
WorkManager
Schedule tasks with WorkManager (official)
Getting started with WorkManager (official)
Introducing WorkManager by Pietro Maggi
WorkManager Basics by Lyla Fujiwara
Scheduling Tasks With Android WorkManager
Workout your tasks with WorkManager — Intro
Unifying Background Task Scheduling on Android (using WorkManager)
Bluetooth
BLE unstable - a good question (with a good answer) from Stackoveflow
BLE sensors
Wahoo - производитель BLE сенсоров для фитнеса (МНОГО всякой всячины)
HRM Blue - сенсор пульса поддерживающий стандартный профиль BLE HRM
SportPlus Bluetooth 4.0 Geschwindigkeits- und Trittfrequenzsensor (nur BLE!) - 39€ bei Amazon
CRIVIT®PRO Geschwindigkeits- und Trittfrequenzsensor CBGT 4 A1 - bei Lidl für 19,99€ (nur BLE!)
Medisana Bluetooth Gurt - bei Lidl für 19,99€ (wahrscheinlich auch Ant+ kompatibel)
Fitness trackers
Performance
- Testing App Startup Performance by Chet Haase
- Exploring Android App Performance with Rahul Ravikumar! (not yet checked)
- Dive into the latest episode where the Coding Italians craft a system for instrumenting method calls to enhance Android app performance. Learn how to use ASM, the Byte Code Viewer plugin, and JVM bytecode specifications to generate insightful Perfetto traces.
Android Keystore
Source Code Analyzing. Lint, Findbugs, PMD etc
Articles
Memory leaks in Android — identify, treat and avoid
You don’t have to use WeakReference to avoid memory leaks (an example of a possible solution for AsyncTask memory leak)
Leak detection: Android Studio vs LeakCanary
Activity Revival and the case of the Rotating Device
How to speed up your slow Gradle builds
Renaming Your Gradle Build Files
Gradle Tips and Tricks for Android - tricks for working with the Gradle build system, such as autocompletion, using build-time variables, and reducing build time
Getting started with feature modularization in Android Apps by Joe Birch
git rm --cached ./idea? an article about what to include in .gitignore file for Android projects
Memory Leaks in Android: A Guide for Android Developers by Rashik (Jun 9, 2025)
Backend
SlateKit - open source alternative to Firebase, GCM etc.
Firebase
- Recap of Google Launchpad Build Lagos : All about Firebase - Nice overview about Firebase features by Chike Mgbemena
- Exploring Firebase on Android & iOS: Remote Config - A good overview about Firebase Remote Config by Joe Birch
-
- Jaewoong Eum shows how to utilize Firebase for your mobile and web applications, covering features such as authentication, push notifications, remote config, analytics, and more.
-
- In this video, Marina walks you through how to get started with Sign in with Google on Android using Firebase Authentication.
-
- AI insights in Crashlytics and Device Streaming in Android Studio can help you quickly troubleshoot your app, and test it on a variety of physical Android devices!
AI on Android
-
- News about AI on Android (04.10.2024)
Android Skills
-
- Android Developers explains what Android skills are and how to expose them to AI assistants and tools
Testing
Building Instrumented Unit Tests - a training by Google
Getting started with testing - a training by Google
Testing UI for Multiple Apps
Testing Support Library
Android Device Farm at Mercari - deployment on a device farm
Android Studio and Tools
Android debugging
Run apps on a hardware device - official docs
- If there are problems with connection during WiFi debugging:
- Important for debugging through Wi-Fi:
adb connect <deviceip>:<port> # Where IP and port are displayed under Settings -> Developer options-> Wireless Debugging # for example: adb connect 192.168.178.82:41153
Also can be helpful:
Misc
-
- 1. ADB Screen Recording Command
- 2. Install and Uninstall Apps Using ADB
- 3. Capture and Save Screenshots Using ADB
- 4. Debugging Wi-Fi Connectivity with ADB
- 5. Grant or Remove Permissions via ADB
- 6. Network Configuration & Testing with ADB
- 7. Starting and Stopping Services with ADB
Learning resources
Online courses
- Academy for App Success - Google Play online courses
Android Books
RxJava
Gradle
- Modular Architecture for faster Build Time (also about profiling Gradle builds)
- Gradle Tutorial for Android: Getting Started - by Irina Galata
-
- Understanding how Gradle properties work can save you a lot of time debugging. Tadeas Kriz explains how to set properties and what their priorities are.
Misc articles about Gradle
-
- In short: it depends on AGP version
- for details read the article (see the table made by author)
-
- did not read it
- it was for registered members of Medium only
- it is possible to use Google account, but I didn't do it
Maven
Android library development - Getting started - a post series by Jeroen Mols
Android library development - Modularization
Android library development - Dependencies - a post about libraries, dependencies, transitive and not.
Publishing
Android local libraries with Maven - good article about local publishing of Android libraries
Maven Repository and how to publish libraries locally on your computer
The “maven-publish” Plugin - docs
Misc
64k methods
20+ Awesome Open-Source Android Apps To Boost Your Development Skills
Building for billions - Google talks and articles about how to build successful apps
Effective Java for Android
Reproducible history on Android
A Massive Guide to Building a RESTful API for Your Mobile App
Android Interview Questions
Troubleshooting ProGuard issues on Android
Use Android APK Analyzer to reduce APK size by Rebecca Franks
Android 12 review for developers by Kirill Rozov (Android 12 review for developers (my Konspekt))
Android 11 on nearly a quarter of all devices, but it’s not the most used version of Google’s OS - an article about Android distribution sharing numbers (e.g. Android 8 is installed on ca. 13,7% of all Android devices)
- Android — Keeping Release and Debug Installed All the Time by Juhani Lehtimäki
Android developer jobs etc
Scoped Storage
- Storage updates in Android 11 - official Google information
Android 14
Android 14 Preview: Weniger Malware, mehr Akkulaufzeit und alle Formfaktoren
Get Android 14 - System images to download etc.
Build process
Improving build speed in Android Studio
Troubleshoot build performance
Understanding your build with the Build Analyzer
Events, conferences etc
- Droidcon 2024 - all videos
