Home and Blog button

Pages

Introduction

Welcome To my Blog !!
This is a blog where you can get some knowledge that i have learned and been using. Sharing is gaining pals. So Happy Sharing and don't forget to follow and link my blog with yours! Thanks.
Happy Programming!!

Sunday, August 21, 2011

Things to know before going for Android Development!

Android Development platform is one of the growing mobile development platform which is gradually taking market share.  If you are thinking of doing some android development, then the following information might be helpful to you to have some overview on Android Development. You can skip this section and jump to “Setting Up Android Development Environment”, but knowing background of the platform is more helpful to make the vision of what you are doing.

A Brief History of Android

Android was first publicly noticed in 2005 when Google acquired a small startup called Android, Inc. In 2008, the release of version 1.0 of Android put an end to all speculation, and Android became the new challenger on the mobile market. Since then, it’s been battling it out with already established platforms such as iOS (then called iPhone OS) and BlackBerry, and its chances of winning look rather good.

Why Android?
  1. Because Android is open source.
  2. Handset manufacturers have a low barrier of entry when using the new platform.
  3. They can produce devices for all price segments, modifying Android itself to accommodate the processing power of a specific device.
  4. Android is therefore not limited to high-end devices but can also be deployed to low budget devices, thus reaching a wider audience.
  5. A crucial ingredient for Android’s success was the formation of the Open Handset Alliance (OHA) in late 2007. The OHA includes companies such as HTC, Qualcomm, Motorola, and NVIDIA, which collaborate to develop open standards for mobile devices. Although Android’s core is developed mainly by Google, all the OHA members contribute to its source in one form or another.
Android itself is a mobile operating system and platform based on the Linux kernel version 2.6 and is freely available for commercial and noncommercial use. Many members of the OHA build custom versions of Android for their devices with modified user interfaces (UIs)—for example, HTC’s HTC Sense and Motorola’s MOTOBLUR. The open source nature of Android also enables hobbyists to create and distribute their own versions of Android. 
Since its release in 2008, Android has received seven version updates which are as follows:
  1. Version 1.1 (No code name)
  2. Cupcake (Version 1.5 )
  3. Donut (Version 1.6 )
  4. Eclair (Version 2.0)
  5. Froyo (Version 2.2)
  6. Gingerbread (Version 2.3)
  7. Honeycomb (Version 3.0)
Fragmentation
The great flexibility of Android comes at a price: companies that opt to develop their own user interfaces have to play catch-up with the fast pace at which new versions of Android are released. This can lead to handsets not older than a few months becoming outdated really fast as carriers and handset manufacturers refuse to create updates that incorporate the improvements of new Android versions. The big bogeyman called fragmentation is a result of this process. Fragmentation has many faces. For the end user, it means being unable to install and use certain applications and features because of being stuck on an old Android version. For developers, it means that some care has to be taken when creating applications that should work on all versions of Android. While applications written for earlier versions of Android will usually run fine on newer versions, the reverse is not true. Some features added in newer Android versions are of course not available on older versions, such as multi-touch support. Developers are thus forced to create separate code paths for different versions of Android.
But fear not. Although this sounds terrifying, it turns out that the measures that have to be taken are minimal. Most often, we can even completely forget about the whole issue and pretend there’s only a single version of Android. If we are a game developer, we’re less concerned with differences in APIs and more concerned about hardware capabilities. This is a different form of fragmentation, which is also a problem for platforms such as iOS, albeit not as pronounced.

The Role of Google
Although Android is officially the brainchild of the Open Handset Alliance, Google is the clear leader when it comes to implementing Android itself as well as providing the necessary ecosystem for Android to grow.

The Android Open Source Project
Google’s efforts are summarized under the name Android Open Source Project. Most of the code is licensed under Apache License 2, a very open and nonrestrictive license compared to other open source licenses such as the GNU General Public License (GPL). Everyone is free to use this source code to build their own systems. However, systems that are claimed to be Android compatible first have to pass the Android Compatibility program, a process ensuring baseline compatibility with third-party applications written by developers like us. Compatible systems are allowed to participate in the Android ecosystem, which also includes the Android Market.

The Android Market
The Android Market was opened to the public in October 2008 by Google. It’s an online software store that enables users to find and install third-party applications. The market is generally accessible through the market application on a device as well as from the online internet browser.

The market allows third-party developers to publish their applications either for free or as paid applications. Paid applications are available for purchase in only about 30 countries before but now it has added many more countries. Selling applications as a developer has also been widely increased than before. Please check http://android.marketplace.com for further details.

The Software Development Kit
To develop applications for Android, the Android software development kit (SDK) is used. The SDK is composed of a comprehensive set of tools, documentation, tutorials, and samples that will help you get started in no time. Also included are the Java libraries needed to create applications for Android. These contain the APIs of the application framework. All major desktop operating systems are supported as development environments.

The prominent features of the SDK are as follows:

  1. The debugger, capable of debugging applications running on a device or in the emulator
  2. A memory and performance profile to help you find memory leaks and identify slow code
  3. The device emulator, based on QEMU (an open source virtual machine to simulate different hardware platforms), which, although accurate, can be a bit slow at times
  4. Command-line utilities to communicate with devices
  5. Build scripts and tools to package and deploy applications

The SDK can be integrated with Eclipse, a popular and feature-rich open source Java integrated development environment (IDE). The integration is achieved through the Android Development Tools (ADT) plug-in, which adds a set of new capabilities to Eclipse to create Android projects; to execute, profile and debug applications in the emulator or on a device; and to package Android applications for their deployment to the Android Market. Note that the SDK can also be integrated into other IDEs such as NetBeans. There is, however, no official support for this. The SDK and the ADT plug-in for Eclipse receive constant updates that add new features and capabilities. It’s therefore a good idea to keep them updated. Alongside any good SDK comes extensive documentation. Android’s SDK does not fall short in this area and comes with a lot of sample applications. You can also find a developer guide and a full API reference for all the modules of the application framework at here. For Setting up your Android SDK, please go through this post by me.

The Developer Community
Part of the success of Android is its developer community, which gathers in various places around the Web. The most frequented site for developer exchange is the Android Developers group at this group. This is the number one place to ask questions or seek help when you stumble across a seemingly unsolvable problem. The group is visited by all sorts of Android developers, from system programmers, to application developers, to game programmers. Occasionally, the Google engineers responsible for parts of Android also help out with valuable insights.

Registration is free, and I highly recommend starting reading the group now! Apart from providing a place for you to ask questions, it’s also a great place to search for already answered questions and solutions to problems. So, before asking a question, check whether it has been answered already.


Hope this information might be useful for getting some vision on how to go on with Android Development.

4 comments:

  1. By learn your post I got a good definition about software development kit.This is one of the reliable post.
    Android app developers

    ReplyDelete
  2. Took me time to read all the comments, but I really enjoyed the article. It proved to be very useful to me and I am sure to all the commenters here! .

    ReplyDelete
  3. Excellent pieces. Keep posting such kind of information on your blog. I really impressed by your blog.

    ReplyDelete

Search This Blog