SlideShare a Scribd company logo
Data Transfer between
Activities & Databases
Faiz Ur Rehman
Services
• Android services a component that issued to perform operations on
the background such as playing music, handle network transactions,
interacting content providers etc. It doesn't has any UI (user
interface).
• The service runs in the background indefinitely even if application is
destroyed.
•three different types of services
• 1. Foreground-A foreground service performs some operation that is
noticeable to the user. Start Service()
• 2. Background-A background service performs an operation that isn't
directly noticed by the user. Start Service()
• 3. Bound-A service is bound when an application component binds to it by
calling bindService(). A bound service offers a client-server interface that
allows components to interact with the service, send requests, receive
results, and even do so across processes with inter process communication
(IPC). A bound service runs only as long as another application component
is bound to it. Multiple components can bind to the service at once, but
when all of them unbind, the service is destroyed.
Lifecycle
A service can essentially take two states −
• Started A service is started when an application component, such as
an activity, starts it by calling startService(). Once started, a service
can run in the background indefinitely, even if the component that
started it is destroyed.
• Bound A service is bound when an application component binds to it
by calling bindService(). A bound service offers a client-server
interface that allows components to interact with the service, send
requests, get results, and even do so across processes with inter
process communication (IPC).
• Create a Service Generally, in android to create a service we must
create a subclass of Service. In android the application component
such as an activity can start the service by calling startService()which
results in calling the service’s on StartCommand()method
• onCreate() The system calls this method when the service is first
created using on StartCommand() or onBind(). This call is required to
perform one-time set-up.
• onStartCommand()
The system calls this method when another component, such as an
activity, requests that the service be started, by calling startService(). If
you implement this method, it is your responsibility to stop the service
when its work is done, by callingstopSelf() or stopService()methods
• onBind()
The system calls this method when another component wants to bind
with the service by calling bindService(). If you implement this method,
you must provide an interface that clients use to communicate with the
service, by returning an iBinderobject. You must always implement this
method, but if you don't want to allow binding, then you should return
null
• onUnbind() The system calls this method when all clients have
disconnected from a particular interface published by the service.
•onRebind() The system calls this method when new clients have
connected to the service, after it had previously been notified that all
had disconnected in its onUnbind(Intent).
••onDestroy() The system calls this method when the service is no
longer used and is being destroyed. Your service should implement this
to clean up any resources such as threads, registered listeners,
receivers, etc.
Watch Video
• https://www.youtube.com/watch?v=PUxC6vzEEgg
Android Architecture
• Android operating system is a stack of software components which is
roughly divided into five sections and four main layers as shown
below in the architecture diagram.
Layer 1
• Linux kernel
• At the bottom of the layers is Linux -Linux 3.6 with approximately 115
patches. This provides a level of abstraction between the device
hardware and it contains all the essential hardware drivers like
camera, keypad, display etc. Also, the kernel handles all the things
that Linux is really good at such as networking and a vast array of
device drivers, which take the pain out of interfacing to peripheral
hardware.
• Linux Kernel has three main parts.
Device Driver
Memory Management
Process Management
Libraries
C/C++
Interface
through Java
Surface Manager
Handling UI
Windows
2D/3D
SQLite and
Browser Engine
• On top of Linux kernel there is a set of libraries including open-
source Web browser engine WebKit, well known library libc, SQLite
database which is a useful repository for storage and sharing of
application data, libraries to play and record audio and video, SSL
libraries responsible for Internet security etc
Android Libraries
• This category encompasses those Java-based libraries that are specific
to Android development. Examples of libraries in this category include
the application framework libraries in addition to those that facilitate
user interface building, graphics drawing and database access.
• A summary of some key core Android libraries available to the
Android developer is as follows
• Android.app : Provides access to the application model and is the
cornerstone of all Android applications.
•Android.content− Facilitates content access, publishing and messaging
between applications and application components.
•Android.database− Used to access data published by content providers and
includes SQLite database management classes.
•android.opengl− A Java interface to the OpenGL ES 3Dgraphics rendering
API.
•android.os− Provides applications with access to standard operating
system services including messages, system services and inter-process
communication
• Android.Text− Used to render and manipulate text on a device display.
• Android.view− The fundamental building blocks of application user
interfaces.
• Android.widget− A rich collection of pre-built user interface
components such as buttons, labels, list views, layout managers, radio
buttons etc.
• Android.webkit− A set of classes intended to allow web-browsing
capabilities to be built into applications
Application Framework
• The Application Framework layer provides many higher-level services
to applications in the form of Java classes. Application developers
are allowed to make use of these services in their applications.
• The Android framework includes the following key services
•Activity Manager− Controls all aspects of the application lifecycle and
activity stack.
•Content Providers− Allows applications to publish and share data with
other applications.
•Resource Manager− Provides access to non-code embedded resources such
as strings, color settings and user interface layouts.
•Notifications Manager− Allows applications to display alerts and
notifications to the user.
•View System− An extensible set of views used to create application user
interfaces.
Applications
• Browser
• Bluetooth
• Animation
Android Runtime
1. Dalvik VM
Dex files
Compact and efficient than class files
Limited Memory and battery power
2. Core Libaries
Java 5 Std edition
Collection, I/O devices
• The Dalvik Virtual Machine (DVM) is an android virtual machine
optimized for mobile devices. It optimizes the virtual machine
for memory, battery life and performance.
• Dalvik is a name of a town in Iceland. The Dalvik VM was written by
Dan Bornstein.
• The Dex compiler converts the class files into the .dex file that run on
the Dalvik VM. Multiple class files are converted into one dex file.
• END

