210 likes | 226 Views
Android Introduction. Platform Overview. What is Android?. Android is a software stack for mobile devices that includes an operating system, middleware and key applications. OHA (Open Handset Alliance). Android was developed by Google & OHA.
E N D
Android Introduction Platform Overview
What is Android? • Android is a software stack for mobile devices that includes an operating system, middleware and key applications.
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
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.
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.
Application Layer • Android provides a set of core applications: • Email Client • SMS Program • Calendar • Maps • Browser • Contacts • Etc • All applications are written using the Java language. • Developer can write an application & introduce it in existing system.
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 calls Location Manager: Location update using GPS or cell tower. Resource Manager: manages various types of resources we use in our application.
Libraries Including 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
Android Runtime Core 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.
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 time • The dx format is a highly efficient and compact bytecode • Android SDK converts it to .dex files, which run on Dalvik Vm. • .dex files can not run on JVM.
Life Cycle of Android application • .dex files + resource files + class files = .apk file • It’s actual Android application package ready to be installed on android devices.
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 services • Memory and Process Management • Networking • Drivers • Security
Wireless Application Protocol • WAP is a technical standard for accessing information over • mobile 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 browser WAP Gateway WWW Server
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.
Android Development Tools • 1. Android Software Development Kit • Contains 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.
Android Development Tools • 2. 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.
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 Machine • The 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.
Standalone ADT installation 1. Download Google 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. http://developer.android.com/sdk/index.html 2. Extract & start Extract the zip file and start Eclipse from the eclipse folder via the eclipse native launcher, e.g. eclipse.exe under Windows.