SlideShare a Scribd company logo
WHAT IS ANDROID?
 Open source OS
 Uses Linux kernel
 Optimized for limited-resource environment
 Apps typically written in Java
 Apps run on the Dalvik Virtual Machine
ANDROID – NOW
 1B users
 1.5M new users every day
 60 OEM worldwide & 300 partners
 50B downloads
 2.5B app downloads
 2.5 times higher than last year
 7x higher revenue
ARCHITECTURE
LINUX KERNEL
 Android OS is built on top of the Linux 3.x Kernel
 This Linux will interact with the hardware and contains all the es
sential hardware drivers
 Drivers are programs that control and communicate with the hardw
are
 For example, consider the Bluetooth function. All devices has a Blu
etooth hardware in it. Therefore the kernel must include a Bluetooth
driver to communicate with the Bluetooth hardware.
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.
LIBRARIES
 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
 Media framework: Media framework provides different media
codecs allowing the recording and playback of different media
formats
RUNTIME
 DVM 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.
 The Dalvik VM allows multiple instance of Virtual machine to
be created simultaneously providing security, isolation, memory
management and threading support.
APP 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.
APP FRAMEWORK
 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.
APPLICATION
 Applications are the top layer in the Android architecture and this
is where our applications are going to fit.
 Several standard applications comes pre-installed with every
device, such as:
 SMS client app
 Dialer
 Web browser
 Contact manager
PREREQUISITES
 Java – JDK
 Adt bundle (Eclipse + SDK)
 Android Device (optional)
 Mobile Drivers for windows
COMPONENTS OF ANDROID
ACTIVITY
 Activity is an individual user interface screen in an Android
application
 Visual elements called Views (also known as widgets) can be
placed
 The user can perform various actions by interacting with it.
POINTS TO REMEMBER
 The widgets in an Activity can be created in two different ways,
by pure java code and by adding XML code to define the UI.
 An application can have more than one Activity and each
Activity operates independently, but can be linked to one another
and each Activity you create must be defined in your
application’s manifest file.
 Each Activity in android will be subclass of Activity class
defined in Android SDK.
ANDROID PROJECT STRUCTURE
 /src
 The src folder contains the Java source code files of your
application organized into packages.
 /Android<version Number>
 The android.jar file contains all the essential libraries required for
our program.
 /ASSETS
 The assets folder is used to store raw asset files. The raw data
can be anything such as audio, video, images etc.
ANDROID PROJECT STRUCTURE
 /BIN
 It is where our compiled application files go. When we
successfully compile an application, this folder will contain java
class files, dex files which are executable under Dalvik virtual
machine, apk archives etc.
 /RES
 Res folder is where we store all our external resources for our
applications such as images, layout XML files, strings, animations,
audio files etc.
ANDROID PROJECT STRUCTURE
 /res/drawable
 The folders are to provide alternative image resources to specific
screen configurations. The resources for each screen resolutions
are stored in respective folders and the android system will choose
it according to the pixel density of the device.
 /res/layout
 XML files that defines the User Interface goes in this folder.
 /res/values
 XML files that define simple values such as strings, arrays,
integers, dimensions, colors, styles etc. are placed in this
folder.
ANDROID PROJECT STRUCTURE
 Android Manifest file
 It contains all the information about your application. When an
application is launched, the first file the system seeks is the
AndroidManifest file. It actually works as a road map of your
application, for the system.
 The Android Manifest file contains information about:
 Components of your application such as Activities, services etc.
 User permissions required
 Minimum level of Android API required
ACTIVITY LIFECYCLE
ACTIVITY LIFECYCLE
 Oncreate(Bundle b) :
 When we launch an Activity in Android, it first calls the onCreate()
method. This is where we do User Interface creation and
initialization of data elements. This method is provided with a
Bundle object as parameter to restore the UI state.
 onStart() :
 This is called before the Activity is being visible to the User.
Remember that Activity is still not Active.
ACTIVITY LIFECYCLE
 onResume() : foreground
 The Activity become visible and Active for the user to interact
with. The Activity will be at the top of the Activity stack at this point.
Now the Activity is in running /active state and is able to receive
user inputs.
 onpause() : background
 In the Active state, onPause() method will be called when the
system is about to resume another Activity on top of this one or
when the user is about to navigate to some other parts of the
system.
 It gets killed by the system under extremely low memory