More Related Content

Similar to Andriod Lecture 8 A.pptx

Android Development Tutorial
Android Development TutorialAndroid Development Tutorial
Android Development Tutorial
Germán Bringas
 
Android OS and its Features
Android OS and its FeaturesAndroid OS and its Features
Android OS and its Features
Harshad Lokhande
 
Android- Introduction for Beginners
Android- Introduction for BeginnersAndroid- Introduction for Beginners
Android- Introduction for Beginners
Tripti Tiwari
 
Android Workshop_1
Android Workshop_1Android Workshop_1
Android Workshop_1
Purvik Rana
 
Basic of Android App Development
Basic of Android App DevelopmentBasic of Android App Development
Basic of Android App Development
Abhijeet Gupta
 
Android Application Development
Android Application DevelopmentAndroid Application Development
Android Application Development
Azfar Siddiqui
 
Introduction to android basics
Introduction to android basicsIntroduction to android basics
Introduction to android basics
Hasam Panezai
 
Android101
Android101Android101
Android101
David Marques
 
Unit I- ANDROID OVERVIEW.ppt
Unit I- ANDROID OVERVIEW.pptUnit I- ANDROID OVERVIEW.ppt
Unit I- ANDROID OVERVIEW.ppt
dineshkumar periyasamy
 
Android Penetration Testing - Day 1
Android Penetration Testing - Day 1Android Penetration Testing - Day 1
Android Penetration Testing - Day 1
Mohammed Adam
 
Android quick talk
Android quick talkAndroid quick talk
Android quick talk
SenthilKumar Selvaraj
 
Introduction to Android Development.pptx
Introduction to Android Development.pptxIntroduction to Android Development.pptx
Introduction to Android Development.pptx
asmeerana605
 
Basics 4
Basics   4Basics   4
Basics 4
Michael Shrove
 
Overview of Adroid Architecture.pptx
Overview of Adroid Architecture.pptxOverview of Adroid Architecture.pptx
Overview of Adroid Architecture.pptx
debasish duarah
 
cloud computing notes for anna university syllabus
cloud computing notes for anna university syllabuscloud computing notes for anna university syllabus
cloud computing notes for anna university syllabus
Violet Violet
 
AZURE CC JP.pptx
AZURE CC JP.pptxAZURE CC JP.pptx
AZURE CC JP.pptx
Jayesh Patil
 
