{"id":13517000,"url":"https://github.com/MakinGiants/awesome-android-learner","last_synced_at":"2025-03-31T07:30:43.020Z","repository":{"id":55594113,"uuid":"43961106","full_name":"MakinGiants/awesome-android-learner","owner":"MakinGiants","description":"Awesome for mobile dev learning","archived":false,"fork":false,"pushed_at":"2020-12-19T15:34:31.000Z","size":163,"stargazers_count":373,"open_issues_count":1,"forks_count":41,"subscribers_count":21,"default_branch":"master","last_synced_at":"2024-04-14T09:11:48.507Z","etag":null,"topics":["android-developers","awesome","awesome-list","learning"],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MakinGiants.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"contributing.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-10-09T14:38:08.000Z","updated_at":"2024-03-25T12:11:05.000Z","dependencies_parsed_at":"2022-08-15T04:00:24.119Z","dependency_job_id":null,"html_url":"https://github.com/MakinGiants/awesome-android-learner","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MakinGiants%2Fawesome-android-learner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MakinGiants%2Fawesome-android-learner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MakinGiants%2Fawesome-android-learner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MakinGiants%2Fawesome-android-learner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MakinGiants","download_url":"https://codeload.github.com/MakinGiants/awesome-android-learner/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246342831,"owners_count":20761942,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android-developers","awesome","awesome-list","learning"],"created_at":"2024-08-01T05:01:28.326Z","updated_at":"2025-03-31T07:30:42.989Z","avatar_url":"https://github.com/MakinGiants.png","language":null,"readme":"[![Build Status](https://travis-ci.org/MakinGiants/awesome-android-learner.svg?branch=master)](https://travis-ci.org/MakinGiants/awesome-android-learner)\n\nAwesome Android Learner\n==================\n\nAnother Awesome for those who are searching a *study guide* for android development.\nYou can find interesting posts, tools, plugins, open source apps, everything that may help to develop more and better android things.\n\n# Random\n* [caster.io - Android Clean architecture](https://caster.io/courses/android-clean-architecture/): 2 hours of videous around clean architecture and how this may help ups.\n* [dbacinski/Design-Patterns-In-Kotlin](https://github.com/dbacinski/Design-Patterns-In-Kotlin): some implementations for cool patterns that will help you to have better code.\n* [Gitlab-ci Toolbox for Android](http://blog.makingiants.com/gitlabci-toolbox-for-android/): guide to setup your own gitlab ci runner with useful scripts for android.\n* [Futurice - best practices](https://github.com/futurice/android-best-practices): Cool updated list of great practices to follow.\n* [Android Study Group conferences list](http://androidstudygroup.github.io/conferences/): list of upcoming and old conferences. WOW!\n* [Wireless debug](https://developer.android.com/studio/command-line/adb): how to develop without connect your device through USB.\n* [Clean Architecture](https://fernandocejas.com/2014/09/03/architecting-android-the-clean-way/): one way to architect your apps.\n* [Elminating code overhead - Square 2015](https://speakerdeck.com/jakewharton/eliminating-code-overhead-square-hq-2015): Android performance ideas to use from Jacke Warthon.\n* [Jake Wharton - testing robots](https://academy.realm.io/posts/kau-jake-wharton-testing-robots/): a testing maintainability idea.\n* [Android Scripts](https://github.com/caipivara/awesome-android-scripts): list of scripts that show how to install dependencies from a terminal, copy env variables to gradle.properties files easy, etc...\n\n# Books\n* [Android-Development-Patterns-Professional-Developers](https://www.amazon.com/Android-Development-Patterns-Professional-Developers/dp/0133923681): list of patterns for android development.\n* [The big nerd ranch guide v1](https://www.bignerdranch.com/we-write/android-programming/): Cool guide to learn the basics of every spec on android.\n* [JavaRX Essentials](https://www.amazon.com/RxJava-Essentials-Ivan-Morgillo/dp/1784399108 ): Cool book to learn the cool javaRX.\n* [Async Android](https://www.amazon.com/Asynchronous-Android-Steve-Liles/dp/1783286873 ): Async usages for Android.\n* [Retrofit love working with apis on android](https://leanpub.com/retrofit-love-working-with-apis-on-android): Learn all about Retrofit.\n* [Picasso: Easy Image Loading on Android](https://leanpub.com/picasso-image-loading-on-android): Learn all about loading images with Picasso\n* [Glide: Customizable  Image Loading on Android](https://leanpub.com/glide-image-loading-on-android): Learn all about loading images with Glide\n* [Gson: Enjoy JSON (De-)Serialization in Java](https://leanpub.com/gson-enjoy-json-deserialization-in-java): Learn all about Gson\n\n# Meetups/Talks/Videos\n* [Droidcon NYC 2016 - Espresso: A Screenshot is Worth 1,000 Words](https://www.youtube.com/watch?v=fhx_Ji5s3p4): testing experiences with espresso.\n* [danielgomezrico youtube android list](https://www.youtube.com/playlist?list=PLVnuKbla7wewsrNP00H9Yhk-Vh6tkEfEQ): selected list of videos to learn android from a lot of places.\n* [Free - Google Developers Channel](https://www.youtube.com/user/GoogleDevelopers): youtube list of videos from google.\n* [Free - Android Developers](https://www.youtube.com/user/androiddevelopers): youtube list of cool videos.\n\n# Podcasts\n* [Fragmented podcast](https://fragmentedpodcast.com/): Donn Felker and other folks talking about android, follow on [twitter](https://twitter.com/FragmentedCast).\n* [Talking Kotlin](http://talkingkotlin.com/extensions-with-jake-wharton/): podcast focused on Kotlin.\n* [Android Backstage](http://androidbackstage.blogspot.com): google engineers talking about android.\n\n# Posts\n* [Kotlin top 10 questions](https://zsmb.co/top-10-kotlin-stack-overflow-questions-1/): answers for some of the common questions on kotlin.\n* [Android architecture post series](http://www.therealjoshua.com/2011/11/android-architecture-part-1-intro/): explains and give a full overview of architure for android.\n* [A successful XML naming convention/Jeroen Mols](https://jeroenmols.com/blog/2016/03/07/resourcenaming/): good tips about ids to make your apps more maintainable.\n* [Android studio tips tricks](https://medium.com/@mmbialas/50-android-studio-tips-tricks-resources-you-should-be-familiar-with-as-an-android-developer-af86e7cf56d2#.y9qzrinr6): cool  setups and tips for Android Studio.\n* [Understanding Android Naming Conventions](https://jasonatwood.io/archives/1423): explains the idea behind each basic class of android framework to avoid confusions.\n* [Enable Lollipop colors/icon for chrome](https://developers.google.com/web/updates/2014/11/Support-for-theme-color-in-Chrome-39-for-Android): you can add colors and icon to chrome bar to make you site beautiful and theme based on mobile.\n* [Install Google Apps into Genymotion Emulator](https://gist.github.com/wbroek/9321145): how to install google services into genymotion emulators.\n* [Design for Pre lollipop -compat](https://android-developers.googleblog.com/2014/10/appcompat-v21-material-design-for-pre.html): guide to setup project to use app compat.\n* [Materialize your app - Antonio Leiva](http://antonioleiva.com/materialize-app/): Antonio leiva post about how to materialize your app.\n* [Material Design Colors Explanation](https://www.youtube.com/watch?v=xYkz0Ueg0L4): learn how to use colors with material design ideas in youtube.\n* [Material animations shared elements AppCompat - Antonio Leiva](http://antonioleiva.com/material-design-everywhere/): how animate views between activities!.\n* [CodePath - Lollipop Animations](https://guides.codepath.com/android/Circular-Reveal-Animation): add lollipop animations to your app.\n* [Why use volley](https://developer.android.com/training/volley/): cool explanation volley (wow).\n* [Make Apps Beautiful](https://www.youtube.com/watch?v=CWIc6QE6iNc\u0026list=UUVHFbqXqoYvEWM1Ddxl0QDg): Video to make the apps see beatiful.\n* [Image load - Glide vs Picasso?](http://inthecheesefactory.com/blog/get-to-know-glide-recommended-by-google/en): Comparation from image loading images.\n* [Activity launch modes](http://inthecheesefactory.com/blog/understand-android-activity-launchmode/en): launch modes explanation.\n* [AutocompleteTextView examples (including address autocomplete)](http://android.foxykeep.com/dev/how-to-add-autocompletion-to-an-edittext): autotomplete address, accounts and more to copy and paste.\n* [6 Things I wish I knew before I wrote my first app](https://www.philosophicalhacker.com/2015/07/09/6-things-i-wish-i-knew-before-i-wrote-my-first-android-app/): base concepts to learn and avoid performance problems.\n* [Android performance - Omertsimsek](https://www.slideshare.net/omertsimsek/andromance-android-performance-devfest-ankara-2013?qid=7c54c68a-2d60-44ce-b4c8-d5bff3477727\u0026v=qf1\u0026b\u0026from_search=8): because performance matterns there are cool slides about.\n* [Espresso 2.0 presentation](https://docs.google.com/presentation/d/1EtFKPluGiuxZcr4W_cAziEY_--wbY_1otw44XEBv7JA/edit#slide=id.g98a986571_0_184): Testing with espresso 2.0.idcon-whats-new-in-android-testing-2015-jos-alcrreca): how to test!.\n* [Espresso tests \"architecture\"](http://room-15.github.io/blog/2015/03/19/adventures-in-espresso-p2/): give ideas about how to write tests in a clean and structured way (tests are code at the end... someone will maintain them).\n* [Task and document api](https://speakerdeck.com/mathieu_calba/task-and-document-api): explains how android manage activities and tasks.\n* [GCM to optimize battery](https://www.bignerdranch.com/blog/optimize-battery-life-with-androids-gcm-network-manager): clear explanation for GCM use to do requests and save battery.\n* [Modal Bottom Sheet tutorial](http://www.devexchanges.info/2016/03/modal-bottom-sheet-with-material-design.html): shows how to create a BottomSheetDialogFragment and show it clearly.\n* [android-understanding-gradle-dependencies-and-resolving-conflicts](https://www.devsbedevin.com/android-understanding-gradle-dependencies-and-resolving-conflicts/): expose some ideas around gradle and android dependencies setup.\n* [Troubleshooting proguard issues](https://medium.com/androiddevelopers/troubleshooting-proguard-issues-on-android-bce9de4f8a74): cool article showing proguard tools on android studio and how to use them to fix some issues.\n* [Reduce parcelable boilerplate with kotlin](https://medium.com/@BladeCoder/reducing-parcelable-boilerplate-code-using-kotlin-741c3124a49a): shows how extension functions helps to reduce this code and make it cleaner.\n\n# Tutorial Series\n* [Amejia481/Associate-Android-Developer-Certification](https://github.com/Amejia481/Associate-Android-Developer-Certification): an awesome for android developer certifications.\n* [Google / android-training](https://codelabs.developers.google.com/android-training/): basic training around android offered by google\n* [Google  / advanced-android-training](https://codelabs.developers.google.com/advanced-android-training/): training around android offered by google with more advanced topics.\n* [Retrofit Series](https://futurestud.io/tutorials/retrofit-getting-started-and-android-client): 50+ part series on Retrofit\n* [Picasso Series](https://futurestud.io/tutorials/picasso-getting-started-simple-loading): 20+ part series on Picasso\n* [Glide Series](https://futurestud.io/tutorials/glide-getting-started): 25+ part series on Glide\n* [Gson Series](https://futurestud.io/tutorials/gson-getting-started-with-java-json-serialization-deserialization): 30+ part series on Gson\n* [App Builders Switzerland 2019](https://www.youtube.com/playlist?reload=9\u0026list=PLLcE3DL3f5Bx0IAHAw6hsdZ3z_samz2iX\u0026app=desktop): each talk for App Builders Switzerland 2019.\n\n# Open Source Apps\n* [Google IO 2014 compat example](https://github.com/rahulparsani/google-io-2014-compat): Google IO app from 2014!.\n* [Open libra - Material Design Showcase](https://github.com/saulmm/OpenLibra-Material): Cool material design example.\n* [WallSplash - Material Design Showcase](https://github.com/mikepenz/wallsplash-android): wallpaper app but don´t have the last code. :(.\n* [Material Animation Samples](https://github.com/tarek360/Material-Animation-Samples): some material design examples.\n* [Sunshine](https://github.com/udacity/Sunshine-Version-2): app developed on the Udacity course [Developing Android Apps](https://www.udacity.com/course/new-android-fundamentals--ud851)\n\n# Courses\n* [Free/paid - OFFICIAL GOOGLE - Udacity](https://www.udacity.com/google): Google android official courses and nanodegree.\n* [Free - Codepath Android Wiki](https://github.com/codepath/android_guides): guides for android dev from codepath guys.\n* [Free - New Circle Courses](https://www.protechtraining.com/training/browse/front-end-web-mobile-development?ncr=1): New circle courses for android.\n* [Rxjava design patterns](https://www.linkedin.com/learning/rxjava-design-patterns-for-android-developers): course oriented on RXJava for Android.\n\n# Tools\n## Chrome\n* [Vysor](https://chrome.google.com/webstore/detail/vysor/gidgenkbbabolejbgbpnhbimgjbffefm): Mirror (clickable) the device screen into chrome, helpful for meetings on hangout/hero or something.\n\n## Mac\n* [Android Tool](https://github.com/mortenjust/androidtool-mac): easy take iOS and Android screenshots.\n* [Image optim](https://imageoptim.com/es.html): Make your assets smaller. `#brew cask install imageoptim`.\n* [Alfi](https://github.com/cesarferreira/alfi): check new versions for your dependencies from terminal.\n* [romannurik/MaterialColorsApp](https://github.com/romannurik/MaterialColorsApp): awesome color picker with material design in mind to guide you picking the right colors.\n\n## Web\n* [Sromannurik/lidesCodeHighlighter](https://romannurik.github.io/SlidesCodeHighlighter/): highlight your code snippets for speakers.\n* [Adobe color](https://color.adobe.com/create/color-wheel): helps to define colors pallete for our apps.\n* [Material Design Color Generator](http://mcg.mbitson.com/#/): let you create the full pallete from a single color in hexa, rgb, etc...\n* [Android Demo mode](https://android.googlesource.com/platform/frameworks/base/+/android-6.0.0_r1/packages/SystemUI/docs/demo_mode.md): change status bar items for screenshots like wifi at full level.\n* [Density Converter](http://density.brdrck.me/): helps to see values for each density.\n* [Android Asset Studio](http://romannurik.github.io/AndroidAssetStudio/): Assets management.\n* [Material Palette](https://www.materialpalette.com/): helps to define colors on material design interfaces.\n* [Material Design Icons](https://material.io/tools/icons/?style=baseline): search and download official android icons.\n\n\n## Android Studio/ Gradle Plugins\n* [Adb-Idea](https://github.com/pbreault/adb-idea): Helps you to reset app data, uninstall app, and others from android studio and other\n* [Material design icon generator](https://github.com/konifar/android-material-design-icon-generator-plugin): helps you to import drawables for each size from the material icon source into android studio with defined size and color.\n\n## Apps for test devices (for you)\n* [Android - Material](https://play.google.com/store/apps/details?id=fr.hozakan.materialdesigncolorpalette): see the material palette on your device.\n* [Texpand](https://play.google.com/store/apps/details?id=com.isaiasmatewos.texpand): save time creating autocomplete texts inside your android test device.\n* [Android tool belt](https://play.google.com/store/apps/details?id=com.tspoon.androidtoolbelt): fill the ram helping to test bad memory escenarios.\n\n# Other Awesomes (categorized list of awesome links)\n* [Android community](https://github.com/tonilopezmr/android-community): list of videos.\n* [android-blogs](https://github.com/vbauer/android-blogs): List with blogs about Android.\n* [Android Arsenal](android-arsenal.com): list of available open libs with GUI, comments and so on.\n* [Github - snowdream awesome](https://github.com/snowdream/awesome-android): Categorized awesome.\n* [Github - wasabeef awesome ui](https://github.com/wasabeef/awesome-android-ui): Categorized awesome.\n* [Github - JStumpp awesome](https://github.com/JStumpp/awesome-android): Categorized awesome.\n* [Codepath - Must have libraries](https://guides.codepath.com/android/Must-Have-Libraries): Cool guide about base libs for every project.\n* [Android performance](https://github.com/Juude/awesome-android-performance/blob/master/README.md): help you to learn about how to add performance boost.\n\n# License\n\n[![CC0](https://licensebuttons.net/p/zero/1.0/88x31.png)](https://creativecommons.org/publicdomain/zero/1.0/)\n\nTo the extent possible under law, [Daniel Gomez](https://github.com/caipivara) has waived all copyright and related or neighboring rights to this work.\n","funding_links":[],"categories":["Technical","Others"],"sub_categories":["awesome-*"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMakinGiants%2Fawesome-android-learner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FMakinGiants%2Fawesome-android-learner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMakinGiants%2Fawesome-android-learner/lists"}