conditions.
ACTIVITY LIFECYCLE
 onstop() :
 This is the default action when the user has pressed the back
button, or a new activity which completely covers it resumes on
top.
 onDestroy() :
 This is called and the Activity is destroyed. This is the final
method we can call before the Activity is destroyed. This occurs
either because the Activity is finishing the operation or the system
is temporarily destroying it to save space.
INTENTS
 If you want to invoke a new activity from your current activity,
you need to fire an intent specifying the new activity.
 And if you want to start other application from your activity,
then also you need to fire an intent.
EXPLICIT INTENTS
 In explicit Intent, we are highly specific. We specify which
activity should get active on receiving the intent.
Intent intent = new Intent(A.this , B.class)
startActivity(intent);
IMPLICIT INTENTS
 In implicit Intent we are sending a message to the Android
system to find a suitable Activity that can respond to the intent.
 For example, to open a camera, we can use an intent . If there
is more than one activity is capable of receiving the Intent, the
system presents a chooser to the user so that he can select
which Activity/Application should handle it.
Intent intent = new
Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivity(intent);
BROADCAST RECEIVERS
 Broadcast receivers are one of Android application components
that is used to receive messages that are broadcasted by the
Android system or other Android applications.
 Example :
 1. Warning that the battery is getting low
 2. Change of time zone
CONTENT PROVIDERS
 Content providers in Android provides a flexible way to make
data available across applications. Through content providers
other applications are able to query, access or even modify the
data you’ve created, as long as your content provider allows it.
 Example :
 The contacts database. The Content provider of contacts database
allows other applications to query, read, modify, and write the
contacts info.
SERVICE
 A service is an Android application component that run in
background and has no visual UI.
 A service can be started by another Android application
components such as an activity or other services and it will
continue to run in the background even after the user switches
to another application.
 Example :
 One typical example for the use of services is a music player
application. We can use an activity to select a music track from the
SD card and to play it.
 At any time the user is able to come back to the activity and use
the seek bar to seek the track, This means that the service and
the Activity that invoked the service are not completely
independent, instead the Activity is able to fully control the Service.
 Another example for a service is the downloading of file from the
internet. It should run in the background and continue downloading
even after we switches to another applications.
GOOGLE STUDENT AMBASSADOR
Community
College events & Hackathans
Training & Workshops
https://plus.google.com/u/0/communities/1
07158244985901317444
Android beginners David

More Related Content

What's hot

Intro To Android App Development
Intro To Android App DevelopmentIntro To Android App Development
Intro To Android App Development
Mike Kvintus
 
Android tutorial
Android tutorialAndroid tutorial
Android tutorial
master760
 
Android - From Zero to Hero @ DEVit 2017
Android - From Zero to Hero @ DEVit 2017Android - From Zero to Hero @ DEVit 2017
Android - From Zero to Hero @ DEVit 2017
Ivo Neskovic
 
android-tutorial-for-beginner
android-tutorial-for-beginnerandroid-tutorial-for-beginner
android-tutorial-for-beginnerAjailal Parackal
 
Android Application Development Using Java
Android Application Development Using JavaAndroid Application Development Using Java
Android Application Development Using Java
amaankhan
 
Android app development
Android app developmentAndroid app development
Android app development
PiyushBhambhani1
 
Android application structure
Android application structureAndroid application structure
Android application structureAlexey Ustenko
 
Android
AndroidAndroid
Android Development
Android DevelopmentAndroid Development
Android Development
mclougm4
 
Introduction to Android Development
Introduction to Android DevelopmentIntroduction to Android Development
Introduction to Android Development
Aly Abdelkareem
 
Android fundamentals and tutorial for beginners
Android fundamentals and tutorial for beginnersAndroid fundamentals and tutorial for beginners
Android fundamentals and tutorial for beginnersBoom Shukla
 
Android application development workshop day1
Android application development workshop   day1Android application development workshop   day1
Android application development workshop day1Borhan Otour
 
Day 2 android internals a quick overview
Day 2 android internals a quick overviewDay 2 android internals a quick overview
Day 2 android internals a quick overviewAhsanul Karim
 
Application Development - Overview on Android OS
Application Development - Overview on Android OSApplication Development - Overview on Android OS
Application Development - Overview on Android OS
Pankaj Maheshwari
 
Android before getting started
Android before getting startedAndroid before getting started
Android before getting startedAhsanul Karim
 
