Android zensar

Post on 06-May-2015

88 views 1 download

Transcript of Android zensar

Introduction to  Android

Some of the popular operating systems used in mobile gadgets are given below.1. Symbian Nokia

Windows Phone 2. iOS Apple

3. Blackberry O.S Blackberry

4. Android Many Handsetmanufacturers

“Android is a software stack for mobile devices that includes an operating system, middleware and key applications”

“We want the next killer application to be written for cell phones”

- Andy Rubin, Google

• Multiple applications, running simultaneously

• User may switch between running applications

• Background services

• Supports three Orientations

• Has access to wi-fi, phone state, audio settings, external memory access.

Android Market

Self-publish on your own web site

Use a 3rd party application store

• $25 registration fee for developers

• developer receives 70% of each sale

• remaining amount goes to carriers

• Google does not take a percentage

• http://www.android.com/market/

• Market got you down?

• upload APK to your own web server

• http://icecondor.com/download/icecondor-2008-10-26.apk

• use correct MIME type application/vnd.android.package-archive

<------Android enabled Car Stereo

Extras

Android relies on Linux version 2.6 for core system services, acts as a layer between hardware and software.

Manages the following; Security Memory management Process management Network stack Driver model

Not a Java VM

Design constraints: slow CPU, little RAM

Will run on OS without swap space

On compiling .class files will be changed to .dex format

The .dex format runs on the Dalvik platform.

A set of C/C++ libraries used by various components of the Android system.

Some of the core libraries are listed below:• System C library - an implementation of the standard C

system library (libc), tuned for embedded Linux-based devices

• Media Libraries - the libraries support playback and recording of many popular audio, video and image formats .

• Surface Manager - manages access to the display subsystem and seamlessly composites 2D and 3D graphic

• LibWebCore - a modern web browser engine which powers both the Android browser and an embeddable web view

• SGL - the underlying 2D graphics engine• FreeType - bitmap and vector font rendering• SQLite - a powerful and lightweight relational database engine available to all applications

• Activity Manager : Maintains the activities/screens of the applications that are displayed

• Window Manager: Co-ordinates the orientation of phone, sensors etc.

• Content : Manages the data to be transferred between Manager Activities / screens

• View System : Controls the various layouts, button and UI level objects

• Notification : Deals with the display of AlertBox, Toast msgs. Manager

• Telephony : Handles the process like call, sms, mms etc. Manager • Location : Uses Google Maps to access location related info

Manager

It supports wireless communications using

GSM mobile-phone technology

3G

802.11 Wi-Fi networks

Integrated Browser

UI android.widget.* android.view.* android.graphics.* android.app.Activity etc

PhoneState android.content.res.Configura

tion android.hardware.Sensor android.net.wifi.WifiManager

Telephonyandroid.telephony.TelephonyManagerandroid.telephony.SmsManager

Web android.webkit.WebView Camera android.hardware.CameraDevice Local database android.database.* Maps com.google.android.maps.MapView Location android.location.LocationManager Multimedia android.media.MediaPlayer HTTP org.apache.http.client.*

• API Level is an integer value that uniquely identifies the framework API revision offered by a version of the Android platform:

Android 2.3 (Gingerbread)

9/10

Android 2.2 (Froyo)

8

Android 2.0/2.1 (Eclair)

7

Android 1.6 (Donut)

4

Android 1.5 (Cupcake)

3

Android SDK Eclipse plugin  Android emulator Command line tools Documentation Debugging tools Android NDK Android PDK

Essential for the development of applications on android environment.

Consists of the emulator, documentation, debugging tools and command line tools

Also requires ADT plugin for merging with eclipse.Steps you must follow to set up the Android SDK:• Prepare your development computer and ensure it meets the

system requirements.• Install the SDK starter package from the table above. (If you're on

Windows, download the installer for help with the initial setup.)• Install the ADT plugin for Eclipse (if you'll be developing in Eclipse).• Add Android platforms and other components to your SDK.Installers available at : http://developer.android.com/sdk/index.html,

http://developer.android.com/sdk/eclipse-adt.html#installing

NDK is a companion tool to the Android SDK that lets you build performance-critical portions of your apps in native code.The NDK provides:• A set of tools and build files used to generate native code libraries from C and C++ sources• A way to embed the corresponding native libraries into application packages files (.apks) that can be deployed on Android devices• A set of native system headers and libraries that will be supported in all future releases of the Android platform.Some of the needed Android source code packages available in  http://android.git.kernel.org/ are:1)Android.platform.bionic, 2)Android.platform.build,3)Android.platform.system.core, and4)Android.platform.system.base.

• Designed for platform developers and manufacturers building Android-powered devices.• Manages the porting of android operating system into a device that matches requirements• Allows the developer to alter based on their device

Following are the main steps for porting Android: Download the patches for Android Update RIL (Radio Interface Library) for target platform Update Board specific components such as Codec, Camera, Audio, Wifi, Power Management, Bluetooth etc. Compile Android source code Burn system image on Target platform

adb push <packagename.apk> /system/app/ ----------put in system folder

adb devices – ----lists which devices are currently attached to your computer

adb install <packagename.apk> – lets you install an Android application on your phone

adb remount – Remounts your system in write mode – this lets you alter system files on your phone using ADB

adb push <localfile> <location on your phone> – lets you upload files to your phones filesystem

adb pull <location on your phone> <localfile> – lets you download files off your phones filesystem

adb logcat – starts dumping log from the console to a local file – useful for debugging apps

adb shell <command> – drops you into a basic linux command shell on your phone with no parameters, or lets you run commands directly adb devices – lists which devices are currently attached to your computer

• No support for placing or receiving actual phone calls

• No support for camera/video capture (input)

• No support for determining battery charge level

• Emulator limitations

• No support for Bluetooth

• An .apk file extension denotes an Android Package (APK) file. • A variant of the JAR format, is used for the distribution and installation of bundled components onto the Android mobile device platform.

• An APK file is an archive that usually contains the following folders:

META-INFresand files:AndroidManifest.xmlclasses.dexresources.arsc

Java codeDynamic creation of UI

e.g:

AlertDialog.Builder alt_bld = new AlertDialog.Builder(this);

 ImageButton imgBtn = new ImageButton(this); LinearLayout holder = new LinearLayout(this); holder.addView(imgBtn);  alt_bld.setView(holder);alt_bld.show()

XMLUI creation before the creation of apk

The End

Thank

You