introduction to android.rtf
TRANSCRIPT
-
8/18/2019 Introduction to Android.rtf
1/8
Introduction to Android
What is Android?• Linux-based Operating System for mobile devices
• Developed by Android, Inc. (later purcased by !oogle"
• #irst Android pone in October $%%&
• 'ultiple companies producing Android pones Samsung,
)*+,L!,'otorola, ASS, and many oters
i. Google’s mobile platform
• uns on undreds of millions of mobile pones, tablets
• 'ost popular installed mobile OS
• Open Source
ii. Development platform
• 'ultiplatform
• /ased on 0ava
• 1lugins for 2clipse
Android Version
-
8/18/2019 Introduction to Android.rtf
2/8
Code name Version API level
'arsmallo3 4.% A1I level $5
Lollipop 6.7 A1I level $$Lollipop 6.% A1I level $7
8it8at 9.9 - 9.9.9 A1I level 7:
0elly /ean 9.5.x A1I level 7&
0elly /ean 9.$.x A1I level 7;
0elly /ean 9.7.x A1I level 74
Ice +ream Sand3ic 9.%.5 - 9.%.9 A1I level 76,
-
8/18/2019 Introduction to Android.rtf
3/8
"inu# $ernelAt te bottom of te layers is Linux $.4 . *is provides basic
system functionality li=e process management, memory management,
device management li=e camera, =eypad, display etc. Also, te =ernel
andles all te tings tat Linux is really good at suc as net3or=ing and
a vast array of device drivers, 3ic ta=e te pain out of interfacing to
periperal ard3are. *e Android team cose to use tis =ernel because
it provided proven core features on 3ic to develop te Android
operating system. *e features of te Linux $.4 =ernel include
• %ecurit& model' *e Linux =ernel andles security bet3een te
application and te system.
• (emor& management' *e =ernel andles memory
management, leaving you free to develop your app.
-
8/18/2019 Introduction to Android.rtf
4/8
• Process management' *e Linux =ernel manages processes 3ell,
allocating resources to processes as tey need tem.
• )et!or$ stac$' *e Linux =ernel also andles net3or=
communication.• Driver model' *e goal of Linux is to ensure tat te application
3or=s. )ard3are manufacturers can build teir drivers into te
Linux build.
"ibraries
Android>s native libraries.• Libc c standard lib.
• SSL Secure Soc=et Layer
• S!L $D image engine
• Open!L?2S 5D image engine
• 'edia #rame3or= media codecs
• S@Lite Database engine
• eb8it 8ernel of 3eb bro3ser
• #ree*ype /itmap and Bector
• Sufrace'anager +ompose 3indo3 manager 3it off-screen
buffering.
Atop te Linux $.4 =ernel, te Android frame3or= 3as developed
3it various features. *ese features 3ere pulled from numerous open
source proCects. *e output of tese proCects resulted in tese elements
• *he Android runtime' *e Android runtime is composed of 0ava
-
8/18/2019 Introduction to Android.rtf
5/8
core libraries and te Dalvi= virtual macine.
• pen G" +graphics librar&,' *is cross-language, cross-platform
application program interface (A1I" is used to produce $D and 5D
computer grapics.• Web-it' *is open source 3eb bro3ser engine provides te
functionality to display 3eb content and to simplify page loading.
• %"ite' *is open source relational database engine is designed
to be embedded in devices.
• (edia frame!or$s' *ese libraries allo3 you to play and record
audio and video.
• %ecure %oc$ets "a&er +%%",' *ese libraries are responsible for
Internet security.
Android /untime
*is section provides a =ey component called Dalvi= Birtual
'acine 3ic is a =ind of 0ava Birtual 'acine specially designed and
optimied for Android. *e Dalvi= B' ma=es use of Linux corefeatures li=e memory management and multi-treading, 3ic is
intrinsic in te 0ava language. *e Dalvi= B' enables every Android
application to run in its o3n process, 3it its o3n instance of te Dalvi=
virtual macine.
*e Android runtime also provides a set of core libraries 3ic enable
Android application developers to 3rite Android applications using
standard 0ava programming language.
i.Core "ibraries
• 1rovides te functionality of te 0ABA 1rogramming Language
ii.Dalvi$ V(
-
8/18/2019 Introduction to Android.rtf
6/8
• A type of 0ava Birtual 'acine
• egister based (not stac= macine li=e 0B'"
• Optimiation for lo3 memory reEuirements
• 2xecutes .dex (Dalvi=-2xecutable" files instead of .class
• DF tool converts classes to .dex format
Application 0rame!or$
*e Application #rame3or= layer provides many iger-level
services to applications in te form of 0ava classes. Application
developers are allo3ed to ma=e use of tese services in teir applications.
• Activit& (anager' 'anages te activity life cycle of applications
• Content Providers' 'anage te data saring bet3een
applications
• *elephon& (anager' 'anages all voice calls. e use telepony
manager if 3e 3ant to access voice calls in our application.
• Vie! s&stem' )andles te vie3s and layouts tat ma=e up your
user interface (I".
• "ocation (anager' Location management, using !1S or cell
to3er
• /esource (anager' 'anage te various types of resources 3e use
in our Application
Applications
Gou 3ill find all te Android application at te top layer. Gou 3ill
-
8/18/2019 Introduction to Android.rtf
7/8
3rite your application to be installed on tis layer only. 2xamples of
suc applications are +ontacts /oo=s, /ro3ser, !ames etc.
i. *is is 3ere our applications are placed.
ii. Some pre-installed applications
• S'S client app
• Dialer
• eb bro3ser
• +ontact manager
As developers, 3e are able to 3rite an app 3ic replaces any existingsystem app.
1sed "anguages
• App 0ava
• #rame3or= 0ava
•
Libraries +H+
• OS Drivers +
Application Components
i. +ore building bloc=s for Android applications
ii. Apps can publis components for oter applications to use
asyncronous message called Intent
iii. Intents and components defined in a 'anifestfile
iv. 2clipse 3ill generate te manifest for youJ
v. +omponent Description
-
8/18/2019 Introduction to Android.rtf
8/8
1. Activity Single‐screen of an application
2. Service Long‐running bac=ground application
3. +ontent provider 1rovides sared set of application data
4. /roadcast receiver esponds to system broadcast event
Android Development Process
7.Setup te development environment
$.+reate te App
5.*est te App
9.1ublis te App
Installing and Configuring 2our %upport *ools
3.Android supports these platforms'indo3s F1 or later, 'ac OS F
7%.6.& or later (x&4 only"4 buntu.
5.6ava 6D-' Lays te foundation for te Android SD8.
7.Android %D-' 1rovides access to Android libraries and allo3s you to
develop for Android.
8.9clipse ID9 +integrated development environment,' /rings
togeter 0ava, te Android SD8, and te Android Android Development
*ools (AD*" and provides tools for you to 3rite Android programs.
:.Android AD*' Does a lot of te grunt 3or= for you, suc as creatingte files and structure reEuired for an Android app.