SlideShare a Scribd company logo
Android Overview
Mobile Applications
 What are they?
 Any application that runs on a mobile device
 Types
 Web apps: run in a web browser
 HTML, JavaScript, Flash, server-side components,
etc.
 Native: compiled binaries for the device
 Often make use of web services
Mobile Devices: Advantages
 Always with the user
 Typically have Internet access
 Typically GPS enabled
 Most have cameras & microphones
 Many apps are free or low-cost
Mobile Devices: Disadvantages
 Limited screen size
 Limited battery life
 Limited processor speed
 Limited and sometimes slow network access
 Limited input: phone keypad, touch screen,
stylus etc
 Limited web browser functionality
 Range of platforms & configurations across
devices
Why Mobile App Development?
Why Android?
 Transferring app to phone is trivial
 Can distribute by putting it on the web
 Android Market (now Google Play) for wider
distribution
What is Google Android?
 A software stack for mobile devices that includes
 An operating system
 Middleware
 Key Applications
 Uses Linux to provide core system services
 Security
 Memory management
 Process management
 Power management
 Hardware drivers
Version Code name Release date API level DVM/ART Distribution
8.1
Oreo
October 25, 2017 27 ART
8.0 August 21, 2017 26 ART 0.2%
7.1
Nougat
October 4, 2016 25 ART 2.0%
7.0 August 22, 2016 24 ART 15.8%
6.0 Marshmallow October 5, 2015 23 ART 32.0%
5.1
Lollipop
March 9, 2015 22 ART 21.0%
5.0 November 3, 2014 21 ART 2.1.0 6.7%
4.4 KitKat October 31, 2013 19
DVM (and
ART 1.6.0)
14.5%
4.3
Jelly Bean
July 24, 2013 18 DVM 1.0%
4.2
November 13,
2012
17 DVM 3.3%
4.1 July 9, 2012 16 DVM 2.3%
4.0
Ice Cream
Sandwich
October 19, 2011 15 DVM 0.6%
2.3 Gingerbread February 9, 2011 10 DVM 1.4.0 0.6%
LA_FUNDAMENTALS OF Android_Unit I ONE.ppt
Android Apps
 Built using Java and new SDK libraries
 No support for some Java libraries like Swing &
AWT
 Java code compiled into Dalvik byte code
(.dex)
 Optimized for mobile devices (better memory
management, battery utilization, etc.)
 Dalvik VM runs .dex files
Applications
 Written in Java (it’s possible to write
native code)
 Good separation (and corresponding
security) from other applications:
 Each application runs in its own process
 Each process has its own separate VM
 Each application is assigned a unique Linux
user ID – by default files of that application are
only visible to that application
Android Architecture
 Activity Manager – Life Cycle / Navigation
within and among applications
 Content Provider – encapsulate data
 Location Manager – aware of its physical location
 Notification Manager – users informed about events
 Package Manager – infn. about other appln. Pkgs
 Resource Manager – lets appln accesses its
resources
 Telephony Manager – to learn about device
telephony services
 View System – manages UI elements / events
 Window Manager – perform Window related
operations
 Free Type: for bitmap and vector font rendering
 Libc : standard C System library
 Mediaframework: supports many audio & Video formats /
image files / playback & recording
 OpenGL/ES: for 3D graphics libraries
 SGL: 2D graphics engine – scalable graphics lib
 SQLite: provides lightweight RDB engine
 SSL: SSL based security for NW communication
 Surface Manager: manages accesses to the display
subsystem – 2D & 3D graphics layers
Application Components
 Activities – visual user interface focused
on a single thing a user can do (presents UI)
 Services – no visual interface – they run in
the background
User selects a song through an activity and a separate
service is started
 Broadcast Receivers – receive and react
to broadcast announcements
Battery life / timezone changed etc
 Content Providers – allow data exchange
between applications
Activities
 Basic component of most applications
 Most applications have several activities
that start each other as needed
 Each is implemented as a subclass of the
base Activity class
Activities – The View
 Each activity has a default window to
draw in
 The content of the window is a view or a