Introduction to Mobile Operating System.pptx
Introduction to Mobile Operating System.pptxIntroduction to Mobile Operating System.pptx
Introduction to Mobile Operating System.pptx
aparna14patil
 
Android and windows os
Android and windows osAndroid and windows os
Android and windows os
MehakVithal
 
Android Training (Services)
Android Training (Services)Android Training (Services)
Android Training (Services)
Khaled Anaqwa
 
Android ppt with example of budget manager
Android ppt with example of budget managerAndroid ppt with example of budget manager
Android ppt with example of budget manager
Nalini Mehta
 

Similar to Andriod Lecture 8 A.pptx (20)

Android Development Tutorial
Android Development TutorialAndroid Development Tutorial
Android Development Tutorial
 
Android OS and its Features
Android OS and its FeaturesAndroid OS and its Features
Android OS and its Features
 
Android- Introduction for Beginners
Android- Introduction for BeginnersAndroid- Introduction for Beginners
Android- Introduction for Beginners
 
Android Workshop_1
Android Workshop_1Android Workshop_1
Android Workshop_1
 
Basic of Android App Development
Basic of Android App DevelopmentBasic of Android App Development
Basic of Android App Development
 
Android Application Development
Android Application DevelopmentAndroid Application Development
Android Application Development
 
Introduction to android basics
Introduction to android basicsIntroduction to android basics
Introduction to android basics
 
Android101
Android101Android101
Android101
 
Unit I- ANDROID OVERVIEW.ppt
Unit I- ANDROID OVERVIEW.pptUnit I- ANDROID OVERVIEW.ppt
Unit I- ANDROID OVERVIEW.ppt
 
Android Penetration Testing - Day 1
Android Penetration Testing - Day 1Android Penetration Testing - Day 1
Android Penetration Testing - Day 1
 
Android quick talk
Android quick talkAndroid quick talk
Android quick talk
 
Introduction to Android Development.pptx
Introduction to Android Development.pptxIntroduction to Android Development.pptx
Introduction to Android Development.pptx
 
Basics 4
Basics   4Basics   4
Basics 4
 
Overview of Adroid Architecture.pptx
Overview of Adroid Architecture.pptxOverview of Adroid Architecture.pptx
Overview of Adroid Architecture.pptx
 
cloud computing notes for anna university syllabus
cloud computing notes for anna university syllabuscloud computing notes for anna university syllabus
cloud computing notes for anna university syllabus
 
AZURE CC JP.pptx
AZURE CC JP.pptxAZURE CC JP.pptx
AZURE CC JP.pptx
 
Introduction to Mobile Operating System.pptx
Introduction to Mobile Operating System.pptxIntroduction to Mobile Operating System.pptx
Introduction to Mobile Operating System.pptx
 
Android and windows os
Android and windows osAndroid and windows os
Android and windows os
 
Android Training (Services)
Android Training (Services)Android Training (Services)
Android Training (Services)
 
Android ppt with example of budget manager
Android ppt with example of budget managerAndroid ppt with example of budget manager
Android ppt with example of budget manager
 

Recently uploaded

Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptxMigration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
ervikas4
 
Ensuring Efficiency and Speed with Practical Solutions for Clinical Operations
Ensuring Efficiency and Speed with Practical Solutions for Clinical OperationsEnsuring Efficiency and Speed with Practical Solutions for Clinical Operations
Ensuring Efficiency and Speed with Practical Solutions for Clinical Operations
OnePlan Solutions
 
How GenAI Can Improve Supplier Performance Management.pdf
How GenAI Can Improve Supplier Performance Management.pdfHow GenAI Can Improve Supplier Performance Management.pdf
How GenAI Can Improve Supplier Performance Management.pdf
Zycus
 
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
gapen1
 
Boost Your Savings with These Money Management Apps
Boost Your Savings with These Money Management AppsBoost Your Savings with These Money Management Apps
Boost Your Savings with These Money Management Apps
Jhone kinadey
 
