SlideShare a Scribd company logo
Google Android
Based on android-sdk_2.2

Mobile Computing

Bruce Scharlau, University of Aberdeen, 2010
Android is part of the ‘build a
better phone’ process
Open Handset Alliance produces
Android
Comprises handset manufacturers,
software firms, mobile operators, and
other manufactures and funding
companies
http://www.openhandsetalliance.com/

Bruce Scharlau, University of Aberdeen, 2010
Android is growing
Uneven distribution of OS by regions

Does not include iTouch or iPad, as not smartphones

http://metrics.admob.com/wp-content/uploads/2010/06/May-2010-AdMob-Mobile-Metrics-Highlights.pdf
Bruce Scharlau, University of Aberdeen, 2010
Android makes mobile Java easier

Well, sort of…

Bruce Scharlau, University of Aberdeen, 2010
http://code.google.com/android/goodies/index.html
Android applications are written
in Java
package com.google.android.helloactivity;
import android.app.Activity;
import android.os.Bundle;
public class HelloActivity extends Activity {
public HelloActivity() {
}
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.hello_activity);
}
Bruce Scharlau, University of Aberdeen, 2010
}
Android applications are
compiled to Dalvik bytecode
Write app in Java
Write app in Java
Compiled in Java
Compiled in Java

Transformed to Dalvik bytecode
Transformed to Dalvik bytecode

Loaded into Dalvik VM
Loaded into Dalvik VM

Linux OS

Bruce Scharlau, University of Aberdeen, 2010
The Dalvik runtime is optimised
for mobile applications

Run multiple VMs efficiently
Each app has its own VM
Minimal memory footprint
Bruce Scharlau, University of Aberdeen, 2010
Android has many components

Bruce Scharlau, University of Aberdeen, 2010
Can assume that most have
android 2.1 or 2.2

Bruce Scharlau, University of Aberdeen, 2010
http://developer.android.com/resources/dashboard/platform-versions.html
Android has a working emulator

Bruce Scharlau, University of Aberdeen, 2010
All applications are written in
Java and available to each other
Android designed to enable reuse of
components in other applications

Each application can publish its
capabilities which other apps can use

Bruce Scharlau, University of Aberdeen, 2010
Android applications have
common structure
Views such as
Views such as
lists, grids, text
lists, grids, text
boxes, buttons,
boxes, buttons,
and even an
and even an
embeddable web
embeddable web
browser
browser

An Activity Manager that
An Activity Manager that
manages the life cycle of
manages the life cycle of
applications and provides
applications and provides
a common navigation
a common navigation
backstack
backstack

Content
Content
Providers that
Providers that
enable
enable
applications to
applications to
access data from
access data from
other applications
other applications
(such as
(such as
Contacts), or to
Contacts), or to
share their own
share their own
data
data

A Notification Manager
A Notification Manager
that enables all apps to
that enables all apps to
display custom alerts in the
display custom alerts in the
status bar
status bar
A Resource Manager,
A Resource Manager,
providing access to nonproviding access to noncode resources such as
code resources such as
localized strings,
localized strings,
graphics, and layout files
graphics, and layout files
Bruce Scharlau, University of Aberdeen, 2010
Android applications have
common structure

Broadcast
Broadcast
receivers can
receivers can
trigger intents that
trigger intents that
start an application
start an application
Data storage
Data storage
provide data for
provide data for
your apps, and
your apps, and
can be shared
can be shared
between apps –
between apps –
database, file,
database, file,
and shared
and shared
preferences
preferences
(hash map) used
(hash map) used
by group of
by group of
applications
applications

Activity is the presentation
Activity is the presentation
layer of your app: there will
layer of your app: there will
be one per screen, and the
be one per screen, and the
Views provide the UI to the
Views provide the UI to the
activity
activity
Intents specify what
Intents specify what
specific action should be
specific action should be
performed
performed
Services run in the
Services run in the
background and have
background and have
no UI for the user –
no UI for the user –
they will update data,
they will update data,
and trigger events
and trigger events
Bruce Scharlau, University of Aberdeen, 2010
There is a common file structure
for applications
code
Autogenerated
resource list

files
images

UI layouts
constants

Bruce Scharlau, University of Aberdeen, 2010
Standard components form
building blocks for Android apps
Notifications
Activity

screen

Views
Intents