group of views (derived from View or
ViewGroup)
 Example of views: buttons, text fields,
scroll bars, menu items, check boxes, etc.
 View(Group) made visible via
Activity.setContentView() method.
Services
 Does not have a visual interface
 Runs in the background indefinitely
 Examples
 Network Downloads
 Playing Music
 TCP/UDP Server
 You can bind to an existing service and
control its operation
Broadcast Receivers
 Receive and react to broadcast
announcements
 Extend the class BroadcastReceiver
 Examples of broadcasts:
 Low battery, power connected, shutdown,
timezone changed, etc.
 Other applications can initiate broadcasts
Content Providers
 Makes some of the application data
available to other applications
 It’s the only way to transfer data between
applications in Android (no shared files,
shared memory, pipes, etc.)
 Extends the class ContentProvider;
 Other applications use a ContentResolver
object to access the data provided via a
ContentProvider
Intents
 An intent is an Intent object with a message content.
 Describe operations – send an email
 Activities, services and broadcast receivers are
started by intents. ContentProviders are started by
ContentResolvers:
 An activity is started by Context.startActivity(Intent intent)
or Activity.startActivityForResult(Intent intent, int
RequestCode)
 A service is started by Context.startService(Intent service)
 An application can initiate a broadcast by using an Intent in
any of Context.sendBroadcast(Intent intent),
Context.sendOrderedBroadcast(), and
Context.sendStickyBroadcast()
Android Manifest
 Its main purpose in life is to declare the components to the
system:
<?xml version="1.0" encoding="utf-8"?>
<manifest . . . >
<application . . . >
<activity
android:name="com.example.project.FreneticActivity"
android:icon="@drawable/small_pic.png"
android:label="@string/freneticLabel"
. . . >
</activity>
. . .
</application>
</manifest>
Building and running
 ADB is a client server program that connects clients on developer
machine to devices/emulators to facilitate development.
 An IDE like Eclipse handles this entire process for you.
Compiled resources
(xml files)
Android Debug Bridge
Fragments
Represents a portion of user interface in an Activity.
Views
UI elements that are drawn on-screen including buttons,
lists forms etc.
Layouts
View hierarchies that control screen format and
appearance of the views.
Intents
Messages wiring components together.
Resources
External elements, such as strings, constants and
drawable pictures.
Manifest
Configuration file for the application.
Components
Java
This contains the .java source files for your project. By default, it includes
an MainActivity.java source file having an activity class
res/drawable-hdpi
This is a directory for drawable objects that are designed for high-
density screens
res/layout
This is a directory for files that define your app's user interface
res/values
This is a directory for other various XML files that contain a collection of
resources, such as strings and colours definitions.
AndroidManifest.xml
This is the manifest file which describes the fundamental
characteristics of the app and defines each of its components.
MyProject/
app/
manifest/
AndroidManifest.xml
java/
MyActivity.java
res/
drawable/
icon.png
layout/
activity_main.xml
info.xml
values/
strings.xml
LA_FUNDAMENTALS OF Android_Unit I ONE.ppt

More Related Content

Similar to LA_FUNDAMENTALS OF Android_Unit I ONE.ppt (20)

PDF
Lecture3
jousterlabs
 
PPTX
Introduction to android basics
Hasam Panezai
 
PPTX
Introduction to Android (before 2015)
Chien-Ming Chou
 
PPTX
Android Technology
Anshul Sharma
 
PPTX
Technology and Android.pptx
muthulakshmi cse
 
PDF
Android introduction
Durai S
 
PPT
Introduction to Android Development
Can Elmas
 
PDF
Android fundamentals and tutorial for beginners
Boom Shukla
 
ODP
Nativa Android Applications development
Alfredo Morresi
 
PPTX
Android101 - Intro and Basics
jromero1214
 
PPT
Mobile appliaction w android week 1 by osama
Osama Ghandour Geris
 
PDF
Androidoscon20080721 1216843094441821-9
Gustavo Fuentes Zurita
 
PDF
Androidoscon20080721 1216843094441821-9
Gustavo Fuentes Zurita
 
PDF
Android internals
Liran Ben Haim
 
