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
Ad

More Related Content

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

Introduction to Android Development
Introduction to Android DevelopmentIntroduction to Android Development
Introduction to Android Development
Prof. Erwin Globio
 
Android Anatomy
Android  AnatomyAndroid  Anatomy
Android Anatomy
Bhavya Siddappa
 
Android ppt
Android pptAndroid ppt
Android ppt
Ansh Singh
 
UNIT5newpart1pptx__2024_11_13_09_51_59 (1).pptx
UNIT5newpart1pptx__2024_11_13_09_51_59 (1).pptxUNIT5newpart1pptx__2024_11_13_09_51_59 (1).pptx
UNIT5newpart1pptx__2024_11_13_09_51_59 (1).pptx
LeeroyMugadza
 
Android beginners David
Android beginners DavidAndroid beginners David
Android beginners David
Arun David Johnson R
 
Intro To Android App Development
Intro To Android App DevelopmentIntro To Android App Development
Intro To Android App Development
Mike Kvintus
 
Unit2
Unit2Unit2
Unit2
DevaKumari Vijay
 
Android In A Nutshell
Android In A NutshellAndroid In A Nutshell
Android In A Nutshell
Ted Chien
 
Android overview
Android overviewAndroid overview
Android overview
Has Taiar
 
Aptech Apps
Aptech Apps Aptech Apps
Aptech Apps
RasikaShinde6
 
Android 101 Session @thejunction32
Android 101 Session @thejunction32Android 101 Session @thejunction32
Android 101 Session @thejunction32
Eden Shochat
 
Android terminologies
Android terminologiesAndroid terminologies
Android terminologies
jerry vasoya
 
Basics of Android
Basics of Android Basics of Android
Basics of Android
sabi_123
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to android
javalabsf
 
PPT Companion to Android
PPT Companion to AndroidPPT Companion to Android
PPT Companion to Android
Dharani Kumar Madduri
 
Android For Java Developers
Android For Java DevelopersAndroid For Java Developers
Android For Java Developers
Mike Wolfson
 
introductiontoandroiddevelopment (2).ppt
introductiontoandroiddevelopment (2).pptintroductiontoandroiddevelopment (2).ppt
introductiontoandroiddevelopment (2).ppt
NagarajKalligudd1
 
Android remote application publishing framework
Android remote application publishing frameworkAndroid remote application publishing framework
Android remote application publishing framework
Sandeep Marathe
 
Android my
Android myAndroid my
Android my
pratikguptateddy
 
Technology and Android.pptx
Technology and Android.pptxTechnology and Android.pptx
Technology and Android.pptx
muthulakshmi cse
 
Introduction to Android Development
Introduction to Android DevelopmentIntroduction to Android Development
Introduction to Android Development
Prof. Erwin Globio
 
UNIT5newpart1pptx__2024_11_13_09_51_59 (1).pptx
UNIT5newpart1pptx__2024_11_13_09_51_59 (1).pptxUNIT5newpart1pptx__2024_11_13_09_51_59 (1).pptx
UNIT5newpart1pptx__2024_11_13_09_51_59 (1).pptx
LeeroyMugadza
 
Intro To Android App Development
Intro To Android App DevelopmentIntro To Android App Development
Intro To Android App Development
Mike Kvintus
 
Android In A Nutshell
Android In A NutshellAndroid In A Nutshell
Android In A Nutshell
Ted Chien
 
Android overview
Android overviewAndroid overview
Android overview
Has Taiar
 
Android 101 Session @thejunction32
Android 101 Session @thejunction32Android 101 Session @thejunction32
Android 101 Session @thejunction32
Eden Shochat
 
Android terminologies
Android terminologiesAndroid terminologies
Android terminologies
jerry vasoya
 
Basics of Android
Basics of Android Basics of Android
Basics of Android
sabi_123
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to android
javalabsf
 
Android For Java Developers
Android For Java DevelopersAndroid For Java Developers
Android For Java Developers
Mike Wolfson
 
introductiontoandroiddevelopment (2).ppt
introductiontoandroiddevelopment (2).pptintroductiontoandroiddevelopment (2).ppt
introductiontoandroiddevelopment (2).ppt
NagarajKalligudd1
 
Android remote application publishing framework
Android remote application publishing frameworkAndroid remote application publishing framework
Android remote application publishing framework
Sandeep Marathe
 
Technology and Android.pptx
Technology and Android.pptxTechnology and Android.pptx
Technology and Android.pptx
muthulakshmi cse
 

Recently uploaded (20)

