Contributed by Brian (Web Apps & Mobile Apps Developer)
In the past few years, mobile technology has boomed very rapidly more than ever. Along with it, we gain the capability to innovate our daily lives with simple mobile applications,using them as handy tools.
Android is one of those technology advancements most mobile device users can’t live without nowadays. Android is affordable, extensible, flexible, and somewhat efficient. Being open-source makes this platform easily accessible to a lot of developers.These developers have evolved to be a great community. Hence, you can find a lot of help through online communities and tutorials.
My journey in developing on Android has been really exciting. I started imagining things that I’d like to create and all that but realized quickly there’s a process I need to go through to turn-around with a good application. I’ll share a few points here as I went through developing my first Android application.
Android development is based on a Java language. I started developing with a moderate knowledge of Java, thus, learning Android development was relatively easy. For individuals with no knowledge in Java, or no prior experience in development, it’s fairly easy to learn, as long as you are determined to learn and tackle unknown terms and ideas. The whole learning and development period I had with my first Android application took roughly about a month.
Steps in Building Your Android Application
Based on my experience, here are the basic steps you need to consider in creating your Android application:
- Plan your application
Android applications are categorized according to their purposes. Before you start creating an app, you need to build your concepts for your application. What is the purpose of the app? What does it do? Currently, the different categories of apps are as follows: Games, Books & Reference, Business, Comics, Communication, Education, Entertainment, Finance, Health & Fitness, Libraries & Demo, Lifestyle, Live Wallpaper, Media & Video, Medical, Music & Audio, News & Magazines, Personalization, Photography, Productivity, Shopping, Social, Sports, Tools, Transportation, Travel & Local, Weather, and Widgets. New applications are made every day. You should make yours as unique as you can and avoid copying other apps.Planning your application also means considering some following steps:
- Screen Designs – User interface and/or user experience is extremely important. This will basically dictate the flow of the application and how the functions will be used. Almost all features and usage will be defined by the screen designs, so it’s good to have a designer in your team or look for great design principles and examples online.It is essential that you consider the different screen resolutions and devices that would be used by your target audience. This means different design for mobile, tablet, and even for landscape and portrait views.
- Architecture – Once you have your screen designs, you need to set everything in order. A structure or architecture can give you the bigger picture and can help you track your project better. You can use graphic flowcharts such as: Home->Settings->Language
- Content – You need to plan how you want your content to be saved. Is it static or dynamiccontent? If you are considering dynamic content, it is best to save certain content in a database like SQLite or as a file on the device. You may also consider offline features and content, which is quite important since not everyone can have access to Internet.
- Monetization – It’s good to plan about making money off your app early inthe conceptualization stage. Some methods like in-app purchases can affect your content and other app features.
- Prepare your machine
To start creating your project, you need to download and install the proper tools needed for your development. All of which can be found online easily and might I add, free!
- Android Development Tools (ADT) – These are tools that convert your assets, xmls and other files to a complete android package (APK), which then can be installed on mobile phones or uploaded to the market.
- Integrated Development Environment (IDE) – This is the tool you use to create and edit android xml files, assets, and other resources. This is very useful as it provides an auto-fill to some functions, error notices, collaboration tools, and many more. You can edit files thru a normal text editor, but why would do that if you have a perfectly great IDE?
- Android Phone/Android Simulator – You will need to have a device to test your app. If you do not have an Android phone you can also use an Android simulator. However, in using the simulator, know that you will be limited to testing functions that do not require a mobile number.
- Develop your application
Again if you are familiar with Java language, this part will be easy to learn. The basic format of an Android project contains resource xml files and the Java code files – basically, a UI xml layout which your IDE can preview easily and a functions Javacode files wherein the behavior of the elements in the xml layout will be defined. There are lots of tutorials online and an active community of developers where you can ask or learn from. A great way to start is to try the android official documentation and help website http://developer.android.com.In developing your Android application, you can specify the different screen sizes you support and which orientation. You can also set the version of Android you can support. The developer website has lots of information and statistics on user devices that are active in the market.
- Test your application
Flexibility is one of the strengths of Android, but is also part of its weakness. Android’s multiple devices and different screen resolutions means that you have a wide range of testing to do. This means that your design should be fluid on the different devices and that is why planning ahead your design could save you a lot of time in development and testing.You can conduct your testing by using the Android Device Simulator (ADS) which can be downloaded for free. You can also use your actual device on-hand by turning the developer option on your Android phone in the settings page -> developer options.Testing with an actual device can have a very different feel and result compared to testing on the simulator so it’s best to test on actual devices.Your application can also set the different versions of Android device it supports. The more the versions supported the more testing needs to be done.
You can set your Application settings such that the user can only install on certain devices defined in a certain category – extra small, small, medium, large, and extra-large screen size.
- Publish your application
After finishing your app, you can put it up on Google Play. Google Play is Android’s most popular Application Market. But you can also put it up on other market services such as Amazon, etc. For Google Play, you would need to have a Google Developer Account which would cost you a one-time payment of $25. This would enable you to publish your app on the Google Play market, which also has other great features such as analytics and application management.Google Play has minimal screening in publishing applications. Your app can have lots of bugs and non-working features and it would still be published. But you do need to be careful, once a package is uploaded and published, it can never be deleted, it can only be hidden. The disadvantage here is that, once a package name is taken, you would need to rename it. So upload only your well-tested final versions.Google Play can publish your app quickly in a span of a few days.
- Maintain your application
Android apps are easy to maintain in Google Play. You essentially don’t have to change the app every new version of Android. You can have multiple versions of your app. You can leave your app without any adjustments and it would still be available in the market. Of course, if you are a serious app developer though, you have to be careful not to confuse your users with multiple versions of your app.Updating your application version is simple. Just upload your most current version and it would automatically update.
I hope you have learned a thing or two from my experience in developing on Android. Good luck on developing apps with your bright ideas. Keep them coming!
If you have any questions, or would like to share any of your own experiences in building an Android app, please be sure to send us your comments. Thank you!