PPTX
Introduction to Android Development Part 1
Kainda Kiniel Daka
 
PDF
Android application development
Linh Vi Tường
 
PDF
Android development - the basics, MFF UK, 2013
Tomáš Kypta
 
PDF
Android development - the basics, FI MUNI, 2012
Tomáš Kypta
 
PPTX
Android terminologies
jerry vasoya
 
PDF
Android Workshop_1
Purvik Rana
 
Lecture3
jousterlabs
 
Introduction to android basics
Hasam Panezai
 
Introduction to Android (before 2015)
Chien-Ming Chou
 
Android Technology
Anshul Sharma
 
Technology and Android.pptx
muthulakshmi cse
 
Android introduction
Durai S
 
Introduction to Android Development
Can Elmas
 
Android fundamentals and tutorial for beginners
Boom Shukla
 
Nativa Android Applications development
Alfredo Morresi
 
Android101 - Intro and Basics
jromero1214
 
Mobile appliaction w android week 1 by osama
Osama Ghandour Geris
 
Androidoscon20080721 1216843094441821-9
Gustavo Fuentes Zurita
 
Androidoscon20080721 1216843094441821-9
Gustavo Fuentes Zurita
 
Android internals
Liran Ben Haim
 
Introduction to Android Development Part 1
Kainda Kiniel Daka
 
Android application development
Linh Vi Tường
 
Android development - the basics, MFF UK, 2013
Tomáš Kypta
 
Android development - the basics, FI MUNI, 2012
Tomáš Kypta
 
Android terminologies
jerry vasoya
 
Android Workshop_1
Purvik Rana
 

Recently uploaded (20)

PPTX
Introduction to Design of Machine Elements
PradeepKumarS27
 
PPTX
Green Building & Energy Conservation ppt
Sagar Sarangi
 
PPTX
MPMC_Module-2 xxxxxxxxxxxxxxxxxxxxx.pptx
ShivanshVaidya5
 
PPTX
Day2 B2 Best.pptx
helenjenefa1
 
PDF
Ethics and Trustworthy AI in Healthcare – Governing Sensitive Data, Profiling...
AlqualsaDIResearchGr
 
PDF
Introduction to Productivity and Quality
মোঃ ফুরকান উদ্দিন জুয়েল
 
PPTX
Server Side Web Development Unit 1 of Nodejs.pptx
sneha852132
 
DOCX
CS-802 (A) BDH Lab manual IPS Academy Indore
thegodhimself05
 
PPTX
Introduction to Neural Networks and Perceptron Learning Algorithm.pptx
Kayalvizhi A
 
PPTX
Shinkawa Proposal to meet Vibration API670.pptx
AchmadBashori2
 
PPTX
Arduino Based Gas Leakage Detector Project
CircuitDigest
 
PDF
6th International Conference on Machine Learning Techniques and Data Science ...
ijistjournal
 
PPTX
The Role of Information Technology in Environmental Protectio....pptx
nallamillisriram
 
PDF
Design Thinking basics for Engineers.pdf
CMR University
 
PDF
Reasons for the succes of MENARD PRESSUREMETER.pdf
majdiamz
 
DOC
MRRS Strength and Durability of Concrete
CivilMythili
 
PPTX
Lecture 1 Shell and Tube Heat exchanger-1.pptx
mailforillegalwork
 
PDF
Pressure Measurement training for engineers and Technicians
AIESOLUTIONS
 
PPTX
Heart Bleed Bug - A case study (Course: Cryptography and Network Security)
Adri Jovin
 
PDF
Biomechanics of Gait: Engineering Solutions for Rehabilitation (www.kiu.ac.ug)
publication11
 
Introduction to Design of Machine Elements
PradeepKumarS27
 
Green Building & Energy Conservation ppt
Sagar Sarangi
 
MPMC_Module-2 xxxxxxxxxxxxxxxxxxxxx.pptx
ShivanshVaidya5
 
Day2 B2 Best.pptx
helenjenefa1
 
Ethics and Trustworthy AI in Healthcare – Governing Sensitive Data, Profiling...
AlqualsaDIResearchGr
 
