Building an app has been something I've been curious about for a number of years but I have never previously had a chance to work on one.
For my final project in an electrical engineering class on IoT (Internet of Things) devices, I chose to build an Android app to test, and troubleshoot problems with, wireless connectivity. What I discovered is that the process of creating an app for the Android operating system is more straightforward than I thought.
Write the Code
An app is nothing without code. Android apps typically consist of either Kotlin or Java. Although I worked in Java on my app, included below are links for learning both languages.
I started by writing my Java code in the IDE (integrated development environment) Sublime. An IDE is like a special Word processor made specifically for code. It makes development easier and more intuitive than, for instance, writing code in a run-of-the-mill text editor.
Create a Prototype
If the app you want to create has multiple screens, a help page, scrollable information, or other "bells and whistles," it may be helpful to either put pen to paper and draw out how you want the final app to look or to use an online prototyping tool to make your thoughts more concrete.
There are many options available for prototyping online, but proto.io was delightful to use. After a free trial, there is an associated fee, but if you're really serious about app development, you may deem the cost more than worth it.
Build the App
Remember that mention of the Sublime IDE earlier? For Android app development, there is a more specialized IDE called Android Studio. Google's Android Developers page has a great tutorial on getting started with the actual app building, linked here. Once you understand the basics, it is much easier to use that foundation to build your own app.
My favorite feature in Android Studio is the Android Emulator. Say that you want to see what your app would look like on the Google Pixel 2. You can simulate this device and run your app, in its current state, without having to connect a real device or download the app onto an actual phone. It makes the development process much easier.
I hope to see your work in the app store soon! Best of luck!