The 10 Rookie Mistakes Every Android Developer Should Avoid
As veteran mobile application developers with experience in most of the popular platforms of the past decade, we feel that the Android platform is one of the most accessible platforms for new developers. With cheap tools, a friendly development community, and a well-known programming language (Java), developing Android apps has never been easier. That said, we still see a number of mistakes that developers who are new to Android make over and over again. Here are the 10 most insidious gaffes.
1. Not Reading the Android Documentation
The Android Developer Website is there to help you. Much of the documentation can be downloaded with the SDK tools and is also available online (our preferred format as it's continually updated). The documentation is far more than just a Javadoc API reference. It includes many guides, tutorials, videos, training, and other helpful material for creating Android applications.
Android Training is the latest of these, organizing helpful tutorials into classes and lessons to guide you through solving particular problems or implementing particular features.
2. Failing to Familiarize Yourself with the Android Tools
The Android SDK is more than just a library you use to compile your application so it runs on Android phones; it has over a dozen tools to help you build apps. Some of these tools help you design the graphics and layouts of your applications. Others are command line tools, which provide easy and scriptable access to emulators and device hardware. Still others help with performance tuning and profiling.
3. Not Asking for Help from the Android Community
The Android community is large and friendly. When you have questions that the Android SDK documentation (see #1) can't answer, we recommend you start at StackOverflow.com, which has a tag specific to Android development. Other helpful resources include Google mailing lists and sites with tutorials, such as you'll find on the Android Development Center.
4. Being Lazy Because Android Apps Are Written in Java
Java may be a high-level programming language with a virtual machine that attempts to make development as straightforward as possible, but that doesn't mean you can be a lazy coder. Standard programming guidelines still apply. Most Android devices have limited processing power and local storage capacity compared with traditional computers, so inefficient or incorrect programming practices have a much larger impact on overall performance and user experience.
5. Assuming Mobile Development Projects Can Be Done on a Shoestring
Small screen != small project. Many developers new to mobile (and, unfortunately, their bosses) are under the mistaken impression that all mobile development projects can be completed over a weekend by a single caffeinated college student. (Yeah, we've heard those stories, too.) However, the truth is that most successful projects require functional specifications, schedules, bug tracking, dedicated engineers, dedicated designers, QA testers, and a release and maintenance plan just like traditional software development projects.