Introduction to Productivity and Quality
মোঃ ফুরকান উদ্দিন জুয়েল
 
Server Side Web Development Unit 1 of Nodejs.pptx
sneha852132
 
CS-802 (A) BDH Lab manual IPS Academy Indore
thegodhimself05
 
Introduction to Neural Networks and Perceptron Learning Algorithm.pptx
Kayalvizhi A
 
Shinkawa Proposal to meet Vibration API670.pptx
AchmadBashori2
 
Arduino Based Gas Leakage Detector Project
CircuitDigest
 
6th International Conference on Machine Learning Techniques and Data Science ...
ijistjournal
 
The Role of Information Technology in Environmental Protectio....pptx
nallamillisriram
 
Design Thinking basics for Engineers.pdf
CMR University
 
Reasons for the succes of MENARD PRESSUREMETER.pdf
majdiamz
 
MRRS Strength and Durability of Concrete
CivilMythili
 
Lecture 1 Shell and Tube Heat exchanger-1.pptx
mailforillegalwork
 
Pressure Measurement training for engineers and Technicians
AIESOLUTIONS
 
Heart Bleed Bug - A case study (Course: Cryptography and Network Security)
Adri Jovin
 
Biomechanics of Gait: Engineering Solutions for Rehabilitation (www.kiu.ac.ug)
publication11
 
Ad

