Skip to content

Instantly share code, notes, and snippets.

@mrk-han
Last active August 21, 2020 07:55
Show Gist options
  • Save mrk-han/19cd3f62dfc2f7d2d6630be23d5249e7 to your computer and use it in GitHub Desktop.
Save mrk-han/19cd3f62dfc2f7d2d6630be23d5249e7 to your computer and use it in GitHub Desktop.
Android Resources

A mind dump of resources for learning Android Development

Brief Overview

I learned from a combination video tutorials (CasterIO) , online classes (Udacity) , blogs (medium posts) , forums (/r/androiddev) , and the developer.android documentation, codelabs, and javadocs. Also, I follow anyone I learned from on Twitter so I could get more insight into the android ecosystem. I got a copy of the Android Big Nerd Ranch book but I’m not much of a book person when I’m on my computer, I mostly just google and SO stuff instead.

Udacity Courses

I got my start learning through Udacity’s courses which were made in partnership with Google

When I was learning the basics I started with these two free beginner courses:

https://www.udacity.com/course/android-basics-user-interface--ud834

https://www.udacity.com/course/android-basics-user-input--ud836

However I started to get a lot more value from these 3 courses, and the first one in this list is where I walked through and built my first decent app with four screens. https://github.com/mrk-han/miwok

https://www.udacity.com/course/android-basics-multiscreen-apps--ud839

https://www.udacity.com/course/android-basics-networking--ud843

https://www.udacity.com/course/android-basics-data-storage--ud845

However, I’m not sure I would recommend starting here anymore because there are better options, and these courses are pretty dated now. But they do focus on learning how to read documentation and grasp a basic flow for how to work with Android and mobile specifics.

If I were starting again and was somewhat comfortable with Java, I think I’d go with this Kotlin course:

https://www.udacity.com/course/developing-android-apps-with-kotlin--ud9012

Also, Udacity updated the intermediate course to cover some AAC stuff which can be taken here:

https://www.udacity.com/course/new-android-fundamentals--ud851

(This actually covers the first quarter of the curriculum for the intermediate android nanodegree.)

If that seems to basic, then this Advanced course is supposed to be legit:

https://www.udacity.com/course/advanced-android-app-development--ud855

Caster IO for Design Patterns / Videos on Specific Things (Lots of GDEs on this site)

CasterIO is somewhat expensive but can be covered by WT professional development fund. But there are some free courses. I found the Design Patterns course to be helpful.

https://caster.io/courses/design-patterns

I also think these github repos are great to reference to see basic examples of a bunch of architectures, testing patterns, or how samples on how to use AACs.

Github Repos (Google Samples)

https://github.com/googlesamples/

https://github.com/googlesamples/android-architecture

https://github.com/googlesamples/android-architecture-components

https://github.com/googlesamples/android-sunflower

https://github.com/googlesamples/android-testing

Specifically I think the AAC examples are excellent (a few people mention theyre better than the sunflower app for better examples of how to actually do things), and the other architecture repo is great to see a bunch of examples of MVP vs MVVM and MVVM with AAC in Android. I think if he’s coming from web these help because Android Activities/Fragments are usually thought of as Views but shouldn’t be in these patterns, right? I guess I’ve read a lot about Architectures being a little more confusing in Android when people switch from Web.

Unit Testing

I’d also recommend a good unit testing course. This one is cheap, and I haven't been through it but it is on my todo list.

https://www.udemy.com/professional-android-unit-testing/

Kotlin Stuff

https://github.com/Zhuinden/guide-to-kotlin

https://kotlinlang.org/docs/tutorials/koans.html

https://medium.com/androiddevelopers/kotlin-standard-functions-cheat-sheet-27f032dd4326

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment