SlideShare uma empresa Scribd logo
1 de 25
Baixar para ler offline
IO13 Deep Dive - Location API
Technical deep dive
What’s new in Location API
Amrit Sanjeev
Bangalore Android User Group
What’s on the agenda today ?
Let go and find where our users are 
 

1Before the
new API 


2New APIs


3How is it
implmented
Before the new API
Things to keep in mind before you create your world using LBS
1
Some interesting stats 

• people	
  where	
  
aware	
  of	
  LBS	
  63%	
  
• report	
  having	
  
used	
  LBS	
  52%	
  
• thought	
  it	
  was	
  
valuable	
  94%	
  
• expressed	
  
concerns	
  	
  52%	
  
•  32% use it every month
•  10% use it every day


•  18% tell others their location
	
  
•  Expose location without consent 84%
•  Identity theft 84%
•  Loss of privacy 84%
	
  
LBS : Aspects to work on 
LBS
Control 
(Legal)
Trust
(Social)
Privacy
(Ethical)
Security
(Technolog
ical)
Complexity: What devs needed to work with
Trend : Changes in the type of application
Task	
  	
   Contextual	
  
Complexity : Sensor usage
2 Introduction to new APIs
Shiny new toys
Obstacles in LBS adoption
Fused Location provider
Geofencing
Acitvity monitoring
API : Fused Location Provider
Power
Accuracy 
Coverage
API : Fused Location Provider
Before	
   AEer	
  
•  Simplified API
•  3 main aspects than was worked on 
•  Speed 
•  Accuracy 
•  Coverge
Major Changes
Abstracts the use and
switching between
different hardware
based on availability .
Simpler API and
workflow
Better battery
performance 
Better average
accuracy 
Support for both
listeners and pending
intents
Workflow – with listeners
•  Create a instance of location client 
locationClient = new LocationClient();!
!
•  Call connect on it 
locationClient.connect();!
!
•  Get the last location if required by your logic 
Location loc = locationClient.getLastLocation();!
!
•  Create a location request 
LocationRequest request = new LocationRequest();!
request.setInterval(5000);!
request.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);!
•  Request of location updates passing the request and listener 
locationClient.requestLocationUpdates(request, listener);!
Workflow – with pending intent
•  Create a pending intent 
PendingIntent pIntent = PendingIntent.getService(…);!
•  Request of location updates passing the
request and listener 
locationClient.requestLocationUpdates(request, listener);!
!
•  Write code to handle the intent 
Public void onHandleIntent(Intent intent);!
!
Priority Modes
GeoFencing – What and why
Virtual fence around a
area that can be defined
to get updates of users
entering and exiting 
Register 100 geofences in
one app 
Simple api for adding and
removing geofences
Adjusts location updates
based on user’s proximity
to the geofence and user’s
activity (still, walking,
driving, and so on).
Roughly 2/3 power saving
compared to proximity
alert
Workflow 
•  Create a instance of location client 
locationClient = new LocationClient();!
•  In onConnected() callback , create a geofence object
Geofence.Builder gBuilder = new Geofence.Builder();!
gBuilder.setTransitionType(…);!
gBuilder.setCircularRegion(lat, long , radius);!
gBuilder.setExpirationDuration(duration);!
GeoFence gFence =gBuilder.build();!
!
•  Add geofences to the locationclient 
locationClient.addGeoFences(List<GeoFences> ,
Pending Intent ,… );!
Advantages
•  Reduces power usage
•  System calls the pending intent to wake your
application .
•  Entry or exit areas
Activity Recognition
•  Sensor data to find the type of action the user
is performing
Workflow 

•  Create an activity recognition client 
ActivityRecognitionClient aClient = new
ActivityRecognitionClient(…);!
•  Connect the client 
aClient.connect();!
!
•  Request for activity updates
aClient.requestActivityUpdates(interval , callbackIntent)!
!
•  Use onHandleIntent to get the calllback and extract
the activity type .
ActivityRecognitionResult result =
ActivityRecognitionResult.extractResult(intent);!
DetectedActivity act = result.getMostProbableActivity();!
!
!
3 How is it implemeted ?
The internals
Distribution channel 

Google play
services channel
Backward
Compactible to
Froyo
Enhance APIs for
indoor mapping 
Auto update and
faster release cycles
for new features 
Improve accuracy
using new tech like
BT4.0 and 802.11v
Q&A
Io13 deep dive   location api

Mais conteúdo relacionado

Semelhante a Io13 deep dive location api

IEEE PROJECT TOPICS & ABSTRACTS BY SOFTRONIICS
IEEE PROJECT TOPICS & ABSTRACTS BY SOFTRONIICSIEEE PROJECT TOPICS & ABSTRACTS BY SOFTRONIICS
IEEE PROJECT TOPICS & ABSTRACTS BY SOFTRONIICS
aswin tbbc
 
Android location and sensors API
Android location and sensors APIAndroid location and sensors API
Android location and sensors API
eleksdev
 
Location Based Services - An Overview
Location Based Services - An Overview Location Based Services - An Overview
Location Based Services - An Overview
amsanjeev
 
WordCamp Columbus - Location Based Integrations
WordCamp Columbus - Location Based IntegrationsWordCamp Columbus - Location Based Integrations
WordCamp Columbus - Location Based Integrations
lukepilon
 

Semelhante a Io13 deep dive location api (20)

Developing Windows Phone Apps with Maps and Location Services
Developing Windows Phone Apps with Maps and Location ServicesDeveloping Windows Phone Apps with Maps and Location Services
Developing Windows Phone Apps with Maps and Location Services
 
IEEE PROJECT TOPICS & ABSTRACTS BY SOFTRONIICS
IEEE PROJECT TOPICS & ABSTRACTS BY SOFTRONIICSIEEE PROJECT TOPICS & ABSTRACTS BY SOFTRONIICS
IEEE PROJECT TOPICS & ABSTRACTS BY SOFTRONIICS
 
MSPA Europe - How digital technology changes mystery shopping (nfc, ir, qr co...
MSPA Europe - How digital technology changes mystery shopping (nfc, ir, qr co...MSPA Europe - How digital technology changes mystery shopping (nfc, ir, qr co...
MSPA Europe - How digital technology changes mystery shopping (nfc, ir, qr co...
 
Android location and sensors API
Android location and sensors APIAndroid location and sensors API
Android location and sensors API
 
Mobile applications chapter 6
Mobile applications chapter 6Mobile applications chapter 6
Mobile applications chapter 6
 
[DSC Europe 23] Runxin Li - Capturing and Validating Real World Movements of ...
[DSC Europe 23] Runxin Li - Capturing and Validating Real World Movements of ...[DSC Europe 23] Runxin Li - Capturing and Validating Real World Movements of ...
[DSC Europe 23] Runxin Li - Capturing and Validating Real World Movements of ...
 
[English] Create Mobile LBS Application Using Maps API
[English] Create Mobile LBS Application Using Maps API[English] Create Mobile LBS Application Using Maps API
[English] Create Mobile LBS Application Using Maps API
 
Android location based services
Android location based servicesAndroid location based services
Android location based services
 
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
 
DevOps in the Amazon Cloud – Learn from the pioneersNetflix suro
DevOps in the Amazon Cloud – Learn from the pioneersNetflix suroDevOps in the Amazon Cloud – Learn from the pioneersNetflix suro
DevOps in the Amazon Cloud – Learn from the pioneersNetflix suro
 
Opportunities and Challenges in Open Source AR in 2018
Opportunities and Challenges in Open Source AR in 2018Opportunities and Challenges in Open Source AR in 2018
Opportunities and Challenges in Open Source AR in 2018
 
Location Based Services - An Overview
Location Based Services - An Overview Location Based Services - An Overview
Location Based Services - An Overview
 
WordCamp Columbus - Location Based Integrations
WordCamp Columbus - Location Based IntegrationsWordCamp Columbus - Location Based Integrations
WordCamp Columbus - Location Based Integrations
 
Mobile development in age of Internet of Things and programming Apple Watch
Mobile development in age of Internet of Things and programming Apple WatchMobile development in age of Internet of Things and programming Apple Watch
Mobile development in age of Internet of Things and programming Apple Watch
 
Metrics Driven DevOps - Automate Scalability and Performance Into your Pipeline
Metrics Driven DevOps - Automate Scalability and Performance Into your PipelineMetrics Driven DevOps - Automate Scalability and Performance Into your Pipeline
Metrics Driven DevOps - Automate Scalability and Performance Into your Pipeline
 
Appium meet up noida
Appium meet up noidaAppium meet up noida
Appium meet up noida
 
W3 c geolocation api
W3 c geolocation apiW3 c geolocation api
W3 c geolocation api
 
Location-Based Services on Android
Location-Based Services on AndroidLocation-Based Services on Android
Location-Based Services on Android
 
orioncontextbroker-20180615
orioncontextbroker-20180615orioncontextbroker-20180615
orioncontextbroker-20180615
 
Fire Eagle presentation for IIT Delhi Hack U event
Fire Eagle presentation for IIT Delhi Hack U eventFire Eagle presentation for IIT Delhi Hack U event
Fire Eagle presentation for IIT Delhi Hack U event
 

Mais de amsanjeev (7)

No sql databases blrdroid devfest 2016
No sql databases   blrdroid devfest 2016No sql databases   blrdroid devfest 2016
No sql databases blrdroid devfest 2016
 
Introduction to Firebase on Android
Introduction to Firebase on AndroidIntroduction to Firebase on Android
Introduction to Firebase on Android
 
Introduction to Android M
Introduction to Android MIntroduction to Android M
Introduction to Android M
 
Jelly bean aka Andorid 4.1
Jelly bean aka Andorid 4.1Jelly bean aka Andorid 4.1
Jelly bean aka Andorid 4.1
 
Mobile UX
Mobile UXMobile UX
Mobile UX
 
NFC - quick primer
NFC - quick primerNFC - quick primer
NFC - quick primer
 
Introduction to ICS
Introduction to ICSIntroduction to ICS
Introduction to ICS
 

Último

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Último (20)

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
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
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
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...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
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
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
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
 
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
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
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...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 

Io13 deep dive location api

  • 1. IO13 Deep Dive - Location API Technical deep dive What’s new in Location API Amrit Sanjeev Bangalore Android User Group
  • 2. What’s on the agenda today ? Let go and find where our users are  1Before the new API 2New APIs 3How is it implmented
  • 3. Before the new API Things to keep in mind before you create your world using LBS 1
  • 4. Some interesting stats • people  where   aware  of  LBS  63%   • report  having   used  LBS  52%   • thought  it  was   valuable  94%   • expressed   concerns    52%   •  32% use it every month •  10% use it every day •  18% tell others their location   •  Expose location without consent 84% •  Identity theft 84% •  Loss of privacy 84%  
  • 5. LBS : Aspects to work on LBS Control (Legal) Trust (Social) Privacy (Ethical) Security (Technolog ical)
  • 6. Complexity: What devs needed to work with
  • 7. Trend : Changes in the type of application Task     Contextual  
  • 9. 2 Introduction to new APIs Shiny new toys
  • 10. Obstacles in LBS adoption Fused Location provider Geofencing Acitvity monitoring
  • 11. API : Fused Location Provider Power Accuracy Coverage
  • 12. API : Fused Location Provider Before   AEer   •  Simplified API •  3 main aspects than was worked on •  Speed •  Accuracy •  Coverge
  • 13. Major Changes Abstracts the use and switching between different hardware based on availability . Simpler API and workflow Better battery performance Better average accuracy Support for both listeners and pending intents
  • 14. Workflow – with listeners •  Create a instance of location client locationClient = new LocationClient();! ! •  Call connect on it locationClient.connect();! ! •  Get the last location if required by your logic Location loc = locationClient.getLastLocation();! ! •  Create a location request LocationRequest request = new LocationRequest();! request.setInterval(5000);! request.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);! •  Request of location updates passing the request and listener locationClient.requestLocationUpdates(request, listener);!
  • 15. Workflow – with pending intent •  Create a pending intent PendingIntent pIntent = PendingIntent.getService(…);! •  Request of location updates passing the request and listener locationClient.requestLocationUpdates(request, listener);! ! •  Write code to handle the intent Public void onHandleIntent(Intent intent);! !
  • 17. GeoFencing – What and why Virtual fence around a area that can be defined to get updates of users entering and exiting Register 100 geofences in one app Simple api for adding and removing geofences Adjusts location updates based on user’s proximity to the geofence and user’s activity (still, walking, driving, and so on). Roughly 2/3 power saving compared to proximity alert
  • 18. Workflow •  Create a instance of location client locationClient = new LocationClient();! •  In onConnected() callback , create a geofence object Geofence.Builder gBuilder = new Geofence.Builder();! gBuilder.setTransitionType(…);! gBuilder.setCircularRegion(lat, long , radius);! gBuilder.setExpirationDuration(duration);! GeoFence gFence =gBuilder.build();! ! •  Add geofences to the locationclient locationClient.addGeoFences(List<GeoFences> , Pending Intent ,… );!
  • 19. Advantages •  Reduces power usage •  System calls the pending intent to wake your application . •  Entry or exit areas
  • 20. Activity Recognition •  Sensor data to find the type of action the user is performing
  • 21. Workflow •  Create an activity recognition client ActivityRecognitionClient aClient = new ActivityRecognitionClient(…);! •  Connect the client aClient.connect();! ! •  Request for activity updates aClient.requestActivityUpdates(interval , callbackIntent)! ! •  Use onHandleIntent to get the calllback and extract the activity type . ActivityRecognitionResult result = ActivityRecognitionResult.extractResult(intent);! DetectedActivity act = result.getMostProbableActivity();! ! !
  • 22. 3 How is it implemeted ? The internals
  • 23. Distribution channel Google play services channel Backward Compactible to Froyo Enhance APIs for indoor mapping Auto update and faster release cycles for new features Improve accuracy using new tech like BT4.0 and 802.11v
  • 24. Q&A