2 What is Android?Android is a software stack for mobile devices that includes an operating system, middleware and key applications.
3 OHA (Open Handset Alliance) Android was developed by Google & OHA.OHA: Business alliance consisting of about 84 companies to develop open standards for mobile devices
4 Features of Android Open Source Runs on all deployed cellular standards like GSM,CDMA.Provide support for multiple Languages.Attractive & flexible UI.Secure than other operating systems.Improved Performance.
5 Android Architecture Layered Architecture. Each layer is a group of several programs.Includes Operating system, Middleware, Application Programs.Each layer provide different services to layer above it.
7 Application Layer Android provides a set of core applications: ClientSMS ProgramCalendarMapsBrowserContactsEtcAll applications are written using the Java language.Developer can write an application & introduce it in existing system.
8 Application Framework Provides tools for development of Android Applications.Activity Manager: manages activity lifecycle of application.Content Provider: manages data sharing among applications.Telephony Manager: manages all voice callsLocation Manager: Location update using GPS or cell tower.Resource Manager: manages various types of resources we use in our application.
9 LibrariesIncluding a set of libraries used by components of the Android system.Written in C/C++ language.SQLite: Database engine used in android for data storage purpose.WebKit: Browser engine to display HTML contents.Media Framework: allows recording & playback of media files.Surface Manager: Off Screen Buffering.OpenGL: Render 2D or 3D graphics to the screen
10 Android RuntimeCore Libraries: Provides most of the functionality available in the core libraries of the Java language.Dalvik Virtual Machine: Open Source s/w by google.It’s actually a type of JVM used in android devices to run applications.It is optimized for low processing power & low memory environment.Multiple instances of Dalvik VM are created for higher efficiency.
11 Life Cycle of Android application Android application starts its life as Java Source code.Compiled by Javac to byte code (.class files).Byte code is input to Android SDK.The dx tool available in the SDK converts Java bytcode to DVM bytcode at build timeThe dx format is a highly efficient and compact bytecodeAndroid SDK converts it to .dex files, which run on Dalvik Vm..dex files can not run on JVM.
12 Life Cycle of Android application .dex files + resource files + class files = .apk fileIt’s actual Android application package ready to be installed on android devices.
13 Android S/W Stack – Linux Kernel Provides an interface between the H/W and the rest of the S/W stack.Interact with H/W and contains all h/w drivers.Whole Android OS is built on top of the Linux 2.6 Kernel with some changes made by google.Provides following servicesMemory and Process ManagementNetworkingDriversSecurity
14 Wireless Application Protocol WAP is a technical standard for accessing information overmobile wireless network.It is wireless equivalent to internet protocol stack TCP/IP.WAP architecture has three components.A WAP browser is a micro web browser for handheld devices.They are designed to run within the constraints of memory & bandwidth of device.Wireless Markup Language, WML is used to design such simple pages.Gateway Feature of WAP allows transmission of data from wireless to wired world.WAP browserWAP GatewayWWW Server
15 WAP uses WTLS(Wireless Transport Layer Security) and SSL/TLS(secure socket layer or transport layer security),to secure communication between the mobile phones and other parts of the WAP architecture.
17 Comparison Of Android With three other Popular Mobile OS IosAndroidBlack BerrySymbianCompanyAppleOHA and GoogleRIMSymbian FoundationLatest Version6.04.2 Jelly Bean7.1Nokia BelleCPU Architecture TypeARMARM,Power MIPS,x86PL used to write the OSC,C++,Objective CC,C++,JavaJavaC++LicensingProprietaryOpen SourceEclipse Public licenseMultiuser?NoIn Jelly Bean
18 Android Development Tools 1. Android Software Development KitContains the necessary tools to create, compile and package Android application. Most of these tools are command line based.Also provides an Android device emulator, so that Android applications can be tested without a real Android phone.You can create Android virtual devices (AVD) via the Android SDK, which run in this emulator.Contains the Android debug bridge (adb) tool which allows to connect to an virtual or real Android device.
19 Android Development Tools Google has provided ADT to develop Android applications with Eclipse.ADT is a set of components (plug-ins) which extend the Eclipse IDE with Android development capabilities.ADT contains all required functionalities to create, compile, debug and deploy Android applications from the Eclipse IDE.
20 Android Development Tools Includes AVD, Android virtual device manager. Which helps to create an emulator. This emulator behaves like a real Android device (in most cases) and allows you to test your application without having a real device.3. Dalvik Virtual MachineThe Android system uses a special virtual machine, i.e. the Dalvik Virtual Machine to run Java based applications.Dalvik uses an own bytecode format which is different, more compact from Java bytecode.
21 Standalone ADT installation 1. DownloadGoogle provides a pre-packaged and configured Eclipse based Android development environment. The following link allows to download a archive file which includes all required tools for Android development.2. Extract & startExtract the zip file and start Eclipse from the eclipse folder via the eclipse native launcher, e.g. eclipse.exe under Windows.