Table of Contents

Android development

Documentation and Tutorials

Official

Misc

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

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

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)

Kotlin Multiplatform

Jetpack

AndroidX

AppBar

https://developer.android.com/guide/fragments/appbar

Exploring the Material Navigation Rail by Joe Birch

Room

UI

ConstraintLayout

https://constraintlayout.com

Guide to ContraintLayout

Build awesome animations with 7 lines of code using 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

Android’s Paging Library — Stripped

Loaders

Making loading data lifecycle aware by Ian Lake

UI Libraries and Elements

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

DayNight — Applying dark mode without recreating your app

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

Crash logging etc

Misc

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)

Google Pay API Tutorial

Android Auto and Android Automotive OS

Android Automotive

Android for Cars

Articles etc

Android Wear etc.

Android Wear 2.0

Documentation, Tutorials, Articles

Create a watchface for Wear OS

Девайсы, на которые будет апдейт на Android Wear 2.0

Интересные девайсы

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

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

Dependency on ListPreference

Doze Mode

Doze mode:

Android Job-Scheduling - Job Scheduling and Doze Mode

Testing Your App on Doze Mode
Diving Into Doze Mode for Developers

Doze Mode Bug in Android M

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.

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.).

StrictMode

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 :

Modern background execution in Android (October 2018):

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)

WorkManager Tutorial for Android: Getting Started

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

ID107 HR Plus

Good list

Wearable APIs - list on http://programmableweb.com

Performance

Android Keystore

Authentication sucks. Bad security too.

Source Code Analyzing. Lint, Findbugs, PMD etc

Configuring Android Project — Static Code Analysis Tools

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

AI on Android

Android Skills

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

How to become more productive in android with android studio plugins

Android debugging

Run apps on a hardware device - official docs

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

Learning resources

Online courses

Android Books

Agile Android Development
The The Busy Coder's Guide to Android Development by Mark Murphy

RxJava

The missing RxJava 2 guide: Supercharge your Android development

Gradle

Misc articles about Gradle

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

Upcycling Android

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 developer jobs etc

Android Interview Series 2024 — Part 1 (Android basics)

Scoped Storage

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