Android overview
Android overviewAndroid overview
Android overview
Has Taiar
 
Introduction to Android development - Presentation
Introduction to Android development - PresentationIntroduction to Android development - Presentation
Introduction to Android development - Presentation
Atul Panjwani
 
Android report
Android reportAndroid report
Android report
blogger at indiandswad
 
Introduction to Android Development
Introduction to Android DevelopmentIntroduction to Android Development
Introduction to Android Development
donnfelker
 

What's hot (20)

Intro To Android App Development
Intro To Android App DevelopmentIntro To Android App Development
Intro To Android App Development
 
Android tutorial
Android tutorialAndroid tutorial
Android tutorial
 
Android - From Zero to Hero @ DEVit 2017
Android - From Zero to Hero @ DEVit 2017Android - From Zero to Hero @ DEVit 2017
Android - From Zero to Hero @ DEVit 2017
 
android-tutorial-for-beginner
android-tutorial-for-beginnerandroid-tutorial-for-beginner
android-tutorial-for-beginner
 
Android Application Development Using Java
Android Application Development Using JavaAndroid Application Development Using Java
Android Application Development Using Java
 
Android app development
Android app developmentAndroid app development
Android app development
 
Android application structure
Android application structureAndroid application structure
Android application structure
 
Android
AndroidAndroid
Android
 
Android Development
Android DevelopmentAndroid Development
Android Development
 
Introduction to Android Development
Introduction to Android DevelopmentIntroduction to Android Development
Introduction to Android Development
 
Android fundamentals and tutorial for beginners
Android fundamentals and tutorial for beginnersAndroid fundamentals and tutorial for beginners
Android fundamentals and tutorial for beginners
 
Android application development workshop day1
Android application development workshop   day1Android application development workshop   day1
Android application development workshop day1
 
Android Report
Android ReportAndroid Report
Android Report
 
Day 2 android internals a quick overview
Day 2 android internals a quick overviewDay 2 android internals a quick overview
Day 2 android internals a quick overview
 
Application Development - Overview on Android OS
Application Development - Overview on Android OSApplication Development - Overview on Android OS
Application Development - Overview on Android OS
 
Android before getting started
Android before getting startedAndroid before getting started
Android before getting started
 
Android overview
Android overviewAndroid overview
Android overview
 
Introduction to Android development - Presentation
Introduction to Android development - PresentationIntroduction to Android development - Presentation
Introduction to Android development - Presentation
 
Android report
Android reportAndroid report
Android report
 
Introduction to Android Development
Introduction to Android DevelopmentIntroduction to Android Development
Introduction to Android Development
 

Viewers also liked

J Query Presentation of David
J Query Presentation of DavidJ Query Presentation of David
J Query Presentation of David
Arun David Johnson R
 
Webdevelopment
WebdevelopmentWebdevelopment
Webdevelopment
Giacomo Antonino Fazio
 
jQuery UI and Plugins
jQuery UI and PluginsjQuery UI and Plugins
jQuery UI and Plugins
Marc Grabanski
 
Learning from the Best jQuery Plugins
Learning from the Best jQuery PluginsLearning from the Best jQuery Plugins
Learning from the Best jQuery Plugins
Marc Grabanski
 
An Introduction to Ajax Programming
An Introduction to Ajax ProgrammingAn Introduction to Ajax Programming
An Introduction to Ajax Programminghchen1
 
Introduction to Test Driven Development
Introduction to Test Driven DevelopmentIntroduction to Test Driven Development
Introduction to Test Driven Development
Siva Arunachalam
 
Simplify AJAX using jQuery
Simplify AJAX using jQuerySimplify AJAX using jQuery
Simplify AJAX using jQuerySiva Arunachalam
 
Introduction to EDI(Electronic Data Interchange)
Introduction to EDI(Electronic Data Interchange)Introduction to EDI(Electronic Data Interchange)
Introduction to EDI(Electronic Data Interchange)
Siva Arunachalam
 
Ajax ppt - 32 slides
Ajax ppt - 32 slidesAjax ppt - 32 slides
Ajax ppt - 32 slides
Smithss25
 
CSS/SVG Matrix Transforms
CSS/SVG Matrix TransformsCSS/SVG Matrix Transforms
CSS/SVG Matrix Transforms
Marc Grabanski
 
HTML5 Essentials
HTML5 EssentialsHTML5 Essentials
HTML5 Essentials
Marc Grabanski
 