Has life-cycle

App to handle content

Service

Background app
Like music player

manifest
ContentProviders
Bruce Scharlau, University of Aberdeen, 2010

Other applications
The AndroidManifest lists
application details
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.my_domain.app.helloactivity">
<application android:label="@string/app_name">
<activity android:name=".HelloActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category
android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
Bruce Scharlau, University of Aberdeen, 2010
Activity is one thing you can do

Bruce Scharlau, University of Aberdeen, 2010

From fundamentals page in sdk
Intent provides late running
binding to other apps
It can be thought of as the glue between
activities. It is basically a passive data
structure holding an abstract description of
an action to be performed.
Written as action/data pairs such as:
VIEW_ACTION/ACTION content://contacts/1

Bruce Scharlau, University of Aberdeen, 2010
Services declared in the manifest
and provide support
Services run in the background:
Music player providing the music playing in
an audio application

Intensive background apps, might need to
spawn their own thread so as to not block
the application
Bruce Scharlau, University of Aberdeen, 2010
Notifications let you know of
background events
This way you know that an SMS arrived,
or that your phone is ringing, and the
MP3 player should pause

Bruce Scharlau, University of Aberdeen, 2010
ContentProviders share data
You need one if your application shares data
with other applications
This way you can share the contact list with the
IM application
If you don’t need to share data, then you can
use SQLlite database
Bruce Scharlau, University of Aberdeen, 2010
UI layouts are in Java and XML

setContentView(R.layout.hello_activity); //will load the XML UI file
Bruce Scharlau, University of Aberdeen, 2010
Security in Android follows
standard Linux guidelines
Each application runs in its own process
Process permissions are enforced at user
and group IDs assigned to processes
Finer grained permissions are then
granted (revoked) per operations
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.google.android.app.myapp" >
package="com.google.android.app.myapp" >
<uses-permission id="android.permission.RECEIVE_SMS" />
<uses-permission id="android.permission.RECEIVE_SMS" />
</manifest>
</manifest>
Bruce Scharlau, University of Aberdeen, 2010

More Related Content

Viewers also liked

Stockhol urbino brussels
Stockhol urbino brusselsStockhol urbino brussels
Stockhol urbino brusselsjessicaarimany
 
Best friend
Best friendBest friend
Best friend
HallOfTears
 
Programmabegroting oegstgeest 2016-2019
Programmabegroting oegstgeest 2016-2019Programmabegroting oegstgeest 2016-2019
Programmabegroting oegstgeest 2016-2019
basslutter
 
Stadsgewest Haaglanden, by-AMR
Stadsgewest Haaglanden, by-AMRStadsgewest Haaglanden, by-AMR
Stadsgewest Haaglanden, by-AMR
by-AMR
 

Viewers also liked (8)

Stockhol urbino brussels
Stockhol urbino brusselsStockhol urbino brussels
Stockhol urbino brussels
 
Best friend
Best friendBest friend
Best friend
 
Google android os
Google android osGoogle android os
Google android os
 
Dns
DnsDns
Dns
 
Programmabegroting oegstgeest 2016-2019
Programmabegroting oegstgeest 2016-2019Programmabegroting oegstgeest 2016-2019
Programmabegroting oegstgeest 2016-2019
 
Stadsgewest Haaglanden, by-AMR
Stadsgewest Haaglanden, by-AMRStadsgewest Haaglanden, by-AMR
Stadsgewest Haaglanden, by-AMR
 
Zimbraexchange
ZimbraexchangeZimbraexchange
Zimbraexchange
 
Chap1 chipset
Chap1 chipsetChap1 chipset
Chap1 chipset
 

Similar to android

Google Android Mobile Computing
Google Android Mobile ComputingGoogle Android Mobile Computing
Google Android Mobile Computing
Hasnain Iqbal
 
Nativa Android Applications development
Nativa Android Applications developmentNativa Android Applications development
Nativa Android Applications development
Alfredo Morresi
 
Android Development Basics
Android Development BasicsAndroid Development Basics
Android Development Basics
Prajakta Dharmpurikar
 
Mobile Application Development Lecture 05 & 06.pdf
Mobile Application Development Lecture 05 & 06.pdfMobile Application Development Lecture 05 & 06.pdf
Mobile Application Development Lecture 05 & 06.pdf
AbdullahMunir32
 
