1 introduction of android

60
Introductio n

Upload: akilamano

Post on 10-May-2015

208 views

Category:

Education


0 download

DESCRIPTION

ANDROID INTRODUCTION

TRANSCRIPT

Page 1: 1 introduction of android

Introduction

Page 2: 1 introduction of android

What is a Software? A collection of computer programs and related data that provide the

instructions for telling a computer what to do and how to do it making imaginary into reality.

[email protected]

Page 3: 1 introduction of android

SMART PHONES

Page 4: 1 introduction of android

Smartphone= PDA + Cell phone

Smartphone Features Keyboard Internet Access Ability to download app & run independently Personal Information Management Wi-Fi Support 3rd party app And many more…

[email protected]

Page 6: 1 introduction of android

Software Stack Set of programs working together to produce a result.

It consists of

1. Operating System

2. Middleware

3. Key Applications

[email protected]

Page 8: 1 introduction of android

What is Android?

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

[email protected]

Page 9: 1 introduction of android

WHYANDROID? A simple and powerful SDK

No licensing, distribution, or development fees Development over many platform Linux, Mac OS, windows

Excellent documentation

For us: Development using Java . Job opportunity

[email protected]

Page 10: 1 introduction of android

The Birth of Android Android Inc. founded in 2003

The key players at Android Inc. included Andy Rubin -co-founder of Danger .Inc

Rich Miner-co-founder of Wildfire Communications, Inc. Nick Sears - once VP at T-Mobile Chris White - headed design and interface development at Web TV

Android Inc. acquired by Google

Google acquired the startup company Android Inc. in 2005 to start the development of the Android Platform.

Page 11: 1 introduction of android

Introducing Android

A first joined project of the Open Handset Alliance (OHA) First open, complete and free platform Software stack open-sourced.

A generous development environment A SDK is available to build ,compile, test and debug user applications. Applications are developed using Java programming language No difference between the built-in applications and the user ones

Page 12: 1 introduction of android

What is Open Handset Alliance? •“… Open Handset Alliance™, a group of 85 technology and mobile

firms have come together to develop open standards for mobile devices.

Google, HTC, Sony, Dell, Intel, Motorola, Qualcomm, Samsung, LG, T-

Mobile.....etc.

Announcement of the formation of the OHA was on 5 November 2007.

Page 13: 1 introduction of android

First Mobile An early look of the SDK was released to developers on 12 November

2007.

The first commercially available Android phone was the T-Mobile G1 (HTC Dream). In August 2008,and became available on 22 October.

Page 14: 1 introduction of android

Phones

Motorola Droid (X)

Huawei-IDEOS-X5 Samsung Galaxy

Nexus-S

sony-ericssonexperia-x10

HTC-Wildfire

[email protected]

Page 15: 1 introduction of android

Tablets

Velocity Micro Cruz Gome FlyTouch Acer beTouch

Dawa D7

Cisco Android Tablet

Samsung Galaxy [email protected]

Page 16: 1 introduction of android

Features Application framework enabling reuse and replacement of components Dalvik virtual machine optimized for mobile devices Integrated browser based on the open source WebKit engine Optimized graphics powered by a custom 2D graphics library; 3D graphics based

on the OpenGL ES 1.0 specification (hardware acceleration optional) 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) Bluetooth, EDGE, 3G, and WiFi (hardware dependent) Camera, GPS, compass, and accelerometer (hardware dependent) Rich development environment including a device emulator, tools for debugging,

memory and performance profiling, and a plugin for the Eclipse IDE

[email protected]

Page 17: 1 introduction of android

What you need: Operating System:

Windows XP: (32-bit), Vista (32/64-bit), or Windows 7 (32/ 64-bit) Mac OS X : 10.5.8 or later (x86 only)

Linux : Ubuntu Linux, version 8.04 or later is required.

JDK >= 5

Android SDK

Eclipse + Android Development Tools plug-in

[email protected]

Page 18: 1 introduction of android

Installation - JDKInstallation - JDK

[email protected]

Page 19: 1 introduction of android

Installation - Android SDKInstallation - Android SDK

Download the Android SDK from:

http://developer.android.com/sdk/

Unpack the compressed file into a location you prefer.

[email protected]

Page 21: 1 introduction of android

To create an AVD in Eclipse:

1. Select Window > Android SDK and AVD Manager.The Android SDK and AVD Manager displays.

2. Make sure the entry for Virtual Devices is selected and click New.

The Create new AVD window displays.

3. Enter a Name for the AVD.

4. Select Android APIs (API level 8) as the Target.5. Click Create AVD.6. Close the Android SDK and AVD Manager.

[email protected]

Page 22: 1 introduction of android

To create the project in Eclipse:

1. Select File > New > Project.2. Select Android Project in the Android folder and click Next.3. Enter Project Name.4. Select APIs (Platform 2.2) as the Build Target.5. Enter the Application name.6. Enter com.android as the Package name.7. Enter the Activity name.8. Click Finish.

[email protected]

Page 24: 1 introduction of android

Structure of a typical Android Application

[email protected]

Page 25: 1 introduction of android

Every application must have an AndroidManifest.xml file (with precisely that name) in its root directory.

The manifest presents essential information about the application to the Android system, information the system must have before it can run any of the application's code.

Android Manifest xml File

[email protected]

Page 26: 1 introduction of android

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="matos.currencyconvereter" android:versionCode="1" android:versionName="1.0">

<application android:icon="@drawable/icon" android:label="@string/app_name">

<activity android:name=".Currency1" android:label="@string/app_name">

<intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter>

</activity> </application>

<uses-sdkandroid:minSdkVersion="3" /> </manifest>

[email protected]

Page 27: 1 introduction of android

Architecture

[email protected]

Page 28: 1 introduction of android

Android S/W Stack – Linux Kernel

This is the kernel on which android is based . This layer contains all the low level device drivers for the various hardware components of an android device.

Providing an abstraction layer between the H/W and the rest of the S/W stack letting the upper levels remain

unchanged despite changes in the underlying hardware.

[email protected]

Page 29: 1 introduction of android

Android S/W Stack - Runtime

Core Libraries At the same layer as libraries set of core libraries that enable developers to write android Apps

using java Prog. Language.

Providing most of the functionality available in the core libraries of the Java language

APIs Data Structures Utilities File Access Network Access Graphics Etc

[email protected]

Page 30: 1 introduction of android

Android S/W Stack – Runtime (Cont) Dalvik Virtual Machine

Providing environment on which every Android application runs

Each Android application runs in its own process, with its own instance of the Dalvik VM.

Dalvik has been written so that a device can run multiple VMs efficiently.

Register-based virtual machine

[email protected]

Page 31: 1 introduction of android

Android S/W Stack – Runtime (Cont) Dalvik Virtual Machine (Cont)

Executing the Dalvik Executable (.dex) format .dex format is optimized for minimal memory footprint. Compilation

Relying on the Linux Kernel for: Threading Low-level memory management

[email protected]

Page 32: 1 introduction of android

Android S/W Stack – App Framework

Enabling and simplifying the reuse of components Developers have full access to the same framework APIs

used by the core applications. Users are allowed to replace components.

[email protected]

Page 33: 1 introduction of android

Android S/W Stack – App Framework Features

Feature Role

View System

Used to build an application, including lists, grids, textboxes, buttons, and embedded web browser

Content Provider

Enabling applications to access data from other applications or to share their own data

Resource Manager

Providing access to non-code resources (localized string, graphics, and layout files)

Notification Manager

Enabling all applications to display customer alerts in the status bar

Activity Manager

Managing the lifecycle of applications and providing a common navigation backstack

[email protected]

Page 34: 1 introduction of android

Android S/W Stack - Application

Android provides a set of core applications: Email Client SMS Program Calendar Maps Browser Contacts Etc

All applications are written using the Java language.

[email protected]

Page 36: 1 introduction of android

Activity lifecycle An activity has essentially three states: It is active or running when it is in the foreground of

the screen (at the top of the activity stack for the current task). This is the activity that is the focus for the user's actions.

[email protected]

Page 37: 1 introduction of android

As an activity transitions from state to state, it is notified of the change by calls to the following protected methods:

void onCreate(Bundle savedInstanceState) void onStart() void onRestart() void onResume() void onPause() void onStop() void onDestroy()

[email protected]

Page 38: 1 introduction of android

onCreate() : called when the activity is first created

onStart() :called when activity becomes visible to user

onResume() : called when activity start interacting with user.

onPause() : called when current activity is being paused and previous activity is being resumed.

onStop() : called when activity is longer visible to user.

[email protected]

Page 39: 1 introduction of android

onDestroy(): called before activity is destroyed by the system.

onRestart() : called when activity has been stopped and restarting again.

[email protected]

Page 41: 1 introduction of android

Layouts1. LinearLayout2. RelativeLayout3. TableLayout4. TabLayout5. FrameLayout6. GridLayout7. ListView

[email protected]

Page 42: 1 introduction of android

Layouts: Frame Layout: all child views are pinned to the top left

corner of the screen

Linear Layout: each child view is added in a straight line (vertically or horizontally)

Table Layout: add views using a grid of rows and columns

Relative Layout : add views relative to the position of other views or to its parent.

[email protected]

Page 43: 1 introduction of android

Absolute Layout : for each view you add, you specify the exact screen coordinate to display on the screen

Tab Layout : add different tab relative to each other

[email protected]

Page 44: 1 introduction of android

Views TextView Button EditText Radio button CheckBox Spinner WebView ImageView GalleryView SurfaceView

[email protected]

Page 45: 1 introduction of android

Intent

Page 46: 1 introduction of android

Message passing between two or more then two components of android

Activity interact each other with the help of intent in android

Basically two type of intent available in android

Implicit Intent Explicit Intent

[email protected]

Page 47: 1 introduction of android

Implicit Intent: Intent which is sent from one activity

to in built android activity

For ex1. Dialer2. Contacts3. Browser

[email protected]

Page 48: 1 introduction of android

[email protected]

Dialer

Page 49: 1 introduction of android

[email protected]

Calling

Page 50: 1 introduction of android

[email protected]

Browser

Page 51: 1 introduction of android

[email protected]

Contacts

Nauka Rao

N

Page 52: 1 introduction of android

[email protected]

Log

Page 53: 1 introduction of android

[email protected]

Camera

Page 54: 1 introduction of android

[email protected]

Pick

Nauka Rao

Page 55: 1 introduction of android

[email protected]

Dial: Intent i = new Intent(); i.setAction(android.content.Intent.ACTION_DIAL); i.setData(Uri.parse("tel:2121")); startActivity(i);

Call: Intent i = new Intent(); i.setAction(android.content.Intent.ACTION_CALL); i.setData(Uri.parse("tel:2121")); startActivity(i);

Page 56: 1 introduction of android

[email protected]

Browser: Intent i = new Intent(); i.setAction(android.content.Intent.ACTION_VIEW); i.setData(Uri.parse("http://www.google.com")); startActivity(i);

Contacts: Intent i = new Intent(); i.setAction(android.content.Intent.ACTION_VIEW); i.setData(Uri.parse("content://contacts/people/")); startActivity(i);

Page 57: 1 introduction of android

[email protected]

Call_Log: Intent i = new Intent(); i.setAction(Intent.ACTION_VIEW); i.setData(Uri.parse("content://call_log/calls/1")); startActivity(i);

Media: Intent i = new Intent();

i.setAction(android.content.Intent.ACTION_VIEW); i.setData(Uri.parse("content://media/external/images/media/1")); startActivity(i);

Page 58: 1 introduction of android

[email protected]

Camera: Intent i = new Intent(); i.setAction(MediaStore.ACTION_IMAGE_CAPTURE); startActivity(i);

Pick :Intent i = new Intent();i.setAction(android.content.Intent.ACTION_PICK);i.setData(Uri.parse("content://contacts/people/"));startActivity(i);

Page 59: 1 introduction of android

Explicit Intent: intent which is send to one activity to

another own activity

Second Activity must be registered in manifest.xml file

Intent i=new Intent(First.this,Second.class);startActivity(i);

[email protected]