SIMPLE ANDROID APP IDEAS FOR PROGRAMMING
In this blog post we want to take a look at some simple Android app ideas for beginning programmers. Those will be offline apps without any advanced third party libraries. They will help you learn important basic concepts, not avoid them. If you are already an advanced developer, this post is not for you. You should do something more difficult instead.
The quickest learning method is to getting down and doing the actual work. It is also a good way to read programming books or watch courses. But they will be useful for nothing if you don’t practice what you’re learning. If you ever tried to read a book about coding without actually trying it out yourself, you might have experienced situations where a concept totally made sense to you when you first read it. However, when you later tried to reproduce it, you completely forgot how the syntax looked or how to even begin. I definitely had situations like this.
We all want the stuff that bring knowledge to us and do actual work, which means we have to write code. Once you understand the basic concepts and know how to build a simple layout, it’s much more fun to practice by creating an actual app. Usually, it is not exciting when doing exercises in books and it might make you think that programming is as much fun as doing math homework. Building little programs on the other hand is exciting and gives you a sense of accomplishment after you’ve done it. So let’s start with simple Android app ideas first.
Remember don’t give up too quickly if you stumble at problem you can not solve alone! Youtube is a place where free tutorials available, therefore, it may help you solve your problems. Furthermore, you will learn much faster by solving problems yourself.
Here are some simple Android app ideas:
I think there is no developer who didn’t build a Tic Tac Toe game when he first started out. Maybe there are some but Tic Tac Toe is a really nice project to practice coding in a fun and enjoyable way. That’s because the logic behind it is simple enough that even though it’s challenging at first, pretty much everyone can do it. But you will have to ponder a bit to figure it out. (This does not include creating a computer player/AI, that’s a lot harder).
Countdown Timer / Stopwatch
A countdown timer and stopwatch are app ideas that you will probably not hear that often, but they are actually pretty cool and fun to build. They are also quite challenging to actual hand on. First of course you have to get the timer running. But then you also have to properly format the time, which is usually given in form of milliseconds. Transforming milliseconds into seconds, minutes and hours without accidentally counting anything twice can easily take a few hours to figure out (if you don’t look at the solution). There are a lot more tricky problems when building such a timer, but it’s also a lot of fun and you actually create something useful that you can put on your own phone.
After you’ve finished the project you could also build some more advanced timers, like a Pomodoro timer, which automatically counts and alternates between different time intervals.
Random Number Generator / Dice Roller
With something as simple as a random number generator you can do some pretty cool stuff, like picking a random color, flipping a coin or throwing a virtual dice. Very useful for people who can’t make decisions. It’s a rather simple project, but you still have to think a little bit and figure out how to handle click events, how to create a switch statement and how to use the random number generator class, which is a bit tricky as well.
Calculator can create simple Android app ideas that comes in a great project to train your logical thinking and programming skills. Adding or subtracting two numbers in code is pretty simple, but making the app actually behave like a conventional calculator, that for example adds entered digits to the end of the line, has a character count limit and shows the last result after executing a math operation, is a bit more tricky. But tricky is good, because it means you will learn a lot from it.
If that’s too easy for you, try building a scientific calculator. If it’s too hard, try your hands on a tip calculator first, where you just calculate the percentage on a number input or split a bill up into multiple parts.
Why not build a reminder app that shows you notifications for different events throughout the day? Together with the AlarmManager class and some simple input fields you can create an app that sends you notifications on your phone at scheduled times. Maybe build an app that reminds you to brush your teeth 2 times a day or to not forget taking your medication.
Single Note App
An app that can only save and load one single note might be not the most useful tool for your day to day life, but it’s a good way to learn how to write a text file to the internal storage of an Android device. You will use some really raw Java stuff here, like FileInputStream, FileOutputStream and a lot of try/catch blocks.
To Do List / Grocery List
If you want to store large amounts of data offline in structured way and retrieve it later, you have to learn how to use databases.
A to-do list, grocery list or any kind of list app is a great way to start getting into this topic, because the database structure is usually pretty simple and without any complex relationships. Here we use SQLite, which is built into Android by default, so you can use it right out of the box without adding or preparing anything. If you want to show the database entries in your app, you have to learn about RecyclerView too, because a RecyclerView is necessary to display a large list of data in a memory-efficient way. In the playlist linked here we do exactly that. We build a grocery list app with SQLite and a RecyclerView, where we can add different items with a name and an amount, order these entries by their timestamp and swipe them off the list to permanently delete them from the database.
SQLite is pretty low-level and requires a lot of boilerplate code. It’s very easy to make mistakes because the syntax can be confusing and the compiler won’t show you many warnings for wrong SQLite statements. There is an Android library called “Room” that abstracts a lot of this low-level SQLite stuff and makes it easier to use, but nevertheless I think it’s good to start with raw SQLite as a beginner and then switch to Room when you feel like you understand it.
SQLite Multiple Choice Quiz
If you don’t already have enough of SQLite, creating a quiz game is a good way to practice it a bit more. The database schema is slightly more advanced than in the grocery list app and we use some more complicated query methods, but this time at least we don’t need to build a RecyclerView. What we will learn instead are things like how to restore the application state after configuration changes, how to use SharedPreferences to save smaller amounts of unstructured data, how to send variables between different activities (screens) and more. Therefore, this simple Android app will help you have more ideas and experience in programming.
Budgeting App / Calorie Counter / Any Tracker
Another simple but useful idea would be an app that keeps track of some metric in your life, like your finances or nutrition. You would have to figure out how to take user input, how to process it and make your calculations on it, how to store the data and then how to display it in a useful way. And since you are the developer, you can give your app any functionality you want, display the statistics you need and this way build the perfect tracker for yourself.