jQuery Essentials
jQuery EssentialsjQuery Essentials
jQuery Essentials
Marc Grabanski
 

Viewers also liked (15)

J Query Presentation of David
J Query Presentation of DavidJ Query Presentation of David
J Query Presentation of David
 
Webdevelopment
WebdevelopmentWebdevelopment
Webdevelopment
 
C# tutorial
C# tutorialC# tutorial
C# tutorial
 
Ajax and Jquery
Ajax and JqueryAjax and Jquery
Ajax and Jquery
 
jQuery UI and Plugins
jQuery UI and PluginsjQuery UI and Plugins
jQuery UI and Plugins
 
Learning from the Best jQuery Plugins
Learning from the Best jQuery PluginsLearning from the Best jQuery Plugins
Learning from the Best jQuery Plugins
 
An Introduction to Ajax Programming
An Introduction to Ajax ProgrammingAn Introduction to Ajax Programming
An Introduction to Ajax Programming
 
Introduction to Test Driven Development
Introduction to Test Driven DevelopmentIntroduction to Test Driven Development
Introduction to Test Driven Development
 
Simplify AJAX using jQuery
Simplify AJAX using jQuerySimplify AJAX using jQuery
Simplify AJAX using jQuery
 
jQuery for beginners
jQuery for beginnersjQuery for beginners
jQuery for beginners
 
Introduction to EDI(Electronic Data Interchange)
Introduction to EDI(Electronic Data Interchange)Introduction to EDI(Electronic Data Interchange)
Introduction to EDI(Electronic Data Interchange)
 
Ajax ppt - 32 slides
Ajax ppt - 32 slidesAjax ppt - 32 slides
Ajax ppt - 32 slides
 
CSS/SVG Matrix Transforms
CSS/SVG Matrix TransformsCSS/SVG Matrix Transforms
CSS/SVG Matrix Transforms
 
HTML5 Essentials
HTML5 EssentialsHTML5 Essentials
HTML5 Essentials
 
jQuery Essentials
jQuery EssentialsjQuery Essentials
jQuery Essentials
 

Similar to Android beginners David

Android app fundamentals
Android app fundamentalsAndroid app fundamentals
Android app fundamentals
Amr Salman
 
Unit2
Unit2Unit2
Android Development Basics
Android Development BasicsAndroid Development Basics
Android Development Basics
Prajakta Dharmpurikar
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to android
javalabsf
 
Android In A Nutshell
Android In A NutshellAndroid In A Nutshell
Android In A Nutshell
Ted Chien
 
Introduction to Android Development Part 1
Introduction to Android Development Part 1Introduction to Android Development Part 1
Introduction to Android Development Part 1
Kainda Kiniel Daka
 
Aptech Apps
Aptech Apps Aptech Apps
Aptech Apps
RasikaShinde6
 
Mobile testing android
Mobile testing   androidMobile testing   android
Mobile testing android
Basant Dewangan
 
Android platform
Android platform Android platform
Android platform
Rashmi Warghade
 
Android Basic- CMC
Android Basic- CMCAndroid Basic- CMC
Android Basic- CMC
Pragati Singh
 
Android terminologies
Android terminologiesAndroid terminologies
Android terminologies
jerry vasoya
 
Android development-tutorial
Android development-tutorialAndroid development-tutorial
Android development-tutorial
nirajsimulanis
 
Android Introduction by Kajal
Android Introduction by KajalAndroid Introduction by Kajal
Android Introduction by Kajal
Kajal Kucheriya Jain
 
Android Tutorial For Beginners Part-1
Android Tutorial For Beginners Part-1Android Tutorial For Beginners Part-1
Android Tutorial For Beginners Part-1
Amit Saxena
 
Android 1-intro n architecture
Android 1-intro n architectureAndroid 1-intro n architecture
Android 1-intro n architecture
Dilip Singh
 
architecture of android.pptx
architecture of android.pptxarchitecture of android.pptx
architecture of android.pptx
allurestore
 
Google android white paper
Google android white paperGoogle android white paper
Google android white paperSravan Reddy
 
Android interview questions and answers
Android interview questions and answersAndroid interview questions and answers
Android interview questions and answers
kavinilavuG
 
Android development training programme Day 1
Android development training programme Day 1Android development training programme Day 1
Android development training programme Day 1DHIRAJ PRAVIN
 