Android
AndroidAndroid
Google android white paper
Google android white paperGoogle android white paper
Google android white paperSravan Reddy
 
Android beginners David
Android beginners DavidAndroid beginners David
Android beginners David
Arun David Johnson R
 
Mobility Solutions - Development of Hybrid Mobile Applications with HTML
Mobility Solutions - Development of Hybrid Mobile Applications with HTMLMobility Solutions - Development of Hybrid Mobile Applications with HTML
Mobility Solutions - Development of Hybrid Mobile Applications with HTML
Mindteck (India) Limited
 
Mobile Application Development -Lecture 11 & 12.pdf
Mobile Application Development -Lecture 11 & 12.pdfMobile Application Development -Lecture 11 & 12.pdf
Mobile Application Development -Lecture 11 & 12.pdf
AbdullahMunir32
 
Optimization Of Storage Management In Android - S3CA
Optimization Of Storage Management In Android - S3CAOptimization Of Storage Management In Android - S3CA
Optimization Of Storage Management In Android - S3CA
Vivek Raj Agarwal
 
safe journey
safe journeysafe journey
safe journey
Sunreeta Sen
 
Android Introduction by Kajal
Android Introduction by KajalAndroid Introduction by Kajal
Android Introduction by Kajal
Kajal Kucheriya Jain
 
Unit2
Unit2Unit2
Introduction to Android Development
Introduction to Android DevelopmentIntroduction to Android Development
Introduction to Android Development
Aly Abdelkareem
 
Android 1-intro n architecture
Android 1-intro n architectureAndroid 1-intro n architecture
Android 1-intro n architecture
Dilip Singh
 
Android TCJUG
Android TCJUGAndroid TCJUG
Android TCJUG
Justin Grammens
 
B041130610
B041130610B041130610
B041130610
IOSR-JEN
 
Introduction to Android Development Latest
Introduction to Android Development LatestIntroduction to Android Development Latest
Introduction to Android Development LatestProf. Erwin Globio
 
Android by Ravindra J.Mandale
Android by Ravindra J.MandaleAndroid by Ravindra J.Mandale
Android by Ravindra J.Mandale
Ravindra Mandale
 

Similar to android (20)

Google Android Mobile Computing
Google Android Mobile ComputingGoogle Android Mobile Computing
Google Android Mobile Computing
 
Nativa Android Applications development
Nativa Android Applications developmentNativa Android Applications development
Nativa Android Applications development
 
Android Development Basics
Android Development BasicsAndroid Development Basics
Android Development Basics
 
Mobile Application Development Lecture 05 & 06.pdf
Mobile Application Development Lecture 05 & 06.pdfMobile Application Development Lecture 05 & 06.pdf
Mobile Application Development Lecture 05 & 06.pdf
 
Android
AndroidAndroid
Android
 
Google android white paper
Google android white paperGoogle android white paper
Google android white paper
 
Android beginners David
Android beginners DavidAndroid beginners David
Android beginners David
 
Mobility Solutions - Development of Hybrid Mobile Applications with HTML
Mobility Solutions - Development of Hybrid Mobile Applications with HTMLMobility Solutions - Development of Hybrid Mobile Applications with HTML
Mobility Solutions - Development of Hybrid Mobile Applications with HTML
 
Mobile Application Development -Lecture 11 & 12.pdf
Mobile Application Development -Lecture 11 & 12.pdfMobile Application Development -Lecture 11 & 12.pdf
Mobile Application Development -Lecture 11 & 12.pdf
 
Optimization Of Storage Management In Android - S3CA
Optimization Of Storage Management In Android - S3CAOptimization Of Storage Management In Android - S3CA
Optimization Of Storage Management In Android - S3CA
 
file
filefile
file
 
safe journey
safe journeysafe journey
safe journey
 
Android Introduction by Kajal
Android Introduction by KajalAndroid Introduction by Kajal
Android Introduction by Kajal
 
Unit2
Unit2Unit2
Unit2
 
Introduction to Android Development
Introduction to Android DevelopmentIntroduction to Android Development
Introduction to Android Development
 
Android 1-intro n architecture
Android 1-intro n architectureAndroid 1-intro n architecture
Android 1-intro n architecture
 
Android TCJUG
Android TCJUGAndroid TCJUG
Android TCJUG
 