LA_FUNDAMENTALS OF Android_Unit I ONE.ppt

  • 2. Mobile Applications  What are they?  Any application that runs on a mobile device  Types  Web apps: run in a web browser  HTML, JavaScript, Flash, server-side components, etc.  Native: compiled binaries for the device  Often make use of web services
  • 3. Mobile Devices: Advantages  Always with the user  Typically have Internet access  Typically GPS enabled  Most have cameras & microphones  Many apps are free or low-cost
  • 4. Mobile Devices: Disadvantages  Limited screen size  Limited battery life  Limited processor speed  Limited and sometimes slow network access  Limited input: phone keypad, touch screen, stylus etc  Limited web browser functionality  Range of platforms & configurations across devices
  • 5. Why Mobile App Development? Why Android?  Transferring app to phone is trivial  Can distribute by putting it on the web  Android Market (now Google Play) for wider distribution
  • 6. What is Google Android?  A software stack for mobile devices that includes  An operating system  Middleware  Key Applications  Uses Linux to provide core system services  Security  Memory management  Process management  Power management  Hardware drivers
  • 7. Version Code name Release date API level DVM/ART Distribution 8.1 Oreo October 25, 2017 27 ART 8.0 August 21, 2017 26 ART 0.2% 7.1 Nougat October 4, 2016 25 ART 2.0% 7.0 August 22, 2016 24 ART 15.8% 6.0 Marshmallow October 5, 2015 23 ART 32.0% 5.1 Lollipop March 9, 2015 22 ART 21.0% 5.0 November 3, 2014 21 ART 2.1.0 6.7% 4.4 KitKat October 31, 2013 19 DVM (and ART 1.6.0) 14.5% 4.3 Jelly Bean July 24, 2013 18 DVM 1.0% 4.2 November 13, 2012 17 DVM 3.3% 4.1 July 9, 2012 16 DVM 2.3% 4.0 Ice Cream Sandwich October 19, 2011 15 DVM 0.6% 2.3 Gingerbread February 9, 2011 10 DVM 1.4.0 0.6%
  • 9. Android Apps  Built using Java and new SDK libraries  No support for some Java libraries like Swing & AWT  Java code compiled into Dalvik byte code (.dex)  Optimized for mobile devices (better memory management, battery utilization, etc.)  Dalvik VM runs .dex files
  • 10. Applications  Written in Java (it’s possible to write native code)  Good separation (and corresponding security) from other applications:  Each application runs in its own process  Each process has its own separate VM  Each application is assigned a unique Linux user ID – by default files of that application are only visible to that application
  • 12.  Activity Manager – Life Cycle / Navigation within and among applications  Content Provider – encapsulate data  Location Manager – aware of its physical location  Notification Manager – users informed about events  Package Manager – infn. about other appln. Pkgs  Resource Manager – lets appln accesses its resources
  • 13.  Telephony Manager – to learn about device telephony services  View System – manages UI elements / events  Window Manager – perform Window related operations
  • 14.  Free Type: for bitmap and vector font rendering  Libc : standard C System library  Mediaframework: supports many audio & Video formats / image files / playback & recording  OpenGL/ES: for 3D graphics libraries  SGL: 2D graphics engine – scalable graphics lib  SQLite: provides lightweight RDB engine  SSL: SSL based security for NW communication  Surface Manager: manages accesses to the display subsystem – 2D & 3D graphics layers
  • 15. Application Components  Activities – visual user interface focused on a single thing a user can do (presents UI)  Services – no visual interface – they run in the background User selects a song through an activity and a separate service is started  Broadcast Receivers – receive and react to broadcast announcements Battery life / timezone changed etc  Content Providers – allow data exchange between applications
  • 16. Activities  Basic component of most applications  Most applications have several activities that start each other as needed  Each is implemented as a subclass of the base Activity class
  • 17. Activities – The View  Each activity has a default window to draw in  The content of the window is a view or a group of views (derived from View or ViewGroup)  Example of views: buttons, text fields, scroll bars, menu items, check boxes, etc.  View(Group) made visible via Activity.setContentView() method.
  • 18. Services  Does not have a visual interface  Runs in the background indefinitely  Examples  Network Downloads  Playing Music  TCP/UDP Server  You can bind to an existing service and control its operation
  • 19. Broadcast Receivers  Receive and react to broadcast announcements  Extend the class BroadcastReceiver  Examples of broadcasts:  Low battery, power connected, shutdown, timezone changed, etc.  Other applications can initiate broadcasts
  • 20. Content Providers  Makes some of the application data available to other applications  It’s the only way to transfer data between applications in Android (no shared files, shared memory, pipes, etc.)  Extends the class ContentProvider;  Other applications use a ContentResolver object to access the data provided via a ContentProvider
  • 21. Intents  An intent is an Intent object with a message content.  Describe operations – send an email  Activities, services and broadcast receivers are started by intents. ContentProviders are started by ContentResolvers:  An activity is started by Context.startActivity(Intent intent) or Activity.startActivityForResult(Intent intent, int RequestCode)  A service is started by Context.startService(Intent service)  An application can initiate a broadcast by using an Intent in any of Context.sendBroadcast(Intent intent), Context.sendOrderedBroadcast(), and Context.sendStickyBroadcast()
  • 22. Android Manifest  Its main purpose in life is to declare the components to the system: <?xml version="1.0" encoding="utf-8"?> <manifest . . . > <application . . . > <activity android:name="com.example.project.FreneticActivity" android:icon="@drawable/small_pic.png" android:label="@string/freneticLabel" . . . > </activity> . . . </application> </manifest>
  • 23. Building and running  ADB is a client server program that connects clients on developer machine to devices/emulators to facilitate development.  An IDE like Eclipse handles this entire process for you. Compiled resources (xml files) Android Debug Bridge
  • 24. Fragments Represents a portion of user interface in an Activity. Views UI elements that are drawn on-screen including buttons, lists forms etc. Layouts View hierarchies that control screen format and appearance of the views. Intents Messages wiring components together. Resources External elements, such as strings, constants and drawable pictures. Manifest Configuration file for the application. Components
  • 25. Java This contains the .java source files for your project. By default, it includes an MainActivity.java source file having an activity class res/drawable-hdpi This is a directory for drawable objects that are designed for high- density screens res/layout This is a directory for files that define your app's user interface res/values This is a directory for other various XML files that contain a collection of resources, such as strings and colours definitions. AndroidManifest.xml This is the manifest file which describes the fundamental characteristics of the app and defines each of its components.

Editor's Notes

  • #3: Maybe more profitable with ads than actually selling the app
  • #11: The linux kernel 2.6 is the hardware abstraction layer (HAL) between the hardware and the android software stack.
  • #13: ices
  • #14: Maybe more profitable with ads than actually selling the app