I've been thinking for a long while to launch a tutorial series on Android apps, and more, but I wanted to get better at it myself before giving out tips to the world. I've been working on Android apps on and off for the past two years and I'm eager to share some tips to make your life easier and get better at making them.
I'm considering that you're using the latest version of Android Studio (seriously you have no reason not to use it) and having an Android phone with android 5.0 or higher.
1. Use ADB over network
This goes without saying, if you wanna develop for any platform I totally recommend you getting a phone/tablet that runs that OS. In this case, get a damn Android phone. That's because when you run your apps in an emulator, you don't really get the real feel of using it, it's a very detached experience and your users will suffer in the end. You're probably already using one anyway,
But, to take this tip to the extreme, there's a thing called ADB over network. What it basically does is to let you build and install your apps on your phone instantly without the need for a USB cable, or a dock. Be mindful to only use this only in your local network because it will make your phone a sitting duck for attacks.
The easiest way to activate ADB over network is to have your phone rooted and download an app like "ADB over network" (pretty explicit name huh?), there are hundreds of them on the Play Store. After you activate it, it's going to give you the local IP address of the phone and open a port.
If you're on a PC open a command prompt and type:
adb connect 192.168.1.x
And if you're on the Mac side of things open a terminal window and type:
./adb connect 192.168.1.x
Now you're all set and done. If you've done it right Android Studio will automatically have your phone as a target to install the app on.
2. Think design first
I know most of you probably are developers here and you have you're ways of thinking this through, but hear me out for a second. Forget everything that you know about programming. Before being an app developer I started out as a designer, I used to make logos and all kinds of cool stuff, and I still do. This gave me an incredible advantage over other developers because my apps not only work great, they look and feel great. Trust me, I'm never going to download your app if it looks bad, no matter what it does, and no other human being with an eye for good looks will either. So you gotta think about how everything in your app ties together, how the user interacts with it, and if it's a pleasurable experience
If you're really bad at this, you should totally follow the Material Design Guidelines from Google, it will set you up in the right direction and give you many important tips. But remember that rules are made to broken, so feel free to come up with your own ideas, just don't make it look like an iOS app or something.
Here are, in my opinion the most important things to look for:
One way of improving the looks of your app 10x is to use a great color palette. If you're not using a color palette you're doing it wrong. I like to use flatuicolors, but there are many other alternatives such as materialpalette.
I've seen some horrible looking icons in my life and I hope people will finally stop using them. If you don't have a designer or illustrator in your team, you have two options: you either make them yourself in Illustrator (they have to be vectors so they won't get all fuzzy and grainy when scaled), or the best and easiest option is to check Google's own collection of icons right here. Not only that they look amazing, but you can also change their color and size at your heart's contempt.
Nowadays there's no real excuse not to use animations in your apps, and this topic deserves it's own article in the future. Seriously now, our phones have beefed up processors and 4000 mAh batteries, a little animation here and there won't hurt anyone. I've been struggling myself a lot to learn how to make good animations in Android. The most important thing to remember is to not go overboard with them. Try to use them as much as possible but in subtle ways, the idea is to complement your app and direct people's attention to the right spot, not needing a GTX TITAN to render them.
3. Let someone else give you feedback
When you make an app, you *probably* know everything about it. Your code is like your secret base, you know every single nook and cranny inside of it. While this is a totally good thing, it will give you a biased view on your app. You might think pressing that button three times and swiping left and right to reveal something is ez pz because you did it 100 times to test it. But I assure you someone new won't have a damn idea what to do. So let other people test it, and ask for feedback. Maybe what you thought was easy is really unintuitive and a complete hassle.
If your grandma can use it, you're doing it right.
4. Share your ideas with others
In today's day and age I feel it's counter intuitive not to communicate with other people. Don't be scared that someone is going to steal your work, and don't be shy to steal other people's work. If it was worth stealing from you, it means it's great and you should continue with it. The point is to mix and match, get inspiration from other people's work and share yours. The result of doing this will benefit you as well as everyone else.
5. Advertise yourself
This goes hand in hand with the last point, but you can take it to the next level. I see lots of talented developers finding nowhere to work just because they don't know how to sell their craft, they can't advertise themselves and nobody will take them seriously.
Dedicate the same amount of time that you work on your projects to hustle. Get out there, show your work to the world. The only prerequisite to this is to make some great work in the first place.
6. Use the dark theme in Android Studio
I can't stress this enough people, if you're not using the dark theme you're not a real developer.
If you follow the steps you'll improve your app game by a long shot, but aside from these tips try to come up with your own style and don't forget to share your own ideas with me, and the community too.