B041130610
B041130610B041130610
B041130610
 
Introduction to Android Development Latest
Introduction to Android Development LatestIntroduction to Android Development Latest
Introduction to Android Development Latest
 
Android by Ravindra J.Mandale
Android by Ravindra J.MandaleAndroid by Ravindra J.Mandale
Android by Ravindra J.Mandale
 

More from Faiq Ali Sayed

Samsung r series r439 laptop
Samsung r series r439 laptopSamsung r series r439 laptop
Samsung r series r439 laptopFaiq Ali Sayed
 
Famous personalities of it
Famous personalities of itFamous personalities of it
Famous personalities of itFaiq Ali Sayed
 
Cache memory
Cache memoryCache memory
Cache memory
Faiq Ali Sayed
 

More from Faiq Ali Sayed (7)

Chap2 hdd2
Chap2 hdd2Chap2 hdd2
Chap2 hdd2
 
Chap2 hdd1
Chap2 hdd1Chap2 hdd1
Chap2 hdd1
 
Chap1 expan slots
Chap1 expan slotsChap1 expan slots
Chap1 expan slots
 
Samsung r series r439 laptop
Samsung r series r439 laptopSamsung r series r439 laptop
Samsung r series r439 laptop
 
Famous personalities of it
Famous personalities of itFamous personalities of it
Famous personalities of it
 
Cache memory
Cache memoryCache memory
Cache memory
 
Wi fi technology
Wi fi technologyWi fi technology
Wi fi technology
 

Recently uploaded

一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证如何办理
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证如何办理一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证如何办理
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证如何办理
peuce
 
Schematic Diagram MSI MS-7309 - REV 1.0 PDF .pdf
Schematic Diagram MSI MS-7309 - REV 1.0 PDF .pdfSchematic Diagram MSI MS-7309 - REV 1.0 PDF .pdf
Schematic Diagram MSI MS-7309 - REV 1.0 PDF .pdf
nikoloco007
 
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证如何办理
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证如何办理一比一原版(IIT毕业证)伊利诺伊理工大学毕业证如何办理
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证如何办理
aozcue
 
加急办理美国南加州大学毕业证文凭毕业证原版一模一样
加急办理美国南加州大学毕业证文凭毕业证原版一模一样加急办理美国南加州大学毕业证文凭毕业证原版一模一样
加急办理美国南加州大学毕业证文凭毕业证原版一模一样
u0g33km
 
LORRAINE ANDREI_LEQUIGAN_GOOGLE CALENDAR
LORRAINE ANDREI_LEQUIGAN_GOOGLE CALENDARLORRAINE ANDREI_LEQUIGAN_GOOGLE CALENDAR
LORRAINE ANDREI_LEQUIGAN_GOOGLE CALENDAR
lorraineandreiamcidl
 
欧洲杯冠军-欧洲杯冠军网站-欧洲杯冠军|【​网址​🎉ac123.net🎉​】领先全球的买球投注平台
欧洲杯冠军-欧洲杯冠军网站-欧洲杯冠军|【​网址​🎉ac123.net🎉​】领先全球的买球投注平台欧洲杯冠军-欧洲杯冠军网站-欧洲杯冠军|【​网址​🎉ac123.net🎉​】领先全球的买球投注平台
欧洲杯冠军-欧洲杯冠军网站-欧洲杯冠军|【​网址​🎉ac123.net🎉​】领先全球的买球投注平台
andreassenrolf537
 
Building a Raspberry Pi Robot with Dot NET 8, Blazor and SignalR - Slides Onl...
Building a Raspberry Pi Robot with Dot NET 8, Blazor and SignalR - Slides Onl...Building a Raspberry Pi Robot with Dot NET 8, Blazor and SignalR - Slides Onl...
Building a Raspberry Pi Robot with Dot NET 8, Blazor and SignalR - Slides Onl...
Peter Gallagher
 
一比一原版(UCSB毕业证)圣塔芭芭拉社区大学毕业证如何办理
一比一原版(UCSB毕业证)圣塔芭芭拉社区大学毕业证如何办理一比一原版(UCSB毕业证)圣塔芭芭拉社区大学毕业证如何办理
一比一原版(UCSB毕业证)圣塔芭芭拉社区大学毕业证如何办理
aozcue
 

Recently uploaded (8)

