Introduction to android

Post on 15-Jan-2015

1,163 views 0 download

Tags:

description

Basic of Android. Very f

transcript

Introduction to Android

Outline What is Android? Why Android? Android Software Stack Android Development Environment First Android Application

What is Android ? Google's Android is the world’s most popular

mobile platform.

It is a modified version of Linux.

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

History Android, Inc. was founded in October 2003

by Andy Rubin ,Rich Miner,  Nick Sears and Chris White  to develop, in Rubin's words

"smarter mobile devices that are more aware of its owner's

location and preferences".

Android Inc. acquired by Google in August, 2005. 

At Google, the developed a mobile device platform powered by the Linux kernel.

On November 5, 2007, the Open Handset Alliance came with a goal to develop open standards for mobile devices.

That day, Android was unveiled as its first product, a mobile device platform built on the Linux kernel version 2.6. 

The first commercially available phone to run Android was the HTC Dream in 2008.

Since 2008, Android has seen numerous updates which have incrementally improved the operating system, adding new features and fixing bugs in previous releases.

Version History

Version Code name Release date API level

1.5 Cupcake April 30, 2009 3

1.6 Donut September 15, 2009 4

2.0–2.1 Éclair October 26, 2009 7

2.2 Froyo May 20, 2010 8

2.3 Gingerbread December 6, 2010 9

3.x Honeycomb May 10, 2011 12

4.0.x Ice Cream Sandwich December 16, 2011 15

4.1.x Jelly Bean July 9, 2012 16

4.2 Jelly Bean November 13, 2012 17

Features : Provides us SDK for developing Applications

Runs on Dalvik virtual machine

Video and audio codecs

Bluetooth 3G, and WiFi, Camera

Integrated browser based on the open source WebKit engine

Optimized graphics powered by a custom 2D graphics library; 3D graphics based

SQLite for structured data storage

Media support for common audio, video, and still image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)

GSM Telephony (hardware dependent)

Why Android?

The ability for anyone to customize the

Google Android platform

The consumer will benefit from having a wide

range of mobile applications to choose from

since the monopoly will be broken by Google

Android

Men will be able to customize a mobile

phones using Google Android platform like

never before

Features like weather details, opening screen,

live RSS feeds and even the icons on the

opening screen will be able to be customized

In addition the entertainment functionalities

will be taken a much higher by Google Android

being able to offer online real time multiplayer

games

Android Software StackThe software stack is split into Four Layers:

The application layer

The application framework

The libraries and runtime

The kernel

Linux kernel

The architecture is based on the Linux2.6 kernel. Android use Linux kernel as its hardware abstraction layer between the hardware and rest of the software.

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++.

Android Runtime

The Android Runtime was designed specifically for Android to meet the needs of running in an embedded environment where you have limited battery, limited memory, limited CPU.

Dalvik Virtual Machine The DVM runs something

called dex files, D-E-X and these are byte codes that are the results of converting at build time.

Application Framework

This is all written in a Java programming language and the application framework is the toolkit that all applications use.

Views that can be used to build an application, including lists, grids, text boxes, and buttons.

Content Providers that enable applications to access data from other applications (such as Contacts), or to share their own data .

Resource Manager, providing access to non-code resources such as localized strings, graphics, and layout files .

Notification Manager that enables all applications to display custom alerts in the status bar.

Activity Manager that manages the lifecycle of applications and provides a common navigation back stack.

Application Layer

The final layer on top is Applications.

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.

Android Development Environment Java Development Toolkit

Eclipse Integrated Development Environment (IDE)

Software Development Kit (SDK)

Android Development Tools (ADT)

Setup Eclipse IDE Download Eclipse IDE for Java Developer from

the eclipse.org/downloads/ .

Setup Android Software Development Kit Download Android SDK from http://

developer.android.com/sdk/index.html

extract the downloaded file and run the SDK Manager.

Choose the Android platform version which you wish to develop on and click Install packages. You will be prompted with a pop-up, check off Accept and click Install.

Setup Android Development Tools plugin Open Eclipse and select Help-->Install New

Software

Click Add In the pop-up dialog, type 'ADT Plugin' in the

Name field and enter the following URL in the location field:

 https://dlssl.google.com/android/eclipse/

Select the 'Developer Tools' option and click Next. Once the tools are downloaded, click Next.

Setup an AVD In Eclipse, navigate to Window --> AVD

Manager. Click New… to fill in the details of the virtual

device.

Application Components Activities represents a single screen with a

user interface. A service is a component that runs in the

background to perform long-running operations or to perform work for remote processes. A service does not provide a user interface.

A content provider manages a shared set of application data.

A broadcast receiver is a component that responds to system-wide broadcast announcements.

Create a Project with Eclipse1. Create Android Project

2. Add project name and other details.

3. First Activity

4. Directory Structure

src/ Contains your stub Activity file. (e.g. all .java files).

bin Output directory of the build. This is where you can find the final .apk file and other compiled resources.

jni Contains native code sources .

gen/ Contains the Java files generated by ADT, such as your R.java file and interfaces created from AIDL files.

assets/ This is empty. You can use it to store raw asset files. Files that you save here are compiled into an .apk file

res/ Contains application resources, such as drawable files, layout files, and string values.

res/drawable/ For bitmap and files and XML files that describe Drawable shapes or a Drawable .

res/layout/ XML files that are compiled into screen layouts (or part of a screen).

5. AndroidMainfest.xml AndroidManifest.xml ,The control file that

describes the nature of the application and each of its components.

It describes: 1. qualities about the activities, services, intent

receivers, and content providers.2. what permissions are requested; what

external libraries are needed.3. what device features are required,.4. what API Levels are supported or required.

6. activity_main.xml

7. MainActivity.java

8. Run the Project

9. Output

10. Your Application in main menu

Thank you for your attention