Technology and Android.pptx
Technology and Android.pptxTechnology and Android.pptx
Technology and Android.pptx
muthulakshmi cse
 

Similar to Android beginners David (20)

Android app fundamentals
Android app fundamentalsAndroid app fundamentals
Android app fundamentals
 
Unit2
Unit2Unit2
Unit2
 
Android Development Basics
Android Development BasicsAndroid Development Basics
Android Development Basics
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to android
 
Android In A Nutshell
Android In A NutshellAndroid In A Nutshell
Android In A Nutshell
 
Introduction to Android Development Part 1
Introduction to Android Development Part 1Introduction to Android Development Part 1
Introduction to Android Development Part 1
 
Aptech Apps
Aptech Apps Aptech Apps
Aptech Apps
 
Mobile testing android
Mobile testing   androidMobile testing   android
Mobile testing android
 
Android platform
Android platform Android platform
Android platform
 
Android Basic- CMC
Android Basic- CMCAndroid Basic- CMC
Android Basic- CMC
 
Android terminologies
Android terminologiesAndroid terminologies
Android terminologies
 
Android development-tutorial
Android development-tutorialAndroid development-tutorial
Android development-tutorial
 
Android Introduction by Kajal
Android Introduction by KajalAndroid Introduction by Kajal
Android Introduction by Kajal
 
Android Tutorial For Beginners Part-1
Android Tutorial For Beginners Part-1Android Tutorial For Beginners Part-1
Android Tutorial For Beginners Part-1
 
Android 1-intro n architecture
Android 1-intro n architectureAndroid 1-intro n architecture
Android 1-intro n architecture
 
architecture of android.pptx
architecture of android.pptxarchitecture of android.pptx
architecture of android.pptx
 
Google android white paper
Google android white paperGoogle android white paper
Google android white paper
 
Android interview questions and answers
Android interview questions and answersAndroid interview questions and answers
Android interview questions and answers
 
Android development training programme Day 1
Android development training programme Day 1Android development training programme Day 1
Android development training programme Day 1
 
Technology and Android.pptx
Technology and Android.pptxTechnology and Android.pptx
Technology and Android.pptx
 

Recently uploaded

LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 

Recently uploaded (20)

LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 

