Being from a non-CS background, Android was the first thing I learned when I started to learn how to code. At that time, I was not familiar with Java either.
Learning Android for the first time
I remember learning Java first and then proceeding with Android development. I learned from the book Learn Java for Android Development by Jeff Friesen.
This is a good book that taught me a lot of basics related to Java and Computer Science. After that, I started to learn from the Android developers’ website, which was very thorough and up-to-date.
It had been a long time for me since I had worked on an Android project, so recently I decided to check out the advancements that have been made in the recent years. I used to read on the different new ways that emerged to develop Android apps, like React Native, Cordova, Kotlin, etc.
This time I decided to go for a certified specialization by Coursera: Android App Development Specialization. It turned out to be a great idea for me, since I got to learn about Android from the basics. My former knowledge was shallow and the courses cleared a lot of questions I had related to the topic. I am sharing some things that I learned while going through the specialization.
Things I learned
- Lifecycle methods
- Concurrency in Android
- Broadcast receivers
- The Android linux kernel
- RAM management in Android
- Anonymous shared memory (cashmem)
- Hardware Abstraction Layer (HAL)
- Android runtime execution environment
- Java libraries included in Android
- Core Android libraries
- The Native Development Kit (NDK)
- Content resolvers
- Inter-process communication (IPC)
Overall, it turned out to be a good idea to do the specialization. I wanted to work on some Android projects, but had forgotten most of the things. The specialization turned out to be very helpful.
One of the projects that I will be working on in the future is: Idea tracker plus, an Android application for tracking your ideas.
- [amazon] Amazon.com. Learn Java for Android Development. Retrieved from https://www.amazon.com/Learn-Java-Android-Development/dp/1430264543
- [developer.android.com] developer.android.com. Android developers. Retrieved from https://developer.android.com/guide/index.html
- [React Native] Facebook. React Native. Retrieved from https://facebook.github.io/react-native
- [cordova] apache. Cordova. Retrieved from https://cordova.apache.org/
- [android and Kotlin] Google. Android and Kotlin. Retrieved from https://developer.android.com/kotlin/index.html
- [coursera android] Coursera. Android App Development Specialization. Retrieved from https://www.coursera.org/specializations/android-app-development