Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/AndroidDeveloperBandung/awesome-android-learning

🤖 Curated list of awesome Android articles and resource
https://github.com/AndroidDeveloperBandung/awesome-android-learning

List: awesome-android-learning

activity-lifecycle android android-articles article fcm fundamentals lifecycle rxjava

Last synced: 16 days ago
JSON representation

🤖 Curated list of awesome Android articles and resource

Awesome Lists containing this project

README

        

## Awesome Android Learning

> A curated list of Android related articles and resources available in English or Bahasa Indonesia

Your contribution is very encouraged and will highly appreciated! Every commit matters! 💪💪

See [how to contribute](#how-to-contribute)

---

## Legends
```
🇬🇧 Bahasa Inggris
🇮🇩 Bahasa Indonesia
🌟 Dokumentasi Resmi dari developer.android.com
🐙 Supporting Code [ Repo / Code Snippet ] link
📹 Video / Include Video
```

## Contents

- [Fundamental](#fundamental)
- [Lifecycle](#lifecycle)
- [Android Components](#android-components)
- [Networking](#networking)
- [UX - User Experience](#user-experience)
- [Material Design](#material-design)
- [RxJava](#rxjava)
- [Dependecy Injection](#dependency-injection)
- [Job Scheduler](#job-scheduler)
- [Design Pattern](#architecture--design-pattern)
- [Android Architecture Component](#android-architecture-component)
- [MVVM Architecture](#mvvm-architecture)
- [Firebase](#firebase)
- [Firebase Cloud Messaging](#firebase)
- [Firebase Remote Config](#firebase)
- [Firebase Performance Monitoring](#firebase)
- [Bluetooth](#bluetooth)
- [Google Maps](#google-maps)
- [Testing](#testing)
- [Kotlin](#kotlin)
- [Development Tools](#development-tools)
- [Publishing](#publishing)
- [Security](#security)

## Fundamental

### Android Components

- [Introduction to Activities](https://developer.android.com/guide/components/activities/intro-activities.html) 🇬🇧 🌟
- [Fragments](https://developer.android.com/guide/components/fragments.html) 🇬🇧 🌟
- [Android Fragment Tutorial: The Introduction](https://www.raywenderlich.com/149112/android-fragments-tutorial-introduction) 🇬🇧

### Lifecycle

- [The Activity Lifecycle](https://developer.android.com/guide/components/activities/activity-lifecycle.html) 🇬🇧 🌟
- [Complete Android Fragment & Activity Lifecycle](https://github.com/xxv/android-lifecycle) 🇬🇧

## Networking

- [Retrofit Getting Started](https://futurestud.io/tutorials/retrofit-getting-started-and-android-client) 🇬🇧
- [Mengeksekusi CRUD REST API dengan Retrofit 2](https://farizdotid.com/tutorial-crud-rest-api-menggunakan-retrofit-2-android/) 🇮🇩
- [Certificate public key pinninng android retrofit 2](https://medium.com/@sreekumar_av/certificate-public-key-pinning-in-android-using-retrofit-2-0-74140800025b) 🇬🇧

## User Experience

- [UberUx - Entire animation stack of Uber android app ](https://github.com/mohak1712/UberUX) 🐙
- [Scrolling Behavior for AppBars Android](https://android.jlelse.eu/scrolling-behavior-for-appbars-in-android-41aff9c5c468?fref=gc) 🇬🇧
- [Material Design - Activity Transition](https://android.jlelse.eu/android-material-design-activity-transition-55de706ab967)🇬🇧
- [Animate all the things transition](https://medium.com/@andkulikov/animate-all-the-things-transitions-in-android-914af5477d50)🇬🇧

## Material Design

- [Material Design Training](https://developer.android.com/training/material/index.html) 🇬🇧 🌟
- [Android Hive Material Design Category](https://www.androidhive.info/category/material-design/) 🇬🇧
- [Material Design Documentation](https://materialdoc.com/components/autocomplete/) 🇬🇧

## RxJava

- [RxJava Github Link](https://github.com/ReactiveX/RxJava) 🐙
- [Wrapping your imperative brain around functional programming in RxJava](https://android.jlelse.eu/how-to-wrap-your-imperative-brain-around-functional-reactive-programming-in-rxjava-91ac89a4eccf) 🇬🇧
- [Grokking RxJava 1.x Part 1: The Basic](http://blog.danlew.net/2014/09/15/grokking-rxjava-part-1/) 🇬🇧
- [Grokking RxJava 1.x Part 2: Operator, Operator](http://blog.danlew.net/2014/09/22/grokking-rxjava-part-2/) 🇬🇧
- [Grokking RxJava 1.x Part 3: Reactive with Benefits](http://blog.danlew.net/2014/09/30/grokking-rxjava-part-3/) 🇬🇧
- [Grokking RxJava 1.x Part 4: Reactive Android](http://blog.danlew.net/2014/10/08/grokking-rxjava-part-4/) 🇬🇧
- [SOLID Android Analytics with RxJava2](https://proandroiddev.com/solid-android-analytics-with-rxjava2-6270ce8c26f9)
- [RxJava Error Handling](https://rongi.github.io/kotlin-blog/rxjava/2017/09/25/breadcrumbs-rxjava-error-handling.html) 🇬🇧
- [Keeping the Daggers Sharp](https://medium.com/square-corner-blog/keeping-the-daggers-sharp-%EF%B8%8F-230b3191c3f) 🇬🇧

## Dependency Injection

- [Dependency Injection Made Simple](https://academy.realm.io/posts/daniel-lew-dependency-injection-dagger/) 🇬🇧 📹
- [Demystifying the new Dagger Android Injection API](https://proandroiddev.com/exploring-the-new-dagger-android-module-9eb6075f1a46) 🇬🇧
- [Understanding Dagger 2.11 on Android](https://www.youtube.com/watch?v=hjHZkZr3GZw) 📹
- [Dagger 2.11 Component Builder](https://proandroiddev.com/dagger-2-component-builder-1f2b91237856) 🇬🇧

## Job Scheduler

- [Android Job Priority Queue Github Link](https://github.com/yigit/android-priority-jobqueue) 🐙
- [Use Android Priority Job Queue library for your background tasks](https://solidgeargroup.com/android-priority-job-queue-background-tasks) 🇬🇧

## Architecture & Design Pattern

- [Google's Sample for Android Architectures](https://github.com/googlesamples/android-architecture) 🐙
- [Android Repository Design Pattern](https://medium.com/@krzychukosobudzki/repository-design-pattern-bc490b256006) 🇬🇧
- [Clean Architecture, MVC, MVP notes](https://github.com/jemshit/android_architecture_notes) 🇬🇧

### Android Architecture Component

- [StylingAndroid - Lifecycle Component](https://blog.stylingandroid.com/architecture-components-lifecycle/) 🇬🇧
- [StylingAndroid - LiveData](https://blog.stylingandroid.com/architecture-components-livedata/) 🇬🇧
- [StylingAndroid - ViewModel](https://blog.stylingandroid.com/architecture-components-viewmodel/) 🇬🇧
- [Yigit Boyar - Architecture Components - Behind the Scenes](https://academy.realm.io/posts/360-andev-2017-yigit-boyar-android-architecture-components/) 📹
- [Internet utility with AAC LiveData](https://medium.com/@Viraj.Tank/internet-utility-using-android-architecture-components-livedata-e828a0fcd3db) 🇬🇧
- [Riggaroo - Android Architecture Articles](https://riggaroo.co.za/category/android/architecture/) 🇬🇧

### MVVM Architecture

- [Android MVVM Architecture - Part 1](https://medium.com/upday-devs/android-architecture-patterns-part-1-model-view-controller-3baecef5f2b6) 🇬🇧
- [Android MVVM Architecture - Part 2](https://medium.com/upday-devs/android-architecture-patterns-part-2-model-view-presenter-8a6faaae14a5) 🇬🇧
- [Android MVVM Architecture - Part 3](https://medium.com/upday-devs/android-architecture-patterns-part-3-model-view-viewmodel-e7eeee76b73b) 🇬🇧

## Firebase
### Firebase Cloud Messaging

- [How to Handle FCM Notification in Background](https://medium.com/@shayan.ta69/how-to-handle-fcm-notification-in-backgrounded-android-applications-29229c4f9975) 🇬🇧

### Firebase Remote Config
- [Handle app update notification with FirebaseRemoteConfig](https://medium.com/@sembozdemir/force-your-users-to-update-your-app-with-using-firebase-33f1e0bcec5a) 🇬🇧

### Firebase Performance Monitoring
- [Firebase Performance Monitoring for Android Tip #1: Automatic Traces for All Activities](https://firebase.googleblog.com/2017/08/firebase-performance-monitoring-for.html)

## Bluetooth

- [Bluetooth Low Energy on Android, Part 1](https://www.bignerdranch.com/blog/bluetooth-low-energy-part-1/?utm_source=Android+Weekly&utm_campaign=7ece125827-android-weekly-268&utm_medium=email&utm_term=0_4eb677ad19-7ece125827-338084081) 🇬🇧

## Google Maps

- [Google Maps Utils](https://github.com/googlemaps/android-maps-utils)
- [Direction Library](https://github.com/akexorcist/Android-GoogleDirectionLibrary)
- [Tracking Library](https://github.com/frankodoom/MotionVehicleTracker)

## Testing

- [Android Testing Box: Various Testing Tools Sample](https://github.com/RoRoche/AndroidTestingBox) 🇬🇧
- [Android Test Coverage with Jacoco and SonarQube](https://overflow.buffer.com/2017/01/16/android-test-sonarqube/) 🇬🇧

## Kotlin

- [Idiomatic Kotlin. Best Practice](https://blog.philipphauer.de/idiomatic-kotlin-best-practices/) 🇬🇧
- [Clean Code Kotlin](https://blog.philipphauer.de/clean-code-kotlin/) 🇬🇧
- [Kotlin 101 - Constuctors](https://nolambda.stream/kotlin-101-consturctors/) 🇬🇧
- [Kotlin 101 - Extension Functions](https://nolambda.stream/kotlin-101-extension-function/) 🇬🇧
- [Collection of Useful Kotlin Resources](https://kotlin.link/) 🇬🇧
- [100+ Resource To Learn Kotlin The Right Way](https://superkotlin.com/resources-learn-kotlin/) 🇬🇧
- [Realm's Kotlin Learning Path](https://academy.realm.io/posts/learning-path-kotlin-in-depth) 🇬🇧 📹

## Development Tools

- [Cara melakukan debugging apps android menggunakan Wi-Fi](https://aliqornanblog.wordpress.com/?p=807) 🇮🇩

## Publishing

- [Bagaimana Cara Mengecilkan APK?](https://medium.com/@abangkis/bagaimana-cara-mengecilkan-apk-d7dbd4787321) 🇮🇩
- [How to Upload Library to Manven or Jcenter as Dependency](https://inthecheesefactory.com/blog/how-to-upload-library-to-jcenter-maven-central-as-dependency/en) 🇬🇧

## Security
- [Memperkuat keamanan di android](https://butterflydroid.wordpress.com/2017/09/10/memperkuat-keamanan-di-sisi-aplikasi-mobile-android/) 🇮🇩
---

## Other Resources

- [Realm Academy](https://academy.realm.io/section/android)
- [Android Arsenal](https://android-arsenal.com/)
- [Guides @ Codepath](https://guides.codepath.com/android)
- [Daftar API Lokal Indonesia](https://github.com/farizdotid/DAFTAR-API-LOKAL-INDONESIA)
- [Android Weekly](http://androidweekly.net/)
- [Tutorial Point](https://www.tutorialspoint.com/android/)
- [Google Codelabs](https://codelabs.developers.google.com/)

---

## How to contribute?

1. Simply create an issue on Github for a link that you think deserve to be included in here!
2. Pull request! It will be always prioritized than the first approach
3. Create supporting code or snippet! Talk is cheap, we should show them some code! 🐙