Computer Science & Engineering VI Sem- New Syllabus.pdf
Computer Science & Engineering VI Sem- New Syllabus.pdfComputer Science & Engineering VI Sem- New Syllabus.pdf
Computer Science & Engineering VI Sem- New Syllabus.pdf
chandangoswami40933
 
Building API data products on top of your real-time data infrastructure
Building API data products on top of your real-time data infrastructureBuilding API data products on top of your real-time data infrastructure
Building API data products on top of your real-time data infrastructure
confluent
 
Going AOT: Everything you need to know about GraalVM for Java applications
Going AOT: Everything you need to know about GraalVM for Java applicationsGoing AOT: Everything you need to know about GraalVM for Java applications
Going AOT: Everything you need to know about GraalVM for Java applications
Alina Yurenko
 
14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision
ShulagnaSarkar2
 
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
The Third Creative Media
 
Microsoft-Power-Platform-Adoption-Planning.pptx
Microsoft-Power-Platform-Adoption-Planning.pptxMicrosoft-Power-Platform-Adoption-Planning.pptx
Microsoft-Power-Platform-Adoption-Planning.pptx
jrodriguezq3110
 
Streamlining End-to-End Testing Automation
Streamlining End-to-End Testing AutomationStreamlining End-to-End Testing Automation
Streamlining End-to-End Testing Automation
Anand Bagmar
 
Hands-on with Apache Druid: Installation & Data Ingestion Steps
Hands-on with Apache Druid: Installation & Data Ingestion StepsHands-on with Apache Druid: Installation & Data Ingestion Steps
Hands-on with Apache Druid: Installation & Data Ingestion Steps
servicesNitor
 
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
kalichargn70th171
 
Orca: Nocode Graphical Editor for Container Orchestration
Orca: Nocode Graphical Editor for Container OrchestrationOrca: Nocode Graphical Editor for Container Orchestration
Orca: Nocode Graphical Editor for Container Orchestration
Pedro J. Molina
 
Superpower Your Apache Kafka Applications Development with Complementary Open...
Superpower Your Apache Kafka Applications Development with Complementary Open...Superpower Your Apache Kafka Applications Development with Complementary Open...
Superpower Your Apache Kafka Applications Development with Complementary Open...
Paul Brebner
 
Flutter vs. React Native: A Detailed Comparison for App Development in 2024
Flutter vs. React Native: A Detailed Comparison for App Development in 2024Flutter vs. React Native: A Detailed Comparison for App Development in 2024
Flutter vs. React Native: A Detailed Comparison for App Development in 2024
dhavalvaghelanectarb
 
What is Continuous Testing in DevOps - A Definitive Guide.pdf
What is Continuous Testing in DevOps - A Definitive Guide.pdfWhat is Continuous Testing in DevOps - A Definitive Guide.pdf
What is Continuous Testing in DevOps - A Definitive Guide.pdf
kalichargn70th171
 
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
campbellclarkson
 
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdfThe Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
kalichargn70th171
 

Recently uploaded (20)

Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptxMigration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
 
Ensuring Efficiency and Speed with Practical Solutions for Clinical Operations
Ensuring Efficiency and Speed with Practical Solutions for Clinical OperationsEnsuring Efficiency and Speed with Practical Solutions for Clinical Operations
Ensuring Efficiency and Speed with Practical Solutions for Clinical Operations
 
How GenAI Can Improve Supplier Performance Management.pdf
How GenAI Can Improve Supplier Performance Management.pdfHow GenAI Can Improve Supplier Performance Management.pdf
How GenAI Can Improve Supplier Performance Management.pdf
 
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
 
Boost Your Savings with These Money Management Apps
Boost Your Savings with These Money Management AppsBoost Your Savings with These Money Management Apps
Boost Your Savings with These Money Management Apps
 
Computer Science & Engineering VI Sem- New Syllabus.pdf
Computer Science & Engineering VI Sem- New Syllabus.pdfComputer Science & Engineering VI Sem- New Syllabus.pdf
Computer Science & Engineering VI Sem- New Syllabus.pdf
 
