Mobile Ecosystem OEM Service Developers Provider Users
Mobile Operating Systems Android Symbian iOS Blackberry OS Samsung Bada Windows Mobile Windows Phone 7
Key Differences: Android vs. iPhone iPhone Android OS is proprietary OS is open source OS runs on iPhone or iPod OS can be licensed for Touches only any mobile device Apps written in Objective- Apps written in Java C Dev tools for many OS’s Dev tools Mac-only No approval process for Apple must approve all apps Android Market apps Application Store All apps considered equal (choose your browser)
Android History Founded in 2003. Acquired by Google in August 2005 OHA was firmed in November 2007. Since October 2008 Android has been available under a Free Space Software/Open Source License.
Linux Kernel The architecture is based on the Linux 2.6 kernel. Android use Linux kernel as its hardware abstraction layer. It also provides memory management, process management, a security model, and networking, a lot of core operating system infrastructures that are robust and have been proven over time.
Native Libraries The next level up is the native libraries. Everything that you see here in green is written in C and C++. Its at this level where a lot of the core power of the Android platform comes from.
Applications And the final layer on top is Applications. This is where all the applications get written. It includes the home application, the contacts application, the browser, and your apps. And everything at this layer is, again, using the same app framework provided by the layers below.
Application Building Blocks Now, if youre going to write an app, the first step is to decompose it into the components that are supported by the Android platform. • UI component typically corresponding to Activity one screen. • Responds to notification or status changes. Intent Receiver Can wake up your process. Service • Faceless task that runs in the background. Content Provider • Enable applications to share data
Application Building BlocksAn activity is a single, focused thing that the user can do.Activity LifecycleActual Representation
Application Building Blocks They are nothing Else but messages. We need to intent if we need to start any Activity , Service or Broadcast Messages.
An Activity Diagram Activity One Intent Activity Two
Application Building Blocks A service run in the background. User for long running task. A good example is a music player. A Service is not a separate process and A Service is not a thread.
Component Services Notification Communication Service Pause/rewind Background running /stop/restart for playbackMedia Player Activity Binder
Application Building Blocks Content providers store and retrieve data and make it accessible to all applications. This is only way to share data across applications. Examples of Content Provider – Contacts, SMS, Calendar, User Define etc.. And NOT email
Components - Content Providers Application Activity Activity Application Application Activity Content Resolver Service Content Resolver Content Provider Content Resolver Remote Data SQLite XML Store
Let’s make our First AVD Android Virtual Device
IDE + Hello World + ProgramStructure Lets jump into programming now !!Learning Android is as simple as biting an Apple!
Installation Resources At Least 2GB of Ram minimum. Install Java Run Time. Copy Android SDK directories into your system Install Android SDK manager Get Eclipse Add ADT plug-in to Eclipse Get Android SDK directory on eclipse