IntroSlides-April-BuildWithAI-VertexAI.pdf
IntroSlides-April-BuildWithAI-VertexAI.pdfIntroSlides-April-BuildWithAI-VertexAI.pdf
IntroSlides-April-BuildWithAI-VertexAI.pdf
Luiz Carneiro
 
MAQUINARIA MINAS CEMA 6th Edition (1).pdf
MAQUINARIA MINAS CEMA 6th Edition (1).pdfMAQUINARIA MINAS CEMA 6th Edition (1).pdf
MAQUINARIA MINAS CEMA 6th Edition (1).pdf
ssuser562df4
 
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptxExplainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
MahaveerVPandit
 
RICS Membership-(The Royal Institution of Chartered Surveyors).pdf
RICS Membership-(The Royal Institution of Chartered Surveyors).pdfRICS Membership-(The Royal Institution of Chartered Surveyors).pdf
RICS Membership-(The Royal Institution of Chartered Surveyors).pdf
MohamedAbdelkader115
 
Development of MLR, ANN and ANFIS Models for Estimation of PCUs at Different ...
Development of MLR, ANN and ANFIS Models for Estimation of PCUs at Different ...Development of MLR, ANN and ANFIS Models for Estimation of PCUs at Different ...
Development of MLR, ANN and ANFIS Models for Estimation of PCUs at Different ...
Journal of Soft Computing in Civil Engineering
 
Metal alkyne complexes.pptx in chemistry
Metal alkyne complexes.pptx in chemistryMetal alkyne complexes.pptx in chemistry
Metal alkyne complexes.pptx in chemistry
mee23nu
 
some basics electrical and electronics knowledge
some basics electrical and electronics knowledgesome basics electrical and electronics knowledge
some basics electrical and electronics knowledge
nguyentrungdo88
 
ELectronics Boards & Product Testing_Shiju.pdf
ELectronics Boards & Product Testing_Shiju.pdfELectronics Boards & Product Testing_Shiju.pdf
ELectronics Boards & Product Testing_Shiju.pdf
Shiju Jacob
 
Process Parameter Optimization for Minimizing Springback in Cold Drawing Proc...
Process Parameter Optimization for Minimizing Springback in Cold Drawing Proc...Process Parameter Optimization for Minimizing Springback in Cold Drawing Proc...
Process Parameter Optimization for Minimizing Springback in Cold Drawing Proc...
Journal of Soft Computing in Civil Engineering
 
Introduction to FLUID MECHANICS & KINEMATICS
Introduction to FLUID MECHANICS &  KINEMATICSIntroduction to FLUID MECHANICS &  KINEMATICS
Introduction to FLUID MECHANICS & KINEMATICS
narayanaswamygdas
 
Artificial Intelligence (AI) basics.pptx
Artificial Intelligence (AI) basics.pptxArtificial Intelligence (AI) basics.pptx
Artificial Intelligence (AI) basics.pptx
aditichinar
 
Data Structures_Introduction to algorithms.pptx
Data Structures_Introduction to algorithms.pptxData Structures_Introduction to algorithms.pptx
Data Structures_Introduction to algorithms.pptx
RushaliDeshmukh2
 
Degree_of_Automation.pdf for Instrumentation and industrial specialist
Degree_of_Automation.pdf for  Instrumentation  and industrial specialistDegree_of_Automation.pdf for  Instrumentation  and industrial specialist
Degree_of_Automation.pdf for Instrumentation and industrial specialist
shreyabhosale19
 
Structural Response of Reinforced Self-Compacting Concrete Deep Beam Using Fi...
Structural Response of Reinforced Self-Compacting Concrete Deep Beam Using Fi...Structural Response of Reinforced Self-Compacting Concrete Deep Beam Using Fi...
Structural Response of Reinforced Self-Compacting Concrete Deep Beam Using Fi...
Journal of Soft Computing in Civil Engineering
 
AI-assisted Software Testing (3-hours tutorial)
AI-assisted Software Testing (3-hours tutorial)AI-assisted Software Testing (3-hours tutorial)
AI-assisted Software Testing (3-hours tutorial)
Vəhid Gəruslu
 
QA/QC Manager (Quality management Expert)
QA/QC Manager (Quality management Expert)QA/QC Manager (Quality management Expert)
QA/QC Manager (Quality management Expert)
rccbatchplant
 
Mathematical foundation machine learning.pdf
Mathematical foundation machine learning.pdfMathematical foundation machine learning.pdf
Mathematical foundation machine learning.pdf
TalhaShahid49
 
Level 1-Safety.pptx Presentation of Electrical Safety
Level 1-Safety.pptx Presentation of Electrical SafetyLevel 1-Safety.pptx Presentation of Electrical Safety
Level 1-Safety.pptx Presentation of Electrical Safety
JoseAlbertoCariasDel
 