Building API data products on top of your real-time data infrastructure
Building API data products on top of your real-time data infrastructureBuilding API data products on top of your real-time data infrastructure
Building API data products on top of your real-time data infrastructure
 
Going AOT: Everything you need to know about GraalVM for Java applications
Going AOT: Everything you need to know about GraalVM for Java applicationsGoing AOT: Everything you need to know about GraalVM for Java applications
Going AOT: Everything you need to know about GraalVM for Java applications
 
14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision
 
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
 
Microsoft-Power-Platform-Adoption-Planning.pptx
Microsoft-Power-Platform-Adoption-Planning.pptxMicrosoft-Power-Platform-Adoption-Planning.pptx
Microsoft-Power-Platform-Adoption-Planning.pptx
 
Streamlining End-to-End Testing Automation
Streamlining End-to-End Testing AutomationStreamlining End-to-End Testing Automation
Streamlining End-to-End Testing Automation
 
Hands-on with Apache Druid: Installation & Data Ingestion Steps
Hands-on with Apache Druid: Installation & Data Ingestion StepsHands-on with Apache Druid: Installation & Data Ingestion Steps
Hands-on with Apache Druid: Installation & Data Ingestion Steps
 
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
 
Orca: Nocode Graphical Editor for Container Orchestration
Orca: Nocode Graphical Editor for Container OrchestrationOrca: Nocode Graphical Editor for Container Orchestration
Orca: Nocode Graphical Editor for Container Orchestration
 
Superpower Your Apache Kafka Applications Development with Complementary Open...
Superpower Your Apache Kafka Applications Development with Complementary Open...Superpower Your Apache Kafka Applications Development with Complementary Open...
Superpower Your Apache Kafka Applications Development with Complementary Open...
 
Flutter vs. React Native: A Detailed Comparison for App Development in 2024
Flutter vs. React Native: A Detailed Comparison for App Development in 2024Flutter vs. React Native: A Detailed Comparison for App Development in 2024
Flutter vs. React Native: A Detailed Comparison for App Development in 2024
 
What is Continuous Testing in DevOps - A Definitive Guide.pdf
What is Continuous Testing in DevOps - A Definitive Guide.pdfWhat is Continuous Testing in DevOps - A Definitive Guide.pdf
What is Continuous Testing in DevOps - A Definitive Guide.pdf
 
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
 
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdfThe Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
 