一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证如何办理
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证如何办理一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证如何办理
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证如何办理
 
Schematic Diagram MSI MS-7309 - REV 1.0 PDF .pdf
Schematic Diagram MSI MS-7309 - REV 1.0 PDF .pdfSchematic Diagram MSI MS-7309 - REV 1.0 PDF .pdf
Schematic Diagram MSI MS-7309 - REV 1.0 PDF .pdf
 
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证如何办理
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证如何办理一比一原版(IIT毕业证)伊利诺伊理工大学毕业证如何办理
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证如何办理
 
加急办理美国南加州大学毕业证文凭毕业证原版一模一样
加急办理美国南加州大学毕业证文凭毕业证原版一模一样加急办理美国南加州大学毕业证文凭毕业证原版一模一样
加急办理美国南加州大学毕业证文凭毕业证原版一模一样
 
LORRAINE ANDREI_LEQUIGAN_GOOGLE CALENDAR
LORRAINE ANDREI_LEQUIGAN_GOOGLE CALENDARLORRAINE ANDREI_LEQUIGAN_GOOGLE CALENDAR
LORRAINE ANDREI_LEQUIGAN_GOOGLE CALENDAR
 
欧洲杯冠军-欧洲杯冠军网站-欧洲杯冠军|【​网址​🎉ac123.net🎉​】领先全球的买球投注平台
欧洲杯冠军-欧洲杯冠军网站-欧洲杯冠军|【​网址​🎉ac123.net🎉​】领先全球的买球投注平台欧洲杯冠军-欧洲杯冠军网站-欧洲杯冠军|【​网址​🎉ac123.net🎉​】领先全球的买球投注平台
欧洲杯冠军-欧洲杯冠军网站-欧洲杯冠军|【​网址​🎉ac123.net🎉​】领先全球的买球投注平台
 
Building a Raspberry Pi Robot with Dot NET 8, Blazor and SignalR - Slides Onl...
Building a Raspberry Pi Robot with Dot NET 8, Blazor and SignalR - Slides Onl...Building a Raspberry Pi Robot with Dot NET 8, Blazor and SignalR - Slides Onl...
Building a Raspberry Pi Robot with Dot NET 8, Blazor and SignalR - Slides Onl...
 
一比一原版(UCSB毕业证)圣塔芭芭拉社区大学毕业证如何办理
一比一原版(UCSB毕业证)圣塔芭芭拉社区大学毕业证如何办理一比一原版(UCSB毕业证)圣塔芭芭拉社区大学毕业证如何办理
一比一原版(UCSB毕业证)圣塔芭芭拉社区大学毕业证如何办理
 

