How to Develop Android Apps

Posted by HG in Labels: ,

Know Your Market

Whether you are developing android apps for tablets or phones it is important to research and analyze the market.
Carefully study your niche, get to know your competition and future users.
Study the top 3 and worst 3 apps that are relevant to your project. (What are their strong and weak points? How can you be better and stand out? How can you add value and make users happy? )
Social networks (Facebook, Twitter, Youtube), forums, blogs and Market user reviews are great to help you in your research and get feedback.
As more and more people turn to smartphones as their primary method of handling everyday activities, it is important to take into consideration what kind of attitudes, behaviors an app may promote. A violent game will promote irresponsability and ignorance on the long run, on the other hand a multi-player word or puzzle game boosts analytical thinking and social growth, while a weight loss or stop smoking app stimulates a positive change by helping users to get rid of their frustrations. On CNN is great article on this.

Love your users and aim to give the best and highest quality application for them. Stand out with a well taught interface, beautiful design, speed and pay attention to the smallest detail. Add value and help them reach their goals with an app that they can easily incorporate into their life and workflow.

Tools and Installation

The two most important tools you will need is Android SDK and a development environment, such as Eclipse.
For Eclipse make sure you are using the latest Java Runtime Environment(JRE) or Java Development Kit(JDK).

 

Coding

To develop android apps you will need to be familiar with the Java programming language. If you are a total newbie on Tuts+ you will find a detailed beginner friendly introduction with everything you need to know about using Java in your Android app project.

Tutorials
Hello World Tutorial - This is the most simple and basic tutorial for beginners. You will learn how to create a new project, construct a simple UI, run an application
Android Video Tutorials - This is the best resource for beginner and advanced android developers. Here you will find 200 detailed, easy to follow tutorials on how to set up a button, add background, images or music, how to create a browser, save data, get location, draw bitmaps or how to use voice recognition. SQLite databases, and many more.
Official Google Tutorials - Another great list with useful how to's of the various types of views, frameworks, layouts available.

Sample Apps
Barcode Scanner - Uses camera to decode and scan barcode  
Android's Fortune - A simple quote and fortune cookie app  
Vidiom - Lets you capture and publish MP4 videos, integrates with social networks    
Mileage - Track car mileage and costs, import and export data etc.   
FeedGoal - Rss/Atom feed reader    
Standup Timer - Meeting timer for Android devices  
Sample apps by Google - A great compilation of open source app from Snake to Tic Tac Toe or Spinner  

Design and UI Tips

Keep it Simple Use colors Wisely - Work with a coordinated color scheme, where elements are linked together by a design or colors. See more on color harmonies here). When comes to background stay as clean as possible and choose something that you can build upon. Avoid Clutter
  • do not abuse font types and sizes
  • avoid overpopulating your app with icons, buttons
  • prioritize and concentrate on the most important thing. Do not overwhelm your users with too many options
  • have enough space between UI elements (spacing is advised to be at least 8dp).
As rule of thumb on dashboard shouldn't be presented more than 6, while on quick actions and tabs more than 4 functions. Also make sure lists are easy to read with contrasting section dividers.

Make it Predictable  
Use platform specific icons and actions - People are used to the Android environment and they identify certain gestures, icons with their specific functions. The last thing you want is to make them confused.
Show progress and give touch feedback - Users like to know what is happening around them, the effects of their actions. Visually indicate progress, which objects were touched, what is enabled or disabled. A nice custom progress bar tutorial you can see here    

Make it Unique Respect your users and offer them a unique visual experience with a clean presentation, beautiful high quality icons and buttons.Induce positive feelings and emotions with your choice of colors and designs. Make your users feel at home. Have a clear message with supporting graphics. You could go organic or retro, mimic real life objects or use textured icons and backgrounds.


Users Comfort First  
Make it fast- Limit the number of objects created, use efficient algorithms, and do not abuse method calls. Profile and optimize your code. A great profiler is VisualVm. You can find the Eclipse launcher of VisualVM here. For more performance tips check out Google Docs .
Size Matters - It is important to find the right balance between usability and aesthetics, especially when there are so many different target devices. The best is to test and improve, test and improve. Use large enough font sizes and tap targets. The size of touchable UI elements should be at least 48dp high and wide. On supporting multiple screen sizes and platform versions click here  
Support both orientations - With the exponential growth of tablet and large -screen smartphone market supporting landscape mode is something that shouldn't be forgotten.    
Integrate with other apps - People look for multi-functional apps that can quickly and easily satisfy their needs. Let them do want they want from within your app and improve user experience by incorporating other tools and applications, such as sharing, texting, GPS and maps, taking photos etc. Android offers an easy way to achieve this with Intents    
Personalize - Offer customization options (change background, font size, color, sounds etc)  
Other things to consider - Allow multi select (for deleting, moving multiple objects at the same time), use auto complete forms/fields, allow search suggestions.


Android GUI Sets
GUI for Android ICS - Google offers a nice GUI Psd collection for developers.
Android Asset Studio - AAS lets you easily generate you own icons. It also comes with a handy device frame generator. Both work great.
Android GUI Psd - A beautiful well made GUI set for Android. The set includes: circle buttons, radio, google search, signal bar, keyboard, main menu and many more
Android Gingerbread GUI - A nice set with many UI elements to help you in your project.
Android Icons - Another great set with vector-built fully editable icons.
Android 2.3.4 GUI - High density Psd set with customizable app icons, buttons, bars, keyboards and so much more.
Bookmark/Share this Article