Andriod Lecture 8 A.pptx

  • 1. Data Transfer between Activities & Databases Faiz Ur Rehman
  • 2. Services • Android services a component that issued to perform operations on the background such as playing music, handle network transactions, interacting content providers etc. It doesn't has any UI (user interface). • The service runs in the background indefinitely even if application is destroyed. •three different types of services
  • 3. • 1. Foreground-A foreground service performs some operation that is noticeable to the user. Start Service() • 2. Background-A background service performs an operation that isn't directly noticed by the user. Start Service() • 3. Bound-A service is bound when an application component binds to it by calling bindService(). A bound service offers a client-server interface that allows components to interact with the service, send requests, receive results, and even do so across processes with inter process communication (IPC). A bound service runs only as long as another application component is bound to it. Multiple components can bind to the service at once, but when all of them unbind, the service is destroyed.
  • 4. Lifecycle A service can essentially take two states − • Started A service is started when an application component, such as an activity, starts it by calling startService(). Once started, a service can run in the background indefinitely, even if the component that started it is destroyed. • Bound A service is bound when an application component binds to it by calling bindService(). A bound service offers a client-server interface that allows components to interact with the service, send requests, get results, and even do so across processes with inter process communication (IPC).
  • 5.
  • 6. • Create a Service Generally, in android to create a service we must create a subclass of Service. In android the application component such as an activity can start the service by calling startService()which results in calling the service’s on StartCommand()method • onCreate() The system calls this method when the service is first created using on StartCommand() or onBind(). This call is required to perform one-time set-up.
  • 7. • onStartCommand() The system calls this method when another component, such as an activity, requests that the service be started, by calling startService(). If you implement this method, it is your responsibility to stop the service when its work is done, by callingstopSelf() or stopService()methods
  • 8. • onBind() The system calls this method when another component wants to bind with the service by calling bindService(). If you implement this method, you must provide an interface that clients use to communicate with the service, by returning an iBinderobject. You must always implement this method, but if you don't want to allow binding, then you should return null
  • 9. • onUnbind() The system calls this method when all clients have disconnected from a particular interface published by the service. •onRebind() The system calls this method when new clients have connected to the service, after it had previously been notified that all had disconnected in its onUnbind(Intent). ••onDestroy() The system calls this method when the service is no longer used and is being destroyed. Your service should implement this to clean up any resources such as threads, registered listeners, receivers, etc.
  • 11. Android Architecture • Android operating system is a stack of software components which is roughly divided into five sections and four main layers as shown below in the architecture diagram.
  • 12.
  • 13. Layer 1 • Linux kernel • At the bottom of the layers is Linux -Linux 3.6 with approximately 115 patches. This provides a level of abstraction between the device hardware and it contains all the essential hardware drivers like camera, keypad, display etc. Also, the kernel handles all the things that Linux is really good at such as networking and a vast array of device drivers, which take the pain out of interfacing to peripheral hardware.
  • 14. • Linux Kernel has three main parts. Device Driver Memory Management Process Management
  • 15. Libraries C/C++ Interface through Java Surface Manager Handling UI Windows 2D/3D SQLite and Browser Engine
  • 16. • On top of Linux kernel there is a set of libraries including open- source Web browser engine WebKit, well known library libc, SQLite database which is a useful repository for storage and sharing of application data, libraries to play and record audio and video, SSL libraries responsible for Internet security etc
  • 17. Android Libraries • This category encompasses those Java-based libraries that are specific to Android development. Examples of libraries in this category include the application framework libraries in addition to those that facilitate user interface building, graphics drawing and database access. • A summary of some key core Android libraries available to the Android developer is as follows
  • 18. • Android.app : Provides access to the application model and is the cornerstone of all Android applications. •Android.content− Facilitates content access, publishing and messaging between applications and application components. •Android.database− Used to access data published by content providers and includes SQLite database management classes. •android.opengl− A Java interface to the OpenGL ES 3Dgraphics rendering API. •android.os− Provides applications with access to standard operating system services including messages, system services and inter-process communication
  • 19. • Android.Text− Used to render and manipulate text on a device display. • Android.view− The fundamental building blocks of application user interfaces. • Android.widget− A rich collection of pre-built user interface components such as buttons, labels, list views, layout managers, radio buttons etc. • Android.webkit− A set of classes intended to allow web-browsing capabilities to be built into applications
  • 20. Application Framework • The Application Framework layer provides many higher-level services to applications in the form of Java classes. Application developers are allowed to make use of these services in their applications.
  • 21. • The Android framework includes the following key services •Activity Manager− Controls all aspects of the application lifecycle and activity stack. •Content Providers− Allows applications to publish and share data with other applications. •Resource Manager− Provides access to non-code embedded resources such as strings, color settings and user interface layouts. •Notifications Manager− Allows applications to display alerts and notifications to the user. •View System− An extensible set of views used to create application user interfaces.
  • 23. Android Runtime 1. Dalvik VM Dex files Compact and efficient than class files Limited Memory and battery power 2. Core Libaries Java 5 Std edition Collection, I/O devices
  • 24. • The Dalvik Virtual Machine (DVM) is an android virtual machine optimized for mobile devices. It optimizes the virtual machine for memory, battery life and performance. • Dalvik is a name of a town in Iceland. The Dalvik VM was written by Dan Bornstein. • The Dex compiler converts the class files into the .dex file that run on the Dalvik VM. Multiple class files are converted into one dex file.
  • 25.