Introduction to Zoomlion Earthmoving.pptx
Introduction to Zoomlion Earthmoving.pptxIntroduction to Zoomlion Earthmoving.pptx
Introduction to Zoomlion Earthmoving.pptx
AS1920
 
railway wheels, descaling after reheating and before forging
railway wheels, descaling after reheating and before forgingrailway wheels, descaling after reheating and before forging
railway wheels, descaling after reheating and before forging
Javad Kadkhodapour
 
IntroSlides-April-BuildWithAI-VertexAI.pdf
IntroSlides-April-BuildWithAI-VertexAI.pdfIntroSlides-April-BuildWithAI-VertexAI.pdf
IntroSlides-April-BuildWithAI-VertexAI.pdf
Luiz Carneiro
 
MAQUINARIA MINAS CEMA 6th Edition (1).pdf
MAQUINARIA MINAS CEMA 6th Edition (1).pdfMAQUINARIA MINAS CEMA 6th Edition (1).pdf
MAQUINARIA MINAS CEMA 6th Edition (1).pdf
ssuser562df4
 
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptxExplainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
MahaveerVPandit
 
RICS Membership-(The Royal Institution of Chartered Surveyors).pdf
RICS Membership-(The Royal Institution of Chartered Surveyors).pdfRICS Membership-(The Royal Institution of Chartered Surveyors).pdf
RICS Membership-(The Royal Institution of Chartered Surveyors).pdf
MohamedAbdelkader115
 
Metal alkyne complexes.pptx in chemistry
Metal alkyne complexes.pptx in chemistryMetal alkyne complexes.pptx in chemistry
Metal alkyne complexes.pptx in chemistry
mee23nu
 
some basics electrical and electronics knowledge
some basics electrical and electronics knowledgesome basics electrical and electronics knowledge
some basics electrical and electronics knowledge
nguyentrungdo88
 
ELectronics Boards & Product Testing_Shiju.pdf
ELectronics Boards & Product Testing_Shiju.pdfELectronics Boards & Product Testing_Shiju.pdf
ELectronics Boards & Product Testing_Shiju.pdf
Shiju Jacob
 
Introduction to FLUID MECHANICS & KINEMATICS
Introduction to FLUID MECHANICS &  KINEMATICSIntroduction to FLUID MECHANICS &  KINEMATICS
Introduction to FLUID MECHANICS & KINEMATICS
narayanaswamygdas
 
Artificial Intelligence (AI) basics.pptx
Artificial Intelligence (AI) basics.pptxArtificial Intelligence (AI) basics.pptx
Artificial Intelligence (AI) basics.pptx
aditichinar
 
Data Structures_Introduction to algorithms.pptx
Data Structures_Introduction to algorithms.pptxData Structures_Introduction to algorithms.pptx
Data Structures_Introduction to algorithms.pptx
RushaliDeshmukh2
 
Degree_of_Automation.pdf for Instrumentation and industrial specialist
Degree_of_Automation.pdf for  Instrumentation  and industrial specialistDegree_of_Automation.pdf for  Instrumentation  and industrial specialist
Degree_of_Automation.pdf for Instrumentation and industrial specialist
shreyabhosale19
 
AI-assisted Software Testing (3-hours tutorial)
AI-assisted Software Testing (3-hours tutorial)AI-assisted Software Testing (3-hours tutorial)
AI-assisted Software Testing (3-hours tutorial)
Vəhid Gəruslu
 
QA/QC Manager (Quality management Expert)
QA/QC Manager (Quality management Expert)QA/QC Manager (Quality management Expert)
QA/QC Manager (Quality management Expert)
rccbatchplant
 
Mathematical foundation machine learning.pdf
Mathematical foundation machine learning.pdfMathematical foundation machine learning.pdf
Mathematical foundation machine learning.pdf
TalhaShahid49
 
Level 1-Safety.pptx Presentation of Electrical Safety
Level 1-Safety.pptx Presentation of Electrical SafetyLevel 1-Safety.pptx Presentation of Electrical Safety
Level 1-Safety.pptx Presentation of Electrical Safety
JoseAlbertoCariasDel
 
Introduction to Zoomlion Earthmoving.pptx
Introduction to Zoomlion Earthmoving.pptxIntroduction to Zoomlion Earthmoving.pptx
Introduction to Zoomlion Earthmoving.pptx
AS1920
 
railway wheels, descaling after reheating and before forging
railway wheels, descaling after reheating and before forgingrailway wheels, descaling after reheating and before forging
railway wheels, descaling after reheating and before forging
Javad Kadkhodapour
 
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