Total Pageviews

Thursday, November 18, 2010

Android Basics

Android History

2003
Andy Rubin Founded Android
2005
Google buys Android, Inc.
Work on Dalvik starts
2007
OHA Announced
Early SDK
2008
First Android Phone G1 Announced
SDK 1.0 Released
2009
Cupcake(1.5), Donut(1.6), Éclair(2.0) versions of Android Released.
2010
2.1 and Froyo(2.2) Released



Android and Java


Dalvik Virtual Machine

  • Its Free 
  • Originally written by Dan Bornstein at Google 
  • Register-based   Vs   stack-based Java VM 
  • Highly CPU optimized Bytecode Interpretor 
  • Uses Runtime memory very efficiently 
  • Highly Compact 
  • Different set of Java Libs than SDK 


Activity


An activity is like a self contained use case. As per Android, it is a single, focused thing that the user can do. Almost all activities interact with the user, so the Activity class takes care of creating a window for you in which you can place your UI with setContentView(View)


Intent


An intent is an abstract description of an operation to be performed. They can be implicit and explicit.

Services

A service is something that can be started and stopped. It doesn’t have UI. It is typically managed by an activity. 

Content Providers

Content Providers share content with applications across application boundaries. This would be useful if you are creating multiple apps with shared content.

Manifest File 
  1. The Android Manifest file describes your application to the Android OS 
  2. Every Application needs to have “AndroidManifest.xml (WITH PRECICELY THAT NAME) in its root dir. 
  3. It describes components like Activities, Services, BroadcastReceivers, Content Providers and Classes that implement these components. 
  4. Permissions that the Application needs should be declared in here 
  5. Permissions that other Applications are required to have in order to interact with the application’s components.
XML-Based User Interface

Android provides a straightforward XML vocabulary that corresponds to the View classes and subclasses. You can use the WYSIWYG tools in Eclipse to build powerful XML-based UI. Check out this link for more details: