SlideShare ist ein Scribd-Unternehmen logo
1 von 8
Downloaden Sie, um offline zu lesen
1


Day 1
Session 1
What is Android?

      Android is a software stack for mobile devices that includes an operating system, middleware
       and key applications.
      Android gives you a world-class platform for creating apps and games for Android users


Android version

      Android 1.0
      Android 1.1
      Cupcake 1.5
      Donut 1.6
      Éclair 2.0/2.1
      Froyo 2.2.x
      Gingerbread 2.3.x
      Honeycomb 3.x
      Ice Cream Sandwich 4.0.x
      Jelly Bean 4.1

       Being an Android user you may know how the basic functions such as making a call, sending a
       text message, changing the system settings, install or uninstall apps etc. Well! All Android users
       know these, but not enough for a developer. Then what else details are a developer required to
       know about Android, I’ll explain. To be a developer, you should know all the key concepts of
       Android. That is, you should know all the nuts and bolts of Android OS.




                   @COPYRIGHTS BY Dhiraj P. karalkar (Karalkar.dhiraj@gmail.com)
2


Android Architecture




The above figure shows the diagram of Android Architecture. The Android OS can be referred to as a
software stack of different layers, where each layer is a group of sveral program components. Together
it includes operating system, middleware and important applications. Each layer in the architecture
provides different services to the layer just above it. We will examine the features of each layer in detail.

Linux Kernel

The basic layer is the Linux kernel. The whole Android OS is built on top of the Linux 2.6 Kernel with
some further architectural changes made by Google. It is this Linux that interacts with the hardware and
contains all the essential hardware drivers. Drivers are programs that control and communicate with the
hardware. For example, consider the Bluetooth function. All devices has a Bluetooth hardware in it.
Therefore the kernel must include a Bluetooth driver to communicate with the Bluetooth hardware. The
Linux kernel also acts as an abstraction layer between the hardware and other software layers. Android
uses the Linux for all its core functionality such as Memory management, process management,
networking, security settings etc. As the Android is built on a most popular and proven foundation, it
made the porting of Android to variety of hardware, a relatively painless task.




                    @COPYRIGHTS BY Dhiraj P. karalkar (Karalkar.dhiraj@gmail.com)
3


Libraries

The next layer is the Android’s native libraries. It is this layer that enables the device to handle
different types of data. These libraries are written in c or c++ language and are specific for a
particular hardware.

Some of the important native libraries include the following:

Surface Manager: It is used for compositing window manager with off-screen buffering. Off-screen
buffering means you cant directly draw into the screen, but your drawings go to the off-screen buffer.
There it is combined with other drawings and form the final screen the user will see. This off screen
buffer is the reason behind the transparency of windows.

Media framework: Media framework provides different media codecs allowing the recording and
playback of different media formats

SQLite: SQLite is the database engine used in android for data storage purposes

WebKit: It is the browser engine used to display HTML content

OpenGL: Used to render 2D or 3D graphics content to the screen

Android Runtime

Android Runtime consists of Dalvik Virtual machine and Core Java libraries.

Dalvik Virtual Machine

It is a type of JVM used in android devices to run apps and is optimized for low processing power and
low memory environments. Unlike the JVM, the Dalvik Virtual Machine doesn’t run .class files, instead
it runs .dex files. .dex files are built from .class file at the time of compilation and provides hifger
efficiency in low resource environments. The Dalvik VM allows multiple instance of Virtual machine to
be created simultaneously providing security, isolation, memory management and threading support. It is
developed by Dan Bornstein of Google.

Core Java Libraries
These are different from Java SE and Java ME libraries. However these libraries provides most of the
functionalities defined in the Java SE libraries.




                    @COPYRIGHTS BY Dhiraj P. karalkar (Karalkar.dhiraj@gmail.com)
4


Application Framework

These are the blocks that our applications directly interacts with. These programs manage the basic
functions of phone like resource management, voice call management etc. As a developer, you just
consider these are some basic tools with which we are building our applications.

Important blocks of Application framework are:

Activity Manager: Manages the activity life cycle of applications

Content Providers: Manage the data sharing between applications

Telephony Manager: Manages all voice calls. We use telephony manager if we want to access voice
calls in our application.

Location Manager: Location management, using GPS or cell tower

Resource Manager: Manage the various types of resources we use in our Application

Applications

Applications are the top layer in the Android architecture and this is where our applications are gonna fit.
Several standard applications comes pre-installed with every device, such as:

       SMS client app
       Dialer
       Web browser
       Contact manager

As a developer we are able to write an app which replace any existing system app. That is, you are not
limited in accessing any particular feature. You are practically limitless and can whatever you want to do
with the android (as long as the users of your app permits it). Thus Android is opening endless
opportunities to the developer.




                    @COPYRIGHTS BY Dhiraj P. karalkar (Karalkar.dhiraj@gmail.com)
5



Session 2
Setting android environment

  Please refer the PDF
  Day_1_Set up Andoid Environment.pdf


Create project using Eclipse




                  @COPYRIGHTS BY Dhiraj P. karalkar (Karalkar.dhiraj@gmail.com)
6




@COPYRIGHTS BY Dhiraj P. karalkar (Karalkar.dhiraj@gmail.com)
7



Session 3
Understanding an android application structure




src:in the src we keep all the java file
res: we dump the resources into the res folder where we keep all the images , layouts and more on
drawable: here we keep all the images required for an application
layout: in the layout folder we keep all the layout related xml files
value : in the value folder we add the parameters such as String , dimen , styles

Understanding the LDPI , MDPI , HDPI




      small screens are at least 426dp x 320dp
      normal screens are at least 470dp x 320dp
      large screens are at least 640dp x 480dp
      xlarge screens are at least 960dp x 720dp



                   @COPYRIGHTS BY Dhiraj P. karalkar (Karalkar.dhiraj@gmail.com)
8



Session 4
Introduction to android components

      Activities
      Services
      Content providers
      Broadcast receivers


                                                Activity

      Activity : In Android, an activity is represent a single screen.
      Most applications have multiple activities to represent different screens.
      Any user interface screen is called as an activity.

                                              Service
      A Service is a component which runs in the background, without interacting with the user.
      For example, a service might handle network transactions, play music, perform file I/O, or
       interact with a content provider, all from the background.

                                        Content Providers
      Content Providers are the only way to share data across Android applications. They store and
       retrieve data thus making it accessible to all.
      Android platform provides default implementations of content providers for data types like
       audio, video, images, contact information etc.

                                    Broadcast receivers
      A broadcast receiver is a component that responds to system-wide broadcast announcements.
       Many broadcasts originate from the system—
      For example, a broadcast announcing that the screen has turned off, the battery is low, or a
       picture was captured.




                   @COPYRIGHTS BY Dhiraj P. karalkar (Karalkar.dhiraj@gmail.com)

Weitere ähnliche Inhalte

Was ist angesagt?

Introduction to android
Introduction to androidIntroduction to android
Introduction to androidbantyder
 
Android apps development
Android apps developmentAndroid apps development
Android apps developmentRaman Pandey
 
Android Training in Chandigarh | Industrial Training in Android Apps Development
Android Training in Chandigarh | Industrial Training in Android Apps DevelopmentAndroid Training in Chandigarh | Industrial Training in Android Apps Development
Android Training in Chandigarh | Industrial Training in Android Apps DevelopmentBig Boxx Animation Academy
 
Marakana android-java developers
Marakana android-java developersMarakana android-java developers
Marakana android-java developersMarko Gargenta
 
Lecture 3 getting active through activities
Lecture 3 getting active through activities Lecture 3 getting active through activities
Lecture 3 getting active through activities Ahsanul Karim
 
Android应用开发简介
Android应用开发简介Android应用开发简介
Android应用开发简介easychen
 
Android development basic _ZuoSyuanWang
Android development basic _ZuoSyuanWangAndroid development basic _ZuoSyuanWang
Android development basic _ZuoSyuanWang佐軒 王
 
Synapseindia android application development tutorial
Synapseindia android application development tutorialSynapseindia android application development tutorial
Synapseindia android application development tutorialSynapseindiappsdevelopment
 
Synapseindia android apps development tutorial
Synapseindia android apps  development tutorialSynapseindia android apps  development tutorial
Synapseindia android apps development tutorialSynapseindiappsdevelopment
 
Marakana Android User Interface
Marakana Android User InterfaceMarakana Android User Interface
Marakana Android User InterfaceMarko Gargenta
 
Android studio
Android studioAndroid studio
Android studioAndri Yabu
 
Development Playbook Application With Adobe AIR 2.5 and QNX SDK
Development Playbook Application With Adobe AIR 2.5 and QNX SDKDevelopment Playbook Application With Adobe AIR 2.5 and QNX SDK
Development Playbook Application With Adobe AIR 2.5 and QNX SDKTubagus Anwar
 
Introduction to Android (in-short) - Itvedant, Thane | Mumbai | Navi Mumbai
Introduction to Android (in-short) - Itvedant, Thane | Mumbai | Navi MumbaiIntroduction to Android (in-short) - Itvedant, Thane | Mumbai | Navi Mumbai
Introduction to Android (in-short) - Itvedant, Thane | Mumbai | Navi MumbaiItvedant
 

Was ist angesagt? (19)

Introduction to android
Introduction to androidIntroduction to android
Introduction to android
 
Android apps development
Android apps developmentAndroid apps development
Android apps development
 
Android Training in Chandigarh | Industrial Training in Android Apps Development
Android Training in Chandigarh | Industrial Training in Android Apps DevelopmentAndroid Training in Chandigarh | Industrial Training in Android Apps Development
Android Training in Chandigarh | Industrial Training in Android Apps Development
 
Marakana android-java developers
Marakana android-java developersMarakana android-java developers
Marakana android-java developers
 
Lecture 3 getting active through activities
Lecture 3 getting active through activities Lecture 3 getting active through activities
Lecture 3 getting active through activities
 
Android Components
Android ComponentsAndroid Components
Android Components
 
Android应用开发简介
Android应用开发简介Android应用开发简介
Android应用开发简介
 
Android development basic _ZuoSyuanWang
Android development basic _ZuoSyuanWangAndroid development basic _ZuoSyuanWang
Android development basic _ZuoSyuanWang
 
Unit2
Unit2Unit2
Unit2
 
Android components
Android componentsAndroid components
Android components
 
Synapseindia android application development tutorial
Synapseindia android application development tutorialSynapseindia android application development tutorial
Synapseindia android application development tutorial
 
Synapseindia android apps development tutorial
Synapseindia android apps  development tutorialSynapseindia android apps  development tutorial
Synapseindia android apps development tutorial
 
Android UI Fundamentals part 1
Android UI Fundamentals part 1Android UI Fundamentals part 1
Android UI Fundamentals part 1
 
K.cie.1 q2012.v.1.0
K.cie.1 q2012.v.1.0K.cie.1 q2012.v.1.0
K.cie.1 q2012.v.1.0
 
Marakana Android User Interface
Marakana Android User InterfaceMarakana Android User Interface
Marakana Android User Interface
 
Android studio
Android studioAndroid studio
Android studio
 
Development Playbook Application With Adobe AIR 2.5 and QNX SDK
Development Playbook Application With Adobe AIR 2.5 and QNX SDKDevelopment Playbook Application With Adobe AIR 2.5 and QNX SDK
Development Playbook Application With Adobe AIR 2.5 and QNX SDK
 
Introduction to Android (in-short) - Itvedant, Thane | Mumbai | Navi Mumbai
Introduction to Android (in-short) - Itvedant, Thane | Mumbai | Navi MumbaiIntroduction to Android (in-short) - Itvedant, Thane | Mumbai | Navi Mumbai
Introduction to Android (in-short) - Itvedant, Thane | Mumbai | Navi Mumbai
 
Android session 2
Android session 2Android session 2
Android session 2
 

Ähnlich wie Android development training programme Day 1

Introduction to android
Introduction to androidIntroduction to android
Introduction to androidzeelpatel0504
 
Google android white paper
Google android white paperGoogle android white paper
Google android white paperSravan Reddy
 
Android introduction
Android introductionAndroid introduction
Android introductionmcanotes
 
Introduction to Android Development Part 1
Introduction to Android Development Part 1Introduction to Android Development Part 1
Introduction to Android Development Part 1Kainda Kiniel Daka
 
Android technology
Android technologyAndroid technology
Android technologyDhruv Modh
 
Java talks. Android intoduction for develompment
Java talks. Android intoduction for develompmentJava talks. Android intoduction for develompment
Java talks. Android intoduction for develompmentAlexei Miliutin
 
Android and its feature
Android and its featureAndroid and its feature
Android and its featureShubham Kumar
 
Android Application Development
Android Application DevelopmentAndroid Application Development
Android Application DevelopmentRamesh Prasad
 
Evolution of Android Operating System and it’s Versions
Evolution of Android Operating System and it’s VersionsEvolution of Android Operating System and it’s Versions
Evolution of Android Operating System and it’s Versionsijtsrd
 
Slides bootcamp21
Slides bootcamp21Slides bootcamp21
Slides bootcamp21dxsaki
 
Android : Architecture & Components
Android : Architecture & ComponentsAndroid : Architecture & Components
Android : Architecture & ComponentsAkash Bisariya
 
Android Development - Session 2
Android Development - Session 2Android Development - Session 2
Android Development - Session 2Mohammad Shaker
 
Android Development - Session 1
Android Development - Session 1Android Development - Session 1
Android Development - Session 1Mohammad Shaker
 

Ähnlich wie Android development training programme Day 1 (20)

Introduction to android
Introduction to androidIntroduction to android
Introduction to android
 
Android platform
Android platform Android platform
Android platform
 
Google android white paper
Google android white paperGoogle android white paper
Google android white paper
 
Cc4201519521
Cc4201519521Cc4201519521
Cc4201519521
 
Android Basic Concept
Android Basic Concept Android Basic Concept
Android Basic Concept
 
Android introduction
Android introductionAndroid introduction
Android introduction
 
Introduction to Android Development Part 1
Introduction to Android Development Part 1Introduction to Android Development Part 1
Introduction to Android Development Part 1
 
Android architecture
Android architectureAndroid architecture
Android architecture
 
Android technology
Android technologyAndroid technology
Android technology
 
Java talks. Android intoduction for develompment
Java talks. Android intoduction for develompmentJava talks. Android intoduction for develompment
Java talks. Android intoduction for develompment
 
Android and its feature
Android and its featureAndroid and its feature
Android and its feature
 
Android Application Development
Android Application DevelopmentAndroid Application Development
Android Application Development
 
rakesh
rakeshrakesh
rakesh
 
Android
AndroidAndroid
Android
 
Evolution of Android Operating System and it’s Versions
Evolution of Android Operating System and it’s VersionsEvolution of Android Operating System and it’s Versions
Evolution of Android Operating System and it’s Versions
 
Slides bootcamp21
Slides bootcamp21Slides bootcamp21
Slides bootcamp21
 
Android : Architecture & Components
Android : Architecture & ComponentsAndroid : Architecture & Components
Android : Architecture & Components
 
Android Introduction by Kajal
Android Introduction by KajalAndroid Introduction by Kajal
Android Introduction by Kajal
 
Android Development - Session 2
Android Development - Session 2Android Development - Session 2
Android Development - Session 2
 
Android Development - Session 1
Android Development - Session 1Android Development - Session 1
Android Development - Session 1
 

Kürzlich hochgeladen

APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxnegromaestrong
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin ClassesCeline George
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.pptRamjanShidvankar
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.christianmathematics
 
SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...
SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...
SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...KokoStevan
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
Gardella_Mateo_IntellectualProperty.pdf.
Gardella_Mateo_IntellectualProperty.pdf.Gardella_Mateo_IntellectualProperty.pdf.
Gardella_Mateo_IntellectualProperty.pdf.MateoGardella
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
Making and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfMaking and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfChris Hunter
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactPECB
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfJayanti Pande
 

Kürzlich hochgeladen (20)

APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...
SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...
SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
Gardella_Mateo_IntellectualProperty.pdf.
Gardella_Mateo_IntellectualProperty.pdf.Gardella_Mateo_IntellectualProperty.pdf.
Gardella_Mateo_IntellectualProperty.pdf.
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Making and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfMaking and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdf
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 

Android development training programme Day 1

  • 1. 1 Day 1 Session 1 What is Android?  Android is a software stack for mobile devices that includes an operating system, middleware and key applications.  Android gives you a world-class platform for creating apps and games for Android users Android version  Android 1.0  Android 1.1  Cupcake 1.5  Donut 1.6  Éclair 2.0/2.1  Froyo 2.2.x  Gingerbread 2.3.x  Honeycomb 3.x  Ice Cream Sandwich 4.0.x  Jelly Bean 4.1 Being an Android user you may know how the basic functions such as making a call, sending a text message, changing the system settings, install or uninstall apps etc. Well! All Android users know these, but not enough for a developer. Then what else details are a developer required to know about Android, I’ll explain. To be a developer, you should know all the key concepts of Android. That is, you should know all the nuts and bolts of Android OS. @COPYRIGHTS BY Dhiraj P. karalkar (Karalkar.dhiraj@gmail.com)
  • 2. 2 Android Architecture The above figure shows the diagram of Android Architecture. The Android OS can be referred to as a software stack of different layers, where each layer is a group of sveral program components. Together it includes operating system, middleware and important applications. Each layer in the architecture provides different services to the layer just above it. We will examine the features of each layer in detail. Linux Kernel The basic layer is the Linux kernel. The whole Android OS is built on top of the Linux 2.6 Kernel with some further architectural changes made by Google. It is this Linux that interacts with the hardware and contains all the essential hardware drivers. Drivers are programs that control and communicate with the hardware. For example, consider the Bluetooth function. All devices has a Bluetooth hardware in it. Therefore the kernel must include a Bluetooth driver to communicate with the Bluetooth hardware. The Linux kernel also acts as an abstraction layer between the hardware and other software layers. Android uses the Linux for all its core functionality such as Memory management, process management, networking, security settings etc. As the Android is built on a most popular and proven foundation, it made the porting of Android to variety of hardware, a relatively painless task. @COPYRIGHTS BY Dhiraj P. karalkar (Karalkar.dhiraj@gmail.com)
  • 3. 3 Libraries The next layer is the Android’s native libraries. It is this layer that enables the device to handle different types of data. These libraries are written in c or c++ language and are specific for a particular hardware. Some of the important native libraries include the following: Surface Manager: It is used for compositing window manager with off-screen buffering. Off-screen buffering means you cant directly draw into the screen, but your drawings go to the off-screen buffer. There it is combined with other drawings and form the final screen the user will see. This off screen buffer is the reason behind the transparency of windows. Media framework: Media framework provides different media codecs allowing the recording and playback of different media formats SQLite: SQLite is the database engine used in android for data storage purposes WebKit: It is the browser engine used to display HTML content OpenGL: Used to render 2D or 3D graphics content to the screen Android Runtime Android Runtime consists of Dalvik Virtual machine and Core Java libraries. Dalvik Virtual Machine It is a type of JVM used in android devices to run apps and is optimized for low processing power and low memory environments. Unlike the JVM, the Dalvik Virtual Machine doesn’t run .class files, instead it runs .dex files. .dex files are built from .class file at the time of compilation and provides hifger efficiency in low resource environments. The Dalvik VM allows multiple instance of Virtual machine to be created simultaneously providing security, isolation, memory management and threading support. It is developed by Dan Bornstein of Google. Core Java Libraries These are different from Java SE and Java ME libraries. However these libraries provides most of the functionalities defined in the Java SE libraries. @COPYRIGHTS BY Dhiraj P. karalkar (Karalkar.dhiraj@gmail.com)
  • 4. 4 Application Framework These are the blocks that our applications directly interacts with. These programs manage the basic functions of phone like resource management, voice call management etc. As a developer, you just consider these are some basic tools with which we are building our applications. Important blocks of Application framework are: Activity Manager: Manages the activity life cycle of applications Content Providers: Manage the data sharing between applications Telephony Manager: Manages all voice calls. We use telephony manager if we want to access voice calls in our application. Location Manager: Location management, using GPS or cell tower Resource Manager: Manage the various types of resources we use in our Application Applications Applications are the top layer in the Android architecture and this is where our applications are gonna fit. Several standard applications comes pre-installed with every device, such as:  SMS client app  Dialer  Web browser  Contact manager As a developer we are able to write an app which replace any existing system app. That is, you are not limited in accessing any particular feature. You are practically limitless and can whatever you want to do with the android (as long as the users of your app permits it). Thus Android is opening endless opportunities to the developer. @COPYRIGHTS BY Dhiraj P. karalkar (Karalkar.dhiraj@gmail.com)
  • 5. 5 Session 2 Setting android environment Please refer the PDF Day_1_Set up Andoid Environment.pdf Create project using Eclipse @COPYRIGHTS BY Dhiraj P. karalkar (Karalkar.dhiraj@gmail.com)
  • 6. 6 @COPYRIGHTS BY Dhiraj P. karalkar (Karalkar.dhiraj@gmail.com)
  • 7. 7 Session 3 Understanding an android application structure src:in the src we keep all the java file res: we dump the resources into the res folder where we keep all the images , layouts and more on drawable: here we keep all the images required for an application layout: in the layout folder we keep all the layout related xml files value : in the value folder we add the parameters such as String , dimen , styles Understanding the LDPI , MDPI , HDPI  small screens are at least 426dp x 320dp  normal screens are at least 470dp x 320dp  large screens are at least 640dp x 480dp  xlarge screens are at least 960dp x 720dp @COPYRIGHTS BY Dhiraj P. karalkar (Karalkar.dhiraj@gmail.com)
  • 8. 8 Session 4 Introduction to android components  Activities  Services  Content providers  Broadcast receivers Activity  Activity : In Android, an activity is represent a single screen.  Most applications have multiple activities to represent different screens.  Any user interface screen is called as an activity. Service  A Service is a component which runs in the background, without interacting with the user.  For example, a service might handle network transactions, play music, perform file I/O, or interact with a content provider, all from the background. Content Providers  Content Providers are the only way to share data across Android applications. They store and retrieve data thus making it accessible to all.  Android platform provides default implementations of content providers for data types like audio, video, images, contact information etc. Broadcast receivers  A broadcast receiver is a component that responds to system-wide broadcast announcements. Many broadcasts originate from the system—  For example, a broadcast announcing that the screen has turned off, the battery is low, or a picture was captured. @COPYRIGHTS BY Dhiraj P. karalkar (Karalkar.dhiraj@gmail.com)