Android beginners David

  • 1.
  • 2. WHAT IS ANDROID?  Open source OS  Uses Linux kernel  Optimized for limited-resource environment  Apps typically written in Java  Apps run on the Dalvik Virtual Machine
  • 3. ANDROID – NOW  1B users  1.5M new users every day  60 OEM worldwide & 300 partners  50B downloads  2.5B app downloads  2.5 times higher than last year  7x higher revenue
  • 4.
  • 6. LINUX KERNEL  Android OS is built on top of the Linux 3.x Kernel  This Linux will interact with the hardware and contains all the es sential hardware drivers  Drivers are programs that control and communicate with the hardw are  For example, consider the Bluetooth function. All devices has a Blu etooth hardware in it. Therefore the kernel must include a Bluetooth driver to communicate with the Bluetooth hardware.
  • 7. 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.
  • 8. LIBRARIES  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  Media framework: Media framework provides different media codecs allowing the recording and playback of different media formats
  • 9. RUNTIME  DVM 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.  The Dalvik VM allows multiple instance of Virtual machine to be created simultaneously providing security, isolation, memory management and threading support.
  • 10. APP 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.
  • 11. APP FRAMEWORK  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.
  • 12. APPLICATION  Applications are the top layer in the Android architecture and this is where our applications are going to fit.  Several standard applications comes pre-installed with every device, such as:  SMS client app  Dialer  Web browser  Contact manager
  • 13. PREREQUISITES  Java – JDK  Adt bundle (Eclipse + SDK)  Android Device (optional)  Mobile Drivers for windows
  • 14.
  • 16. ACTIVITY  Activity is an individual user interface screen in an Android application  Visual elements called Views (also known as widgets) can be placed  The user can perform various actions by interacting with it.
  • 17. POINTS TO REMEMBER  The widgets in an Activity can be created in two different ways, by pure java code and by adding XML code to define the UI.  An application can have more than one Activity and each Activity operates independently, but can be linked to one another and each Activity you create must be defined in your application’s manifest file.  Each Activity in android will be subclass of Activity class defined in Android SDK.
  • 18. ANDROID PROJECT STRUCTURE  /src  The src folder contains the Java source code files of your application organized into packages.  /Android<version Number>  The android.jar file contains all the essential libraries required for our program.  /ASSETS  The assets folder is used to store raw asset files. The raw data can be anything such as audio, video, images etc.
  • 19. ANDROID PROJECT STRUCTURE  /BIN  It is where our compiled application files go. When we successfully compile an application, this folder will contain java class files, dex files which are executable under Dalvik virtual machine, apk archives etc.  /RES  Res folder is where we store all our external resources for our applications such as images, layout XML files, strings, animations, audio files etc.
  • 20. ANDROID PROJECT STRUCTURE  /res/drawable  The folders are to provide alternative image resources to specific screen configurations. The resources for each screen resolutions are stored in respective folders and the android system will choose it according to the pixel density of the device.  /res/layout  XML files that defines the User Interface goes in this folder.  /res/values  XML files that define simple values such as strings, arrays, integers, dimensions, colors, styles etc. are placed in this folder.
  • 21. ANDROID PROJECT STRUCTURE  Android Manifest file  It contains all the information about your application. When an application is launched, the first file the system seeks is the AndroidManifest file. It actually works as a road map of your application, for the system.  The Android Manifest file contains information about:  Components of your application such as Activities, services etc.  User permissions required  Minimum level of Android API required
  • 23. ACTIVITY LIFECYCLE  Oncreate(Bundle b) :  When we launch an Activity in Android, it first calls the onCreate() method. This is where we do User Interface creation and initialization of data elements. This method is provided with a Bundle object as parameter to restore the UI state.  onStart() :  This is called before the Activity is being visible to the User. Remember that Activity is still not Active.
  • 24. ACTIVITY LIFECYCLE  onResume() : foreground  The Activity become visible and Active for the user to interact with. The Activity will be at the top of the Activity stack at this point. Now the Activity is in running /active state and is able to receive user inputs.  onpause() : background  In the Active state, onPause() method will be called when the system is about to resume another Activity on top of this one or when the user is about to navigate to some other parts of the system.  It gets killed by the system under extremely low memory conditions.
  • 25. ACTIVITY LIFECYCLE  onstop() :  This is the default action when the user has pressed the back button, or a new activity which completely covers it resumes on top.  onDestroy() :  This is called and the Activity is destroyed. This is the final method we can call before the Activity is destroyed. This occurs either because the Activity is finishing the operation or the system is temporarily destroying it to save space.
  • 26. INTENTS  If you want to invoke a new activity from your current activity, you need to fire an intent specifying the new activity.  And if you want to start other application from your activity, then also you need to fire an intent.
  • 27. EXPLICIT INTENTS  In explicit Intent, we are highly specific. We specify which activity should get active on receiving the intent. Intent intent = new Intent(A.this , B.class) startActivity(intent);
  • 28. IMPLICIT INTENTS  In implicit Intent we are sending a message to the Android system to find a suitable Activity that can respond to the intent.  For example, to open a camera, we can use an intent . If there is more than one activity is capable of receiving the Intent, the system presents a chooser to the user so that he can select which Activity/Application should handle it. Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivity(intent);
  • 29. BROADCAST RECEIVERS  Broadcast receivers are one of Android application components that is used to receive messages that are broadcasted by the Android system or other Android applications.  Example :  1. Warning that the battery is getting low  2. Change of time zone
  • 30. CONTENT PROVIDERS  Content providers in Android provides a flexible way to make data available across applications. Through content providers other applications are able to query, access or even modify the data you’ve created, as long as your content provider allows it.  Example :  The contacts database. The Content provider of contacts database allows other applications to query, read, modify, and write the contacts info.
  • 31. SERVICE  A service is an Android application component that run in background and has no visual UI.  A service can be started by another Android application components such as an activity or other services and it will continue to run in the background even after the user switches to another application.
  • 32.  Example :  One typical example for the use of services is a music player application. We can use an activity to select a music track from the SD card and to play it.  At any time the user is able to come back to the activity and use the seek bar to seek the track, This means that the service and the Activity that invoked the service are not completely independent, instead the Activity is able to fully control the Service.  Another example for a service is the downloading of file from the internet. It should run in the background and continue downloading even after we switches to another applications.
  • 33. GOOGLE STUDENT AMBASSADOR Community College events & Hackathans Training & Workshops https://plus.google.com/u/0/communities/1 07158244985901317444