What I feel are good things to use and implement to become a better Android developer
I found Android development to be something really fascinating. The size of the device and the amount of space you have to captivate the user to use the application in the future was an interesting challenge for me. This is what got me into Android development.
Like every beginner I searched endlessly for tutorials but till today I consider the Android Developer website the best way to learn it. Find it linked below.
I worked my way from building simple calculator applications to now building industry level Android applications. Here are some of the things I recommend any ameatur Android developer to learn.
Image Credits: Huseyin Gurkan
Material Design Guidelines
Go through the material design guidelines. Its is a clearly stated document by Google which outlines how things should look in terms of a design perspective. I have been using material design principles and guidelines to help develop the user interfaces for my applications. It makes a big difference and helps provide the users with an industry level user interface and an excellent user experience.
These simple guidelines can make a huge difference to how your apps look. See for yourself.
Use Libraries
One of the key principles of Object Oriented Programming is to increase reuse of code or rather decrease the habit of reinventing the wheel. It’s a very common approach that a lot of beginners follow wrongly. The approach has two ends:
Don’t use libraries, write every code on your own.
Use a library for everything.
Going completely to either of the ends is wrong practice. If you go to the first end, you’re going to eat up a lot of resources and increase the chances of a buggy module. Don’t reinvent the wheel when there is a limited resource. Go with a tested library and when you’ve got the complete idea and resources, replace the library with your own reliable code.
With the second end, you shouldn’t get used to the idea of relying on others code for everything. Write your own code for things that are within your reach.
So remember, stay in the middle of the two ends — don’t reinvent everything but also don’t over-rely on foreign code. Stay neutral and code to your abilities.
Do try to make use of libraries like Retrofit, ButterKnife and Glide. Keep exploring and find new ones.
Learn to write tests
Learn to use testing libraries like espresso and then move on to using automated testing tools to make your work better. Start by doing unit testing on your application. This will help you get better. Use the link below to learn how to start doing testing.
Testing helps you make sure what you did is correct, helps you spend more time on development and not on trivial stuff like checking if a button works or if certain data is being displayed. Also, it enables you to make sure that features don’t break when you make changes to your code.
Coding standard and Architectures
Look at slowly finding coding conventions and architectures to use to build your applications on. You can figure out good coding conventions from reading code written by others, interacting with other and seeing them code. Start looking at slowly implementing architectures like MVC, MVP and Clean Architecture.
Use this and this for improving your coding standards and the below to learn about different architectures that you can look at implementing.
The main reason to improve your coding standards is so that you and other collaborators will be able to easily understand the code that is written. Architecture is important as it allows you to bring about easier maintenance of code by means of abstraction, encapsulation and a few other OOP’s concepts. In an MVP architecture, most of the functionality are made into separate files and thus are easily able to implement OOP’s concepts and easy to maintain and handle code.
Use ProGuard
Never ever ever, release an application without ProGuard. ProGuard not only minifies your code, but it obfuscates your code making it harder for reverse-engineers to understand, replicate and manipulate it. It’s absolutely free and comes bundled with the Android SDK, and there is absolutely no reason for you not to use it.
I have seen several developers releasing their app on the market without ProGuard. It should not take more than a few hours for a not-so-skilled hacker to manipulate an the app released without Proguard.
Start Using Git, Today!
If you are still not using Git, go ahead and start using it right away.
When I started Android development, I was unfortunate enough not to know what Git was. I used to copy my entire project everyday and keep one backup in my hard drive and another in the cloud. Seems foolish? Yes, it absolutely was. You also have the ability to revert back to previous version (snapshots as git calls them) at any point of time, thus helping you even when you mess up.
Git can dramatically improve your workflow. If someone asks me to name a tool that I use everyday and can’t stop using? It’s Git and Git every time.
Conclusion
These are just a few ways to improve yourself as an Android developer. I myself feel I have a long way to go at becoming a good developer and have a lot to learn, but these are a few things which I felt can help you get better.
I really hope that you find this article useful. I invite you to participate in the discussion in the comments below, I’m always interested to know your thoughts and happy to answer any questions you might have in your mind.
Thanks for reading! :)
P.S Do feel free to connect with me on LinkedIn