android

  • 1. Google Android Based on android-sdk_2.2 Mobile Computing Bruce Scharlau, University of Aberdeen, 2010
  • 2. Android is part of the ‘build a better phone’ process Open Handset Alliance produces Android Comprises handset manufacturers, software firms, mobile operators, and other manufactures and funding companies http://www.openhandsetalliance.com/ Bruce Scharlau, University of Aberdeen, 2010
  • 3. Android is growing Uneven distribution of OS by regions Does not include iTouch or iPad, as not smartphones http://metrics.admob.com/wp-content/uploads/2010/06/May-2010-AdMob-Mobile-Metrics-Highlights.pdf Bruce Scharlau, University of Aberdeen, 2010
  • 4. Android makes mobile Java easier Well, sort of… Bruce Scharlau, University of Aberdeen, 2010 http://code.google.com/android/goodies/index.html
  • 5. Android applications are written in Java package com.google.android.helloactivity; import android.app.Activity; import android.os.Bundle; public class HelloActivity extends Activity { public HelloActivity() { } @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.hello_activity); } Bruce Scharlau, University of Aberdeen, 2010 }
  • 6. Android applications are compiled to Dalvik bytecode Write app in Java Write app in Java Compiled in Java Compiled in Java Transformed to Dalvik bytecode Transformed to Dalvik bytecode Loaded into Dalvik VM Loaded into Dalvik VM Linux OS Bruce Scharlau, University of Aberdeen, 2010
  • 7. The Dalvik runtime is optimised for mobile applications Run multiple VMs efficiently Each app has its own VM Minimal memory footprint Bruce Scharlau, University of Aberdeen, 2010
  • 8. Android has many components Bruce Scharlau, University of Aberdeen, 2010
  • 9. Can assume that most have android 2.1 or 2.2 Bruce Scharlau, University of Aberdeen, 2010 http://developer.android.com/resources/dashboard/platform-versions.html
  • 10. Android has a working emulator Bruce Scharlau, University of Aberdeen, 2010
  • 11. All applications are written in Java and available to each other Android designed to enable reuse of components in other applications Each application can publish its capabilities which other apps can use Bruce Scharlau, University of Aberdeen, 2010
  • 12. Android applications have common structure Views such as Views such as lists, grids, text lists, grids, text boxes, buttons, boxes, buttons, and even an and even an embeddable web embeddable web browser browser An Activity Manager that An Activity Manager that manages the life cycle of manages the life cycle of applications and provides applications and provides a common navigation a common navigation backstack backstack Content Content Providers that Providers that enable enable applications to applications to access data from access data from other applications other applications (such as (such as Contacts), or to Contacts), or to share their own share their own data data A Notification Manager A Notification Manager that enables all apps to that enables all apps to display custom alerts in the display custom alerts in the status bar status bar A Resource Manager, A Resource Manager, providing access to nonproviding access to noncode resources such as code resources such as localized strings, localized strings, graphics, and layout files graphics, and layout files Bruce Scharlau, University of Aberdeen, 2010
  • 13. Android applications have common structure Broadcast Broadcast receivers can receivers can trigger intents that trigger intents that start an application start an application Data storage Data storage provide data for provide data for your apps, and your apps, and can be shared can be shared between apps – between apps – database, file, database, file, and shared and shared preferences preferences (hash map) used (hash map) used by group of by group of applications applications Activity is the presentation Activity is the presentation layer of your app: there will layer of your app: there will be one per screen, and the be one per screen, and the Views provide the UI to the Views provide the UI to the activity activity Intents specify what Intents specify what specific action should be specific action should be performed performed Services run in the Services run in the background and have background and have no UI for the user – no UI for the user – they will update data, they will update data, and trigger events and trigger events Bruce Scharlau, University of Aberdeen, 2010
  • 14. There is a common file structure for applications code Autogenerated resource list files images UI layouts constants Bruce Scharlau, University of Aberdeen, 2010
  • 15. Standard components form building blocks for Android apps Notifications Activity screen Views Intents Has life-cycle App to handle content Service Background app Like music player manifest ContentProviders Bruce Scharlau, University of Aberdeen, 2010 Other applications
  • 16. The AndroidManifest lists application details <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.my_domain.app.helloactivity"> <application android:label="@string/app_name"> <activity android:name=".HelloActivity"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> </application> Bruce Scharlau, University of Aberdeen, 2010
  • 17. Activity is one thing you can do Bruce Scharlau, University of Aberdeen, 2010 From fundamentals page in sdk
  • 18. Intent provides late running binding to other apps It can be thought of as the glue between activities. It is basically a passive data structure holding an abstract description of an action to be performed. Written as action/data pairs such as: VIEW_ACTION/ACTION content://contacts/1 Bruce Scharlau, University of Aberdeen, 2010
  • 19. Services declared in the manifest and provide support Services run in the background: Music player providing the music playing in an audio application Intensive background apps, might need to spawn their own thread so as to not block the application Bruce Scharlau, University of Aberdeen, 2010
  • 20. Notifications let you know of background events This way you know that an SMS arrived, or that your phone is ringing, and the MP3 player should pause Bruce Scharlau, University of Aberdeen, 2010
  • 21. ContentProviders share data You need one if your application shares data with other applications This way you can share the contact list with the IM application If you don’t need to share data, then you can use SQLlite database Bruce Scharlau, University of Aberdeen, 2010
  • 22. UI layouts are in Java and XML setContentView(R.layout.hello_activity); //will load the XML UI file Bruce Scharlau, University of Aberdeen, 2010
  • 23. Security in Android follows standard Linux guidelines Each application runs in its own process Process permissions are enforced at user and group IDs assigned to processes Finer grained permissions are then granted (revoked) per operations <manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.google.android.app.myapp" > package="com.google.android.app.myapp" > <uses-permission id="android.permission.RECEIVE_SMS" /> <uses-permission id="android.permission.RECEIVE_SMS" /> </manifest> </manifest> Bruce Scharlau, University of Aberdeen, 2010