SlideShare una empresa de Scribd logo
1 de 46
Descargar para leer sin conexión
@kevinmcdonagh
Android isn't just about phones
W3C standards
 '95 - HTML4
 '96 - XML
 '2012? - HTML5
New input element's in HTML5:
           tel,       week,
           search,    time,
           url,       datetime-local
           email,     number,
           datetime   range,
           date,      color
           month,
WebSocket API
WebSocket protocol
Server-Sent Events
Web Storage (localStorage and sessionStorage)
Web SQL Database
Geolocation
Workers
Offline


          hasFeature("XHTML", "5.0")
Source: Isuppli Press release 201




Source: "Future of Embedded Systems Technology". BCC Report G-229R.
● Set Top boxes
● GPS Units

● Kiosks

● Self-Checkout

● Phones

● Personal Computers

● Medical Equipment
3,000,000 iPads in 80 Days
1992 - *7
Dalvik Optimisations
    ●Byte Code
    ●One DEX file with shared constant pools

    ●Dex files are read only & shared within processes

    ●Alignment and Ordering to suit local system

    ●Register based
●Intents
●Intent Receivers
• Broadcast Receivers
• Intent Filters listen to Broadcast Intents
Intent Types




         Activity Action   Broadcast Intents
Intent intent = new Intent (......................);
startActivity(intent);

  Intent i = new Intent();
  i.setAction("my.package.action");
  i.putExtra("number", new Integer( 99 ) );
  i.putExtra("text", new String( “foo”) );
  startSubActivity(i, ACTIVITY_INVOKE);
Intent intent = new Intent (Intent.ACTION_DIAL,
Uri.parse(“tel:93675359”)); startActivity(intent);



Intent intent = new Intent (Intent.ACTION_VIEW,
Uri.parse(“http://www.droidcon.co.uk”));
startActivity(intent);
<activity android:name=”.HelloWorld” android:label=”@string/app_name”>
   <intent-flter>
       <action android:name=”android.intent.action.VIEW”/>
       <category android:name=”android.intent.category.DEFAULT”/>
       <category android:name=”android.intent.category.BROWSABLE”/>
       <data android:scheme=”scheme”/>
   </intent-flter>
</activity>


Intent intent = new Intent (Intent.ACTION_VIEW, Uri.parse(“scheme://”));
startActivity(intent);
<activity android:name=”.HelloWorld” android:label=”@string/app_name”>
   <intent-flter>
      <action android:name=”android.intent.action.VIEW”/>
      <category android:name=”android.intent.category.DEFAULT”/>
      <category android:name=”android.intent.category.BROWSABLE”/>
      <data android:scheme=”http” android:host=”droidcon.co.uk”/>
   </intent-flter>
</activity>

Intent intent = new Intent (Intent.ACTION_VIEW,
Uri.parse(“http://www.droidcon.co.uk”));
startActivity(intent);
<receiver android:name=”CameraPressedReceiver”>
   <intent-flter>
       <action android:name=”android.intent.action.CAMERA_BUTTON”/>
   </intent-flter>
</receiver>

public class CameraPressed extends Broadcast Receiver {

@Override
public void onReceive(Context context, Intent intent) {
CRUD with HTTP verbs (post/get/put/delete)
Simplicity in data sources through a unified interface


              query()
              insert()
              update()
              delete()
              getType()
              onCreate()
Dim Screens
Suspend long tasks
Warn about I/O
Don't poll
+ <add yours>
Receive message
Check scheme
Check contents
Intercept SMS
Pass Extras
Generate suggested todos
Suspend resources
Change Answering machine
Auto responders to email
Suspend Services
Auto download shows/podcasts
28th/29th October
Largest ever
Android Conference!

In London!


www.droidcon.co.uk
@novoda
   www.novoda.com

@kevinmcdonagh
   Tel: 07981932411

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Faites évoluer votre accès aux données avec MongoDB Stitch
Faites évoluer votre accès aux données avec MongoDB StitchFaites évoluer votre accès aux données avec MongoDB Stitch
Faites évoluer votre accès aux données avec MongoDB Stitch
 
Intro to Firebase Realtime Database and Authentication
Intro to Firebase Realtime Database and AuthenticationIntro to Firebase Realtime Database and Authentication
Intro to Firebase Realtime Database and Authentication
 
Android getting started
Android getting startedAndroid getting started
Android getting started
 
10 Good Reasons to Use ClickHouse
10 Good Reasons to Use ClickHouse10 Good Reasons to Use ClickHouse
10 Good Reasons to Use ClickHouse
 
Google App Engine Developer - Day4
Google App Engine Developer - Day4Google App Engine Developer - Day4
Google App Engine Developer - Day4
 
Azure DocumentDB
Azure DocumentDBAzure DocumentDB
Azure DocumentDB
 
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep DiveMongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
 
MongoDB .local Toronto 2019: MongoDB Atlas Search Deep Dive
MongoDB .local Toronto 2019: MongoDB Atlas Search Deep DiveMongoDB .local Toronto 2019: MongoDB Atlas Search Deep Dive
MongoDB .local Toronto 2019: MongoDB Atlas Search Deep Dive
 
Azure Mobile Services .NET Backend
Azure Mobile Services .NET BackendAzure Mobile Services .NET Backend
Azure Mobile Services .NET Backend
 
Config Management Camp - Your own Kubernetes controller, not only in Go
Config Management Camp - Your own Kubernetes controller, not only in GoConfig Management Camp - Your own Kubernetes controller, not only in Go
Config Management Camp - Your own Kubernetes controller, not only in Go
 
MongoDB .local Chicago 2019: Practical Data Modeling for MongoDB: Tutorial
MongoDB .local Chicago 2019: Practical Data Modeling for MongoDB: TutorialMongoDB .local Chicago 2019: Practical Data Modeling for MongoDB: Tutorial
MongoDB .local Chicago 2019: Practical Data Modeling for MongoDB: Tutorial
 
Deciphering Explain Output
Deciphering Explain Output Deciphering Explain Output
Deciphering Explain Output
 
Event-Driven Systems With MongoDB
Event-Driven Systems With MongoDBEvent-Driven Systems With MongoDB
Event-Driven Systems With MongoDB
 
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series DataMongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
 
Redapt @ splunk .conf 2013 splunk in the hyperscale private cloud
Redapt @ splunk .conf 2013   splunk in the hyperscale private cloudRedapt @ splunk .conf 2013   splunk in the hyperscale private cloud
Redapt @ splunk .conf 2013 splunk in the hyperscale private cloud
 
ADDO - Your own Kubernetes controller, not only in Go
ADDO - Your own Kubernetes controller, not only in GoADDO - Your own Kubernetes controller, not only in Go
ADDO - Your own Kubernetes controller, not only in Go
 
OSCONF - Your own Kubernetes controller: not only in Go
OSCONF - Your own Kubernetes controller: not only in GoOSCONF - Your own Kubernetes controller: not only in Go
OSCONF - Your own Kubernetes controller: not only in Go
 
Java.IL - Your own Kubernetes controller, not only in Go!
Java.IL - Your own Kubernetes controller, not only in Go!Java.IL - Your own Kubernetes controller, not only in Go!
Java.IL - Your own Kubernetes controller, not only in Go!
 
final
finalfinal
final
 
Jump into cross platform development with firebase
Jump into cross platform development with firebaseJump into cross platform development with firebase
Jump into cross platform development with firebase
 

Similar a Android is not just mobile

Developing your first application using FIWARE
Developing your first application using FIWAREDeveloping your first application using FIWARE
Developing your first application using FIWARE
FIWARE
 
Developing your first application using FI-WARE
Developing your first application using FI-WAREDeveloping your first application using FI-WARE
Developing your first application using FI-WARE
Fermin Galan
 

Similar a Android is not just mobile (20)

Developing your first application using FIWARE
Developing your first application using FIWAREDeveloping your first application using FIWARE
Developing your first application using FIWARE
 
Android workshop
Android workshopAndroid workshop
Android workshop
 
Developing your first application using FI-WARE
Developing your first application using FI-WAREDeveloping your first application using FI-WARE
Developing your first application using FI-WARE
 
Hacking your Droid (Aditya Gupta)
Hacking your Droid (Aditya Gupta)Hacking your Droid (Aditya Gupta)
Hacking your Droid (Aditya Gupta)
 
HTML5 on Mobile
HTML5 on MobileHTML5 on Mobile
HTML5 on Mobile
 
Siddhi - cloud-native stream processor
Siddhi - cloud-native stream processorSiddhi - cloud-native stream processor
Siddhi - cloud-native stream processor
 
FIWARE Primer - Learn FIWARE in 60 Minutes
FIWARE Primer - Learn FIWARE in 60 MinutesFIWARE Primer - Learn FIWARE in 60 Minutes
FIWARE Primer - Learn FIWARE in 60 Minutes
 
Federico Michele Facca - FIWARE Primer - Learn FIWARE in 60 Minutes
Federico Michele Facca - FIWARE Primer - Learn FIWARE in 60 MinutesFederico Michele Facca - FIWARE Primer - Learn FIWARE in 60 Minutes
Federico Michele Facca - FIWARE Primer - Learn FIWARE in 60 Minutes
 
Android Industrial Mobility - Droidcon Italy - Turin 9-10 April 2015
Android Industrial Mobility - Droidcon Italy - Turin 9-10 April 2015Android Industrial Mobility - Droidcon Italy - Turin 9-10 April 2015
Android Industrial Mobility - Droidcon Italy - Turin 9-10 April 2015
 
Do you know what your drupal is doing? Observe it!
Do you know what your drupal is doing? Observe it!Do you know what your drupal is doing? Observe it!
Do you know what your drupal is doing? Observe it!
 
Introduction to WSO2 Data Analytics Platform
Introduction to  WSO2 Data Analytics PlatformIntroduction to  WSO2 Data Analytics Platform
Introduction to WSO2 Data Analytics Platform
 
W3 conf hill-html5-security-realities
W3 conf hill-html5-security-realitiesW3 conf hill-html5-security-realities
W3 conf hill-html5-security-realities
 
1 introduction of android
1 introduction of android1 introduction of android
1 introduction of android
 
Device aware web frameworks for better programming
Device aware web frameworks for better programmingDevice aware web frameworks for better programming
Device aware web frameworks for better programming
 
Expanding your impact with programmability in the data center
Expanding your impact with programmability in the data centerExpanding your impact with programmability in the data center
Expanding your impact with programmability in the data center
 
Architecting io t solutions with microisoft azure ignite tour version
Architecting io t solutions with microisoft azure ignite tour versionArchitecting io t solutions with microisoft azure ignite tour version
Architecting io t solutions with microisoft azure ignite tour version
 
MongoDB.local Atlanta: Introduction to Serverless MongoDB
MongoDB.local Atlanta: Introduction to Serverless MongoDBMongoDB.local Atlanta: Introduction to Serverless MongoDB
MongoDB.local Atlanta: Introduction to Serverless MongoDB
 
Getting Started With Android Application Development [IndicThreads Mobile Ap...
Getting Started With Android Application Development  [IndicThreads Mobile Ap...Getting Started With Android Application Development  [IndicThreads Mobile Ap...
Getting Started With Android Application Development [IndicThreads Mobile Ap...
 
Building Your First App with MongoDB Stitch
Building Your First App with MongoDB StitchBuilding Your First App with MongoDB Stitch
Building Your First App with MongoDB Stitch
 
MongoDB.local Atlanta: MongoDB Mobile: Bringing the Power of MongoDB to Your ...
MongoDB.local Atlanta: MongoDB Mobile: Bringing the Power of MongoDB to Your ...MongoDB.local Atlanta: MongoDB Mobile: Bringing the Power of MongoDB to Your ...
MongoDB.local Atlanta: MongoDB Mobile: Bringing the Power of MongoDB to Your ...
 

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 

Android is not just mobile

  • 2.
  • 3.
  • 4.
  • 5.
  • 6. W3C standards '95 - HTML4 '96 - XML '2012? - HTML5
  • 7. New input element's in HTML5: tel, week, search, time, url, datetime-local email, number, datetime range, date, color month,
  • 8. WebSocket API WebSocket protocol Server-Sent Events Web Storage (localStorage and sessionStorage) Web SQL Database Geolocation Workers Offline hasFeature("XHTML", "5.0")
  • 9. Source: Isuppli Press release 201 Source: "Future of Embedded Systems Technology". BCC Report G-229R.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15. ● Set Top boxes ● GPS Units ● Kiosks ● Self-Checkout ● Phones ● Personal Computers ● Medical Equipment
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 24.
  • 25.
  • 26. Dalvik Optimisations ●Byte Code ●One DEX file with shared constant pools ●Dex files are read only & shared within processes ●Alignment and Ordering to suit local system ●Register based
  • 27.
  • 28.
  • 30. • Broadcast Receivers • Intent Filters listen to Broadcast Intents
  • 31. Intent Types Activity Action Broadcast Intents
  • 32. Intent intent = new Intent (......................); startActivity(intent); Intent i = new Intent(); i.setAction("my.package.action"); i.putExtra("number", new Integer( 99 ) ); i.putExtra("text", new String( “foo”) ); startSubActivity(i, ACTIVITY_INVOKE);
  • 33. Intent intent = new Intent (Intent.ACTION_DIAL, Uri.parse(“tel:93675359”)); startActivity(intent); Intent intent = new Intent (Intent.ACTION_VIEW, Uri.parse(“http://www.droidcon.co.uk”)); startActivity(intent);
  • 34. <activity android:name=”.HelloWorld” android:label=”@string/app_name”> <intent-flter> <action android:name=”android.intent.action.VIEW”/> <category android:name=”android.intent.category.DEFAULT”/> <category android:name=”android.intent.category.BROWSABLE”/> <data android:scheme=”scheme”/> </intent-flter> </activity> Intent intent = new Intent (Intent.ACTION_VIEW, Uri.parse(“scheme://”)); startActivity(intent);
  • 35. <activity android:name=”.HelloWorld” android:label=”@string/app_name”> <intent-flter> <action android:name=”android.intent.action.VIEW”/> <category android:name=”android.intent.category.DEFAULT”/> <category android:name=”android.intent.category.BROWSABLE”/> <data android:scheme=”http” android:host=”droidcon.co.uk”/> </intent-flter> </activity> Intent intent = new Intent (Intent.ACTION_VIEW, Uri.parse(“http://www.droidcon.co.uk”)); startActivity(intent);
  • 36. <receiver android:name=”CameraPressedReceiver”> <intent-flter> <action android:name=”android.intent.action.CAMERA_BUTTON”/> </intent-flter> </receiver> public class CameraPressed extends Broadcast Receiver { @Override public void onReceive(Context context, Intent intent) {
  • 37. CRUD with HTTP verbs (post/get/put/delete) Simplicity in data sources through a unified interface query() insert() update() delete() getType() onCreate()
  • 38. Dim Screens Suspend long tasks Warn about I/O Don't poll + <add yours>
  • 39. Receive message Check scheme Check contents Intercept SMS Pass Extras
  • 40. Generate suggested todos Suspend resources Change Answering machine Auto responders to email Suspend Services Auto download shows/podcasts
  • 41.
  • 42.
  • 43.
  • 44.
  • 45. 28th/29th October Largest ever Android Conference! In London! www.droidcon.co.uk
  • 46. @novoda www.novoda.com @kevinmcdonagh Tel: 07981932411