If you're a developer wanting to get started with android using Java. Following are my list of prerequisites that you need before getting started.
If you're like me, built a sample android app couple years ago. You could have noted that we can use eclipse. Now that's gone. Google recommends Android studio. So, have it installed.
You might notice that most of the tutorial uses an emulator. That's for the screen recording purpose.
Remember, emulator alone requires 1 GB of RAM
3 GB RAM minimum, 8 GB RAM recommended; plus 1 GB for the Android Emulator
Prefer to use an actual phone over an emulator during the development. Running the emulator along the studio consumes extra 1 GB of RAM, that could be used efficiently for something else. App building was faster when I used a phone for the deployment. The difference was well noticeable on my 8 GB RAM machine.
Android heavily uses OOPS concepts. Hence familiarly in OOPS is a required. There is overriding, generics-collections, type casting, threads, classes, interface and inheritance. Building app natively requires a decent hands on experience in Java. XMLs are heavily used for configuration and building the UI part of the app. But this specific use of XML can be easily picked up if you've any prior programming experience. If you're a JS developer, you already have your options. You can use ionic framework or react native.
SQLite is an embedded SQL database that comes preinstalled on most devices. It is on the iPhone, iPad, and web browsers. That's the reason for it to be the most widely deployed database engine. We need to use this DB for storing data. And DB client for managing db is our last software requirement. SQLitebrowser is available just for that.
Also, I recommend installing Playbook for Developers by Google on your phone. Details about latest Android features, best practices, and strategies all within a single app.