Recently, with my blog ‘A look at mobile websites’, I gave a insight about the growth of use of smart mobile devices. These devices, which are glued to human hands, ears and eyes for more hours in the day than ever before, run on mobile operating systems, like iOS, Android, Symbian, Windows 7, etc.
I thought it would be beneficial to dedicate this blog to introduce you to the fastest-growing mobile operating system in Google's Android.
What is Android?
Android is a software stack for mobile devices that includes an operating system, middleware and key applications. The Android OS can be used as an operating system for cellphones, netbooks and tablets, including the Dell Streak, Samsung Galaxy Tab and other devices.
Skills you’ll need to dive into Android programming:
- For technical and programming skills, knowing Java will make you more comfortable. Also understanding of common, object-oriented languages like C++ and C# will make someone pick things up quickly, as apps you develop in Android are heavily dependent on the said frameworks.
- Some experience with a tag-based view technology like HTML or Adobe's Flex will makes the views very familiar.
Difficulties you’ll encounter:
- Layouts would be the hardest initial things to overcome as an Android developer. It required digging into the source code to make things look the way you wanted. There were things that were just not skinnable, or required making a completely new component, or changing the design.
- Taking full-size pictures in the app and using those pictures is harder than it should be.
- Another thing that is almost unbelievable is how much of a pain it is to work with maps. It requires signing up for an API key per computer to even see maps. Compare that to iPhone map development with Google maps, where you don't have to do any of that. They just work.
Tools you should have on hand:
- You need the Android software development kit, which comes with the emulator. Most developers prefer Eclipse for Java development, and the Android Developer Tools work with Eclipse.
- It also really helps to have a device, especially when doing things with location or with the camera.
Things you need to consider as you are creating Android-based apps for multiple devices:
- The big one is layout. If you fudge a layout to just get it working on a single device, it's going to get you later. You'll also need to prepare for different APIs not being supported, like the camera for instance. Designing the application well is going to make you think harder about the core functionality and use cases you want to support.
Best support resources for Android programmers:
- The Android Developers site would be a great help. It has all the associated documents, code and the Google groups.
- And as Android is open source, you can easily run searches and see what Google engineers did to make the core apps do what they do.
Comments
blog comments powered by Disqus