SlideShare uma empresa Scribd logo
1 de 26
Baixar para ler offline
Google Service Play
Google Maps
Natã Melo
Google Services Play
Google Services
Examples: Google Plus and Maps
Advantages: Updates and Integration
Easy and Fast to Implement
Google Services Play
Standard Authorization
Google Account
OAuth2: Consistent and Safe
Independent Versions: GP and Android
Google Services Play
Background
Services
Easy-to-use
Authorization
GPS Updates
GPS APK
Android SDK
Manager
Google Services Play
Install the Google Play services library in your Android SDK!
Setting Up Google Play Services
Module build.gradle
apply plugin: 'com.android.application'
dependencies {
compile 'com.android.support:appcompat-v7:21.0.3'
compile 'com.google.android.gms:play-services:7.3.0'
compile 'com.google.android.gms:play-services-fitness:7.3.0'
compile 'com.google.android.gms:play-services-wearable:7.3.0'
}
Setting Up Google Play Services
Google+ com.google.android.gms:play-services-plus:7.3.0
Google Account Login com.google.android.gms:play-services-identity:7.3.0
Google Actions, Base Client Library com.google.android.gms:play-services-base:7.3.0
Google App Indexing com.google.android.gms:play-services-appindexing:7.3.0
Google Analytics com.google.android.gms:play-services-analytics:7.3.0
Google Cloud Messaging com.google.android.gms:play-services-gcm:7.3.0
Google Drive com.google.android.gms:play-services-drive:7.3.0
Google Fit com.google.android.gms:play-services-fitness:7.3.0
Google Location, Activity Recognition, and Places com.google.android.gms:play-services-location:7.3.0
Google Maps com.google.android.gms:play-services-maps:7.3.0
Google Mobile Ads com.google.android.gms:play-services-ads:7.3.0
...
Setting Up Google Play Services
In Activity... implements ConnectionCallbacks, OnConnectionFailedListener
private GoogleApiClient mGoogleApiClient;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mGoogleApiClient = new GoogleApiClient.Builder(this)
.addApi(Drive.API)
.addScope(Drive.SCOPE_FILE)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.build();
}
Setting Up Google Play Services
In Activity...
@Override
protected void onStart() {
super.onStart();
if (!mResolvingError) { // more about this later
mGoogleApiClient.connect();
}
}
@Override
protected void onStop() {
mGoogleApiClient.disconnect();
super.onStop();
}
Handle connection failures
In Activity...
@Override
public void onConnected(Bundle connectionHint) { }
@Override
public void onConnectionSuspended(int cause) { }
@Override
public void onConnectionFailed(ConnectionResult result) { }
Handle Connection Failures
In Activity...
int REQUEST_RESOLVE_ERROR = 1001; String DIALOG_ERROR = "dialog_error"; boolean mResolvingError = false;
@Override
public void onConnectionFailed(ConnectionResult result) {
if (mResolvingError) {
return;
} else if (result.hasResolution()) {
try {
mResolvingError = true;
result.startResolutionForResult(this, REQUEST_RESOLVE_ERROR);
} catch (SendIntentException e) {
mGoogleApiClient.connect();
}
} else {
showErrorDialog(result.getErrorCode());
mResolvingError = true;
}
}
Handle Connection Failures
In Activity...
private void showErrorDialog(int errorCode) {
ErrorDialogFragment dialogFragment = new ErrorDialogFragment();
Bundle args = new Bundle();
args.putInt(DIALOG_ERROR, errorCode);
dialogFragment.setArguments(args);
dialogFragment.show(getSupportFragmentManager(), DIALOG_ERROR);
}
public void onDialogDismissed() { mResolvingError = false; }
Handle Connection Failures
In Activity...
public static class ErrorDialogFragment extends DialogFragment {
public ErrorDialogFragment() { }
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
int errorCode = this.getArguments().getInt(DIALOG_ERROR);
return GooglePlayServicesUtil.getErrorDialog(errorCode,
this.getActivity(), REQUEST_RESOLVE_ERROR);
}
@Override
public void onDismiss(DialogInterface dialog) {
((MainActivity)getActivity()).onDialogDismissed();
}
}
Handle Connection Failures
In Activity...
public static class ErrorDialogFragment extends DialogFragment {
public ErrorDialogFragment() { }
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
int errorCode = this.getArguments().getInt(DIALOG_ERROR);
return GooglePlayServicesUtil.getErrorDialog(errorCode,
this.getActivity(), REQUEST_RESOLVE_ERROR);
}
@Override
public void onDismiss(DialogInterface dialog) {
((MainActivity)getActivity()).onDialogDismissed();
}
}
Handle Connection Failures
In Activity...
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_RESOLVE_ERROR) {
mResolvingError = false;
if (resultCode == RESULT_OK) {
if (!mGoogleApiClient.isConnecting() && !mGoogleApiClient.isConnected()) {
mGoogleApiClient.connect();
}
}
}
}
Handle Connection Failures
In Activity...
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_RESOLVE_ERROR) {
mResolvingError = false;
if (resultCode == RESULT_OK) {
if (!mGoogleApiClient.isConnecting() && !mGoogleApiClient.isConnected()) {
mGoogleApiClient.connect();
}
}
}
}
Google Maps Android API v2
Features
3D maps; Indoor, satellite, terrain, and hybrid maps; Vector-based
tiles for efficient caching and drawing; Animated transitions
Customize the map; Control the user's view; Street View
Android Certificate
Sign Your App; Identification
1. keytool -genkey -v -keystore [name_key_store].keystore -alias
[alias_name] -keyalg RSA -keysize 2048 -validity 10000
2. keytool -list -v -keystore [name_key_store].keystore
Result: SHA1: DF:F0:91:5A:DF:AA … 2C:44:98:6A:0D:3D
Android Certificate and API Key
Create Project On: https://console.developers.google.com/project
Activate Google Maps Android API
Create a New Key for Android: [SHAI Key];[Prject Path]
Get the Google Maps API key Generated: AIz … VgHcNL7Sg
Configure Your Manifest
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version"
/>
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="API_KEY"
/>
“Re-build Project”
Configure Your Manifest
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> Wifi/Mobile
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> GPS
<uses-feature android:glEsVersion="0x00020000" android:required="true"/> OpenGL ES
Map Type
GoogleMap map; map.setMapType(GoogleMap.MAP_TYPE_HYBRID);
MAP_TYPE_HYBRID - Satellite maps with a transparent layer of major streets.
MAP_TYPE_NONE - No base map tiles.
MAP_TYPE_NORMAL - Basic maps.
MAP_TYPE_SATELLITE - Satellite maps with no labels.
MAP_TYPE_TERRAIN - Terrain maps.
Add a Marker
map.addMarker(new MarkerOptions()
.position(new LatLng(10, 10))
.title("I’m here!")
.draggable(false)
.icon(BitmapDescriptorFactory.defaultMarker(
BitmapDescriptorFactory.HUE_AZURE)));
Add a Marker
Let’s Practice!
Use: Google Plus and Goolge Maps!
Get Slides: http://bit.
ly/1P7GyYN

Mais conteúdo relacionado

Mais procurados

Designerfair 2011
Designerfair 2011Designerfair 2011
Designerfair 2011douglee650
 
Integration of Google Tag Manager and Google Analytics
Integration of Google Tag Manager and Google AnalyticsIntegration of Google Tag Manager and Google Analytics
Integration of Google Tag Manager and Google AnalyticsJatin Kochhar
 
Google analytics version 4 in details
Google analytics version 4 in detailsGoogle analytics version 4 in details
Google analytics version 4 in detailsOmkar Nandi
 
Benefits of Google Tag Manager
Benefits of Google Tag ManagerBenefits of Google Tag Manager
Benefits of Google Tag ManagerPhil Pearce
 
What’s New in Google Analytics: New Features & What You Need to Know
What’s New in Google Analytics: New Features & What You Need to KnowWhat’s New in Google Analytics: New Features & What You Need to Know
What’s New in Google Analytics: New Features & What You Need to KnowEmpirical Path
 
Introducing Google Analytics
Introducing Google AnalyticsIntroducing Google Analytics
Introducing Google AnalyticsSrikanth Dhondi
 
Digital Analytics with the Google Tag Manager (GTM)
Digital Analytics with the Google Tag Manager (GTM)Digital Analytics with the Google Tag Manager (GTM)
Digital Analytics with the Google Tag Manager (GTM)Yourposition AG
 
How Google Tag Manager changes everything you knew about website analytics
How Google Tag Manager changes everything you knew about website analyticsHow Google Tag Manager changes everything you knew about website analytics
How Google Tag Manager changes everything you knew about website analyticsMontgomery Webster
 
Matteo Zambon Measurecamp europe 2021 - conversion api con google tag manag...
Matteo Zambon   Measurecamp europe 2021 - conversion api con google tag manag...Matteo Zambon   Measurecamp europe 2021 - conversion api con google tag manag...
Matteo Zambon Measurecamp europe 2021 - conversion api con google tag manag...Matteo Zambon
 
Advanced Google Analytics 4.0 by Aviso Digital
Advanced Google Analytics 4.0 by Aviso DigitalAdvanced Google Analytics 4.0 by Aviso Digital
Advanced Google Analytics 4.0 by Aviso DigitalSumeet Mayor
 
Expert Tips and Techniques for Using Google Tag Manager
Expert Tips and Techniques  for Using Google Tag ManagerExpert Tips and Techniques  for Using Google Tag Manager
Expert Tips and Techniques for Using Google Tag ManagerOWOX BI
 
Universal Analytics and Google Tag Manager - Superweek 2014
Universal Analytics and Google Tag Manager - Superweek 2014Universal Analytics and Google Tag Manager - Superweek 2014
Universal Analytics and Google Tag Manager - Superweek 2014Yehoshua
 
Google Analytics on Steroids: New Features & What You Need to Know
Google Analytics on Steroids: New Features & What You Need to KnowGoogle Analytics on Steroids: New Features & What You Need to Know
Google Analytics on Steroids: New Features & What You Need to KnowEmpirical Path
 
UA and Google Tag Manager – Why & How!
UA and Google Tag Manager – Why & How!UA and Google Tag Manager – Why & How!
UA and Google Tag Manager – Why & How!Munaz Anjum
 
Google analytics products overview 2021
Google analytics products overview 2021Google analytics products overview 2021
Google analytics products overview 2021Principle America
 
Enhanced Ecommerce & Data Import for GA - #BrightonSEO Sept 2014
Enhanced Ecommerce & Data Import for GA - #BrightonSEO Sept 2014Enhanced Ecommerce & Data Import for GA - #BrightonSEO Sept 2014
Enhanced Ecommerce & Data Import for GA - #BrightonSEO Sept 2014darafitzgerald
 
Google Tag Manager for actionable metrics - Beyond basic Google Analytics
Google Tag Manager for actionable metrics - Beyond basic Google AnalyticsGoogle Tag Manager for actionable metrics - Beyond basic Google Analytics
Google Tag Manager for actionable metrics - Beyond basic Google AnalyticsDesignHammer
 
Google Tag Manager (GTM)
Google Tag Manager (GTM)Google Tag Manager (GTM)
Google Tag Manager (GTM)Dragos Ionita
 
Google Tag Manager and Google Analytics
Google Tag Manager and Google AnalyticsGoogle Tag Manager and Google Analytics
Google Tag Manager and Google AnalyticsVishal Nayak
 

Mais procurados (19)

Designerfair 2011
Designerfair 2011Designerfair 2011
Designerfair 2011
 
Integration of Google Tag Manager and Google Analytics
Integration of Google Tag Manager and Google AnalyticsIntegration of Google Tag Manager and Google Analytics
Integration of Google Tag Manager and Google Analytics
 
Google analytics version 4 in details
Google analytics version 4 in detailsGoogle analytics version 4 in details
Google analytics version 4 in details
 
Benefits of Google Tag Manager
Benefits of Google Tag ManagerBenefits of Google Tag Manager
Benefits of Google Tag Manager
 
What’s New in Google Analytics: New Features & What You Need to Know
What’s New in Google Analytics: New Features & What You Need to KnowWhat’s New in Google Analytics: New Features & What You Need to Know
What’s New in Google Analytics: New Features & What You Need to Know
 
Introducing Google Analytics
Introducing Google AnalyticsIntroducing Google Analytics
Introducing Google Analytics
 
Digital Analytics with the Google Tag Manager (GTM)
Digital Analytics with the Google Tag Manager (GTM)Digital Analytics with the Google Tag Manager (GTM)
Digital Analytics with the Google Tag Manager (GTM)
 
How Google Tag Manager changes everything you knew about website analytics
How Google Tag Manager changes everything you knew about website analyticsHow Google Tag Manager changes everything you knew about website analytics
How Google Tag Manager changes everything you knew about website analytics
 
Matteo Zambon Measurecamp europe 2021 - conversion api con google tag manag...
Matteo Zambon   Measurecamp europe 2021 - conversion api con google tag manag...Matteo Zambon   Measurecamp europe 2021 - conversion api con google tag manag...
Matteo Zambon Measurecamp europe 2021 - conversion api con google tag manag...
 
Advanced Google Analytics 4.0 by Aviso Digital
Advanced Google Analytics 4.0 by Aviso DigitalAdvanced Google Analytics 4.0 by Aviso Digital
Advanced Google Analytics 4.0 by Aviso Digital
 
Expert Tips and Techniques for Using Google Tag Manager
Expert Tips and Techniques  for Using Google Tag ManagerExpert Tips and Techniques  for Using Google Tag Manager
Expert Tips and Techniques for Using Google Tag Manager
 
Universal Analytics and Google Tag Manager - Superweek 2014
Universal Analytics and Google Tag Manager - Superweek 2014Universal Analytics and Google Tag Manager - Superweek 2014
Universal Analytics and Google Tag Manager - Superweek 2014
 
Google Analytics on Steroids: New Features & What You Need to Know
Google Analytics on Steroids: New Features & What You Need to KnowGoogle Analytics on Steroids: New Features & What You Need to Know
Google Analytics on Steroids: New Features & What You Need to Know
 
UA and Google Tag Manager – Why & How!
UA and Google Tag Manager – Why & How!UA and Google Tag Manager – Why & How!
UA and Google Tag Manager – Why & How!
 
Google analytics products overview 2021
Google analytics products overview 2021Google analytics products overview 2021
Google analytics products overview 2021
 
Enhanced Ecommerce & Data Import for GA - #BrightonSEO Sept 2014
Enhanced Ecommerce & Data Import for GA - #BrightonSEO Sept 2014Enhanced Ecommerce & Data Import for GA - #BrightonSEO Sept 2014
Enhanced Ecommerce & Data Import for GA - #BrightonSEO Sept 2014
 
Google Tag Manager for actionable metrics - Beyond basic Google Analytics
Google Tag Manager for actionable metrics - Beyond basic Google AnalyticsGoogle Tag Manager for actionable metrics - Beyond basic Google Analytics
Google Tag Manager for actionable metrics - Beyond basic Google Analytics
 
Google Tag Manager (GTM)
Google Tag Manager (GTM)Google Tag Manager (GTM)
Google Tag Manager (GTM)
 
Google Tag Manager and Google Analytics
Google Tag Manager and Google AnalyticsGoogle Tag Manager and Google Analytics
Google Tag Manager and Google Analytics
 

Destaque

Java Style Grading
Java Style Grading Java Style Grading
Java Style Grading Natã Melo
 
MATRACA: Ferramenta open source para auxílio a deficientes visuais no uso do ...
MATRACA: Ferramenta open source para auxílio a deficientes visuais no uso do ...MATRACA: Ferramenta open source para auxílio a deficientes visuais no uso do ...
MATRACA: Ferramenta open source para auxílio a deficientes visuais no uso do ...Natã Melo
 
Animated transitions across UI views
Animated transitions across UI viewsAnimated transitions across UI views
Animated transitions across UI viewsVivian Motti
 
Minicurso grails
Minicurso grailsMinicurso grails
Minicurso grailsNatã Melo
 
Motores de busca em redes sociais
Motores de busca em redes sociaisMotores de busca em redes sociais
Motores de busca em redes sociaisNatã Melo
 
Sistemas Distribuídos - Publish-Subscribe - Kafka
Sistemas Distribuídos - Publish-Subscribe - KafkaSistemas Distribuídos - Publish-Subscribe - Kafka
Sistemas Distribuídos - Publish-Subscribe - KafkaNatã Melo
 
Listas em Prolog
Listas em PrologListas em Prolog
Listas em PrologNatã Melo
 
Biografia de Bill Gates - Parte 4
Biografia de Bill Gates - Parte 4Biografia de Bill Gates - Parte 4
Biografia de Bill Gates - Parte 4Natã Melo
 
Educação a Distância
Educação a DistânciaEducação a Distância
Educação a DistânciaNatã Melo
 
Android application for gps
Android application for gpsAndroid application for gps
Android application for gpsSutej Chakka
 
Android Training (Storing data using SQLite)
Android Training (Storing data using SQLite)Android Training (Storing data using SQLite)
Android Training (Storing data using SQLite)Khaled Anaqwa
 
android sqlite
android sqliteandroid sqlite
android sqliteDeepa Rani
 
09.1. Android - Local Database (Sqlite)
09.1. Android - Local Database (Sqlite)09.1. Android - Local Database (Sqlite)
09.1. Android - Local Database (Sqlite)Oum Saokosal
 
Google Maps API for Android
Google Maps API for AndroidGoogle Maps API for Android
Google Maps API for AndroidMaksim Golivkin
 
MDA - Model Driven Architecture
MDA - Model Driven ArchitectureMDA - Model Driven Architecture
MDA - Model Driven ArchitectureNatã Melo
 

Destaque (20)

Java Style Grading
Java Style Grading Java Style Grading
Java Style Grading
 
MATRACA: Ferramenta open source para auxílio a deficientes visuais no uso do ...
MATRACA: Ferramenta open source para auxílio a deficientes visuais no uso do ...MATRACA: Ferramenta open source para auxílio a deficientes visuais no uso do ...
MATRACA: Ferramenta open source para auxílio a deficientes visuais no uso do ...
 
Animated transitions across UI views
Animated transitions across UI viewsAnimated transitions across UI views
Animated transitions across UI views
 
Minicurso grails
Minicurso grailsMinicurso grails
Minicurso grails
 
Motores de busca em redes sociais
Motores de busca em redes sociaisMotores de busca em redes sociais
Motores de busca em redes sociais
 
Sistemas Distribuídos - Publish-Subscribe - Kafka
Sistemas Distribuídos - Publish-Subscribe - KafkaSistemas Distribuídos - Publish-Subscribe - Kafka
Sistemas Distribuídos - Publish-Subscribe - Kafka
 
Listas em Prolog
Listas em PrologListas em Prolog
Listas em Prolog
 
Biografia de Bill Gates - Parte 4
Biografia de Bill Gates - Parte 4Biografia de Bill Gates - Parte 4
Biografia de Bill Gates - Parte 4
 
Educação a Distância
Educação a DistânciaEducação a Distância
Educação a Distância
 
Android application for gps
Android application for gpsAndroid application for gps
Android application for gps
 
Android Training (Storing data using SQLite)
Android Training (Storing data using SQLite)Android Training (Storing data using SQLite)
Android Training (Storing data using SQLite)
 
Sql lite android
Sql lite androidSql lite android
Sql lite android
 
Introducing MDSD
Introducing MDSDIntroducing MDSD
Introducing MDSD
 
Android - Google Maps
Android - Google MapsAndroid - Google Maps
Android - Google Maps
 
android sqlite
android sqliteandroid sqlite
android sqlite
 
09.1. Android - Local Database (Sqlite)
09.1. Android - Local Database (Sqlite)09.1. Android - Local Database (Sqlite)
09.1. Android - Local Database (Sqlite)
 
Android development session 6 - Google Maps v2
Android development   session 6 - Google Maps v2Android development   session 6 - Google Maps v2
Android development session 6 - Google Maps v2
 
Google Maps API for Android
Google Maps API for AndroidGoogle Maps API for Android
Google Maps API for Android
 
MDA - Model Driven Architecture
MDA - Model Driven ArchitectureMDA - Model Driven Architecture
MDA - Model Driven Architecture
 
Google Maps
Google MapsGoogle Maps
Google Maps
 

Semelhante a [Android] Google Service Play & Google Maps

Let's your users share your App with Friends: App Invites for Android
 Let's your users share your App with Friends: App Invites for Android Let's your users share your App with Friends: App Invites for Android
Let's your users share your App with Friends: App Invites for AndroidWilfried Mbouenda Mbogne
 
Google Plus SignIn : l'Authentification Google
Google Plus SignIn : l'Authentification GoogleGoogle Plus SignIn : l'Authentification Google
Google Plus SignIn : l'Authentification GoogleMathias Seguy
 
Google Play Services Rock
Google Play Services RockGoogle Play Services Rock
Google Play Services RockPeter Friese
 
What's new in android jakarta gdg (2015-08-26)
What's new in android   jakarta gdg (2015-08-26)What's new in android   jakarta gdg (2015-08-26)
What's new in android jakarta gdg (2015-08-26)Google
 
Service Oriented Architecture in Magento 2
Service Oriented Architecture in Magento 2Service Oriented Architecture in Magento 2
Service Oriented Architecture in Magento 2Max Pronko
 
Google analytics
Google analyticsGoogle analytics
Google analyticsSean Tsai
 
Android Meetup Slovenia #2 - Making your app location-aware
Android Meetup Slovenia #2 - Making your app location-awareAndroid Meetup Slovenia #2 - Making your app location-aware
Android Meetup Slovenia #2 - Making your app location-awareInfinum
 
Infinum Android Talks #9 - Making your app location-aware
Infinum Android Talks #9 - Making your app location-awareInfinum Android Talks #9 - Making your app location-aware
Infinum Android Talks #9 - Making your app location-awareInfinum
 
GDG Kuwait - Modern android development
GDG Kuwait - Modern android developmentGDG Kuwait - Modern android development
GDG Kuwait - Modern android developmentGDGKuwaitGoogleDevel
 
The Big Picture and How to Get Started
The Big Picture and How to Get StartedThe Big Picture and How to Get Started
The Big Picture and How to Get Startedguest1af57e
 
Встреча Google Post IO ( Владимир Иванов, Катерина Заворотченко и Сергей Комлач)
Встреча Google Post IO ( Владимир Иванов, Катерина Заворотченко и Сергей Комлач)Встреча Google Post IO ( Владимир Иванов, Катерина Заворотченко и Сергей Комлач)
Встреча Google Post IO ( Владимир Иванов, Катерина Заворотченко и Сергей Комлач)Alina Vilk
 
Struts 2 + Spring
Struts 2 + SpringStruts 2 + Spring
Struts 2 + SpringBryan Hsueh
 
Introduction To Google Android (Ft Rohan Bomle)
Introduction To Google Android (Ft Rohan Bomle)Introduction To Google Android (Ft Rohan Bomle)
Introduction To Google Android (Ft Rohan Bomle)Fafadia Tech
 
The Google App Engine Oil Framework
The Google App Engine Oil FrameworkThe Google App Engine Oil Framework
The Google App Engine Oil FrameworkEric ShangKuan
 
Design Patterns for Tablets and Smartphones
Design Patterns for Tablets and SmartphonesDesign Patterns for Tablets and Smartphones
Design Patterns for Tablets and SmartphonesMichael Galpin
 
Integrating GoogleFit into Android Apps
Integrating GoogleFit into Android AppsIntegrating GoogleFit into Android Apps
Integrating GoogleFit into Android AppsGiles Payne
 
Introduction to Firebase [Google I/O Extended Bangkok 2016]
Introduction to Firebase [Google I/O Extended Bangkok 2016]Introduction to Firebase [Google I/O Extended Bangkok 2016]
Introduction to Firebase [Google I/O Extended Bangkok 2016]Sittiphol Phanvilai
 
名古屋SGGAE/J勉強会 Grails、Gaelykでハンズオン
名古屋SGGAE/J勉強会 Grails、Gaelykでハンズオン名古屋SGGAE/J勉強会 Grails、Gaelykでハンズオン
名古屋SGGAE/J勉強会 Grails、GaelykでハンズオンTsuyoshi Yamamoto
 

Semelhante a [Android] Google Service Play & Google Maps (20)

Let's your users share your App with Friends: App Invites for Android
 Let's your users share your App with Friends: App Invites for Android Let's your users share your App with Friends: App Invites for Android
Let's your users share your App with Friends: App Invites for Android
 
Google Plus SignIn : l'Authentification Google
Google Plus SignIn : l'Authentification GoogleGoogle Plus SignIn : l'Authentification Google
Google Plus SignIn : l'Authentification Google
 
Google Play Services Rock
Google Play Services RockGoogle Play Services Rock
Google Play Services Rock
 
What's new in android jakarta gdg (2015-08-26)
What's new in android   jakarta gdg (2015-08-26)What's new in android   jakarta gdg (2015-08-26)
What's new in android jakarta gdg (2015-08-26)
 
Service Oriented Architecture in Magento 2
Service Oriented Architecture in Magento 2Service Oriented Architecture in Magento 2
Service Oriented Architecture in Magento 2
 
Google analytics
Google analyticsGoogle analytics
Google analytics
 
Android Meetup Slovenia #2 - Making your app location-aware
Android Meetup Slovenia #2 - Making your app location-awareAndroid Meetup Slovenia #2 - Making your app location-aware
Android Meetup Slovenia #2 - Making your app location-aware
 
Infinum Android Talks #9 - Making your app location-aware
Infinum Android Talks #9 - Making your app location-awareInfinum Android Talks #9 - Making your app location-aware
Infinum Android Talks #9 - Making your app location-aware
 
GDG Kuwait - Modern android development
GDG Kuwait - Modern android developmentGDG Kuwait - Modern android development
GDG Kuwait - Modern android development
 
Android workshop
Android workshopAndroid workshop
Android workshop
 
The Big Picture and How to Get Started
The Big Picture and How to Get StartedThe Big Picture and How to Get Started
The Big Picture and How to Get Started
 
Встреча Google Post IO ( Владимир Иванов, Катерина Заворотченко и Сергей Комлач)
Встреча Google Post IO ( Владимир Иванов, Катерина Заворотченко и Сергей Комлач)Встреча Google Post IO ( Владимир Иванов, Катерина Заворотченко и Сергей Комлач)
Встреча Google Post IO ( Владимир Иванов, Катерина Заворотченко и Сергей Комлач)
 
Struts 2 + Spring
Struts 2 + SpringStruts 2 + Spring
Struts 2 + Spring
 
Introduction To Google Android (Ft Rohan Bomle)
Introduction To Google Android (Ft Rohan Bomle)Introduction To Google Android (Ft Rohan Bomle)
Introduction To Google Android (Ft Rohan Bomle)
 
The Google App Engine Oil Framework
The Google App Engine Oil FrameworkThe Google App Engine Oil Framework
The Google App Engine Oil Framework
 
Design Patterns for Tablets and Smartphones
Design Patterns for Tablets and SmartphonesDesign Patterns for Tablets and Smartphones
Design Patterns for Tablets and Smartphones
 
Eddystone beacons demo
Eddystone beacons demoEddystone beacons demo
Eddystone beacons demo
 
Integrating GoogleFit into Android Apps
Integrating GoogleFit into Android AppsIntegrating GoogleFit into Android Apps
Integrating GoogleFit into Android Apps
 
Introduction to Firebase [Google I/O Extended Bangkok 2016]
Introduction to Firebase [Google I/O Extended Bangkok 2016]Introduction to Firebase [Google I/O Extended Bangkok 2016]
Introduction to Firebase [Google I/O Extended Bangkok 2016]
 
名古屋SGGAE/J勉強会 Grails、Gaelykでハンズオン
名古屋SGGAE/J勉強会 Grails、Gaelykでハンズオン名古屋SGGAE/J勉強会 Grails、Gaelykでハンズオン
名古屋SGGAE/J勉強会 Grails、Gaelykでハンズオン
 

Mais de Natã Melo

Biografia de Bill Gates - Parte 3
Biografia de Bill Gates - Parte 3Biografia de Bill Gates - Parte 3
Biografia de Bill Gates - Parte 3Natã Melo
 
Biografia de Bill Gates - Parte 2
Biografia de Bill Gates - Parte 2Biografia de Bill Gates - Parte 2
Biografia de Bill Gates - Parte 2Natã Melo
 
Biografia de Bill Gates - Parte 1
Biografia de Bill Gates - Parte 1Biografia de Bill Gates - Parte 1
Biografia de Bill Gates - Parte 1Natã Melo
 
Copas do Mundo de Futebol
Copas do Mundo de FutebolCopas do Mundo de Futebol
Copas do Mundo de FutebolNatã Melo
 
Linguagem Python
Linguagem PythonLinguagem Python
Linguagem PythonNatã Melo
 
Sistemas Recomendação em Redes Sociais
Sistemas Recomendação em Redes SociaisSistemas Recomendação em Redes Sociais
Sistemas Recomendação em Redes SociaisNatã Melo
 
Sistema de Recomendação - Amigos DINS
Sistema de Recomendação - Amigos DINSSistema de Recomendação - Amigos DINS
Sistema de Recomendação - Amigos DINSNatã Melo
 
Regresão Múltipla
Regresão MúltiplaRegresão Múltipla
Regresão MúltiplaNatã Melo
 
Teste Dirigido por Modelos
Teste Dirigido por ModelosTeste Dirigido por Modelos
Teste Dirigido por ModelosNatã Melo
 
Demonstração ApTest Manager
Demonstração   ApTest ManagerDemonstração   ApTest Manager
Demonstração ApTest ManagerNatã Melo
 
Redes Sociais - Utilizando-as de forma inteligente
Redes Sociais - Utilizando-as de forma inteligenteRedes Sociais - Utilizando-as de forma inteligente
Redes Sociais - Utilizando-as de forma inteligenteNatã Melo
 
Apresentação JavaCG MetaCG
Apresentação JavaCG MetaCGApresentação JavaCG MetaCG
Apresentação JavaCG MetaCGNatã Melo
 

Mais de Natã Melo (17)

Biografia de Bill Gates - Parte 3
Biografia de Bill Gates - Parte 3Biografia de Bill Gates - Parte 3
Biografia de Bill Gates - Parte 3
 
Biografia de Bill Gates - Parte 2
Biografia de Bill Gates - Parte 2Biografia de Bill Gates - Parte 2
Biografia de Bill Gates - Parte 2
 
Biografia de Bill Gates - Parte 1
Biografia de Bill Gates - Parte 1Biografia de Bill Gates - Parte 1
Biografia de Bill Gates - Parte 1
 
Copas do Mundo de Futebol
Copas do Mundo de FutebolCopas do Mundo de Futebol
Copas do Mundo de Futebol
 
Linguagem Python
Linguagem PythonLinguagem Python
Linguagem Python
 
Sistemas Recomendação em Redes Sociais
Sistemas Recomendação em Redes SociaisSistemas Recomendação em Redes Sociais
Sistemas Recomendação em Redes Sociais
 
Sistema de Recomendação - Amigos DINS
Sistema de Recomendação - Amigos DINSSistema de Recomendação - Amigos DINS
Sistema de Recomendação - Amigos DINS
 
Terremotos
TerremotosTerremotos
Terremotos
 
Regresão Múltipla
Regresão MúltiplaRegresão Múltipla
Regresão Múltipla
 
Linguagem Go
Linguagem GoLinguagem Go
Linguagem Go
 
Teste Dirigido por Modelos
Teste Dirigido por ModelosTeste Dirigido por Modelos
Teste Dirigido por Modelos
 
Demonstração ApTest Manager
Demonstração   ApTest ManagerDemonstração   ApTest Manager
Demonstração ApTest Manager
 
MetaCG
MetaCG MetaCG
MetaCG
 
Redes Sociais - Utilizando-as de forma inteligente
Redes Sociais - Utilizando-as de forma inteligenteRedes Sociais - Utilizando-as de forma inteligente
Redes Sociais - Utilizando-as de forma inteligente
 
Apresentação JavaCG MetaCG
Apresentação JavaCG MetaCGApresentação JavaCG MetaCG
Apresentação JavaCG MetaCG
 
Python aula 1
Python aula 1Python aula 1
Python aula 1
 
Python aula 2
Python aula 2Python aula 2
Python aula 2
 

Último

Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 

Último (20)

Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 

[Android] Google Service Play & Google Maps

  • 1. Google Service Play Google Maps Natã Melo
  • 2. Google Services Play Google Services Examples: Google Plus and Maps Advantages: Updates and Integration Easy and Fast to Implement
  • 3. Google Services Play Standard Authorization Google Account OAuth2: Consistent and Safe Independent Versions: GP and Android
  • 5. Google Services Play Install the Google Play services library in your Android SDK!
  • 6. Setting Up Google Play Services Module build.gradle apply plugin: 'com.android.application' dependencies { compile 'com.android.support:appcompat-v7:21.0.3' compile 'com.google.android.gms:play-services:7.3.0' compile 'com.google.android.gms:play-services-fitness:7.3.0' compile 'com.google.android.gms:play-services-wearable:7.3.0' }
  • 7. Setting Up Google Play Services Google+ com.google.android.gms:play-services-plus:7.3.0 Google Account Login com.google.android.gms:play-services-identity:7.3.0 Google Actions, Base Client Library com.google.android.gms:play-services-base:7.3.0 Google App Indexing com.google.android.gms:play-services-appindexing:7.3.0 Google Analytics com.google.android.gms:play-services-analytics:7.3.0 Google Cloud Messaging com.google.android.gms:play-services-gcm:7.3.0 Google Drive com.google.android.gms:play-services-drive:7.3.0 Google Fit com.google.android.gms:play-services-fitness:7.3.0 Google Location, Activity Recognition, and Places com.google.android.gms:play-services-location:7.3.0 Google Maps com.google.android.gms:play-services-maps:7.3.0 Google Mobile Ads com.google.android.gms:play-services-ads:7.3.0 ...
  • 8. Setting Up Google Play Services In Activity... implements ConnectionCallbacks, OnConnectionFailedListener private GoogleApiClient mGoogleApiClient; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mGoogleApiClient = new GoogleApiClient.Builder(this) .addApi(Drive.API) .addScope(Drive.SCOPE_FILE) .addConnectionCallbacks(this) .addOnConnectionFailedListener(this) .build(); }
  • 9. Setting Up Google Play Services In Activity... @Override protected void onStart() { super.onStart(); if (!mResolvingError) { // more about this later mGoogleApiClient.connect(); } } @Override protected void onStop() { mGoogleApiClient.disconnect(); super.onStop(); }
  • 10. Handle connection failures In Activity... @Override public void onConnected(Bundle connectionHint) { } @Override public void onConnectionSuspended(int cause) { } @Override public void onConnectionFailed(ConnectionResult result) { }
  • 11. Handle Connection Failures In Activity... int REQUEST_RESOLVE_ERROR = 1001; String DIALOG_ERROR = "dialog_error"; boolean mResolvingError = false; @Override public void onConnectionFailed(ConnectionResult result) { if (mResolvingError) { return; } else if (result.hasResolution()) { try { mResolvingError = true; result.startResolutionForResult(this, REQUEST_RESOLVE_ERROR); } catch (SendIntentException e) { mGoogleApiClient.connect(); } } else { showErrorDialog(result.getErrorCode()); mResolvingError = true; } }
  • 12. Handle Connection Failures In Activity... private void showErrorDialog(int errorCode) { ErrorDialogFragment dialogFragment = new ErrorDialogFragment(); Bundle args = new Bundle(); args.putInt(DIALOG_ERROR, errorCode); dialogFragment.setArguments(args); dialogFragment.show(getSupportFragmentManager(), DIALOG_ERROR); } public void onDialogDismissed() { mResolvingError = false; }
  • 13. Handle Connection Failures In Activity... public static class ErrorDialogFragment extends DialogFragment { public ErrorDialogFragment() { } @Override public Dialog onCreateDialog(Bundle savedInstanceState) { int errorCode = this.getArguments().getInt(DIALOG_ERROR); return GooglePlayServicesUtil.getErrorDialog(errorCode, this.getActivity(), REQUEST_RESOLVE_ERROR); } @Override public void onDismiss(DialogInterface dialog) { ((MainActivity)getActivity()).onDialogDismissed(); } }
  • 14. Handle Connection Failures In Activity... public static class ErrorDialogFragment extends DialogFragment { public ErrorDialogFragment() { } @Override public Dialog onCreateDialog(Bundle savedInstanceState) { int errorCode = this.getArguments().getInt(DIALOG_ERROR); return GooglePlayServicesUtil.getErrorDialog(errorCode, this.getActivity(), REQUEST_RESOLVE_ERROR); } @Override public void onDismiss(DialogInterface dialog) { ((MainActivity)getActivity()).onDialogDismissed(); } }
  • 15. Handle Connection Failures In Activity... @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == REQUEST_RESOLVE_ERROR) { mResolvingError = false; if (resultCode == RESULT_OK) { if (!mGoogleApiClient.isConnecting() && !mGoogleApiClient.isConnected()) { mGoogleApiClient.connect(); } } } }
  • 16. Handle Connection Failures In Activity... @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == REQUEST_RESOLVE_ERROR) { mResolvingError = false; if (resultCode == RESULT_OK) { if (!mGoogleApiClient.isConnecting() && !mGoogleApiClient.isConnected()) { mGoogleApiClient.connect(); } } } }
  • 17. Google Maps Android API v2 Features 3D maps; Indoor, satellite, terrain, and hybrid maps; Vector-based tiles for efficient caching and drawing; Animated transitions Customize the map; Control the user's view; Street View
  • 18. Android Certificate Sign Your App; Identification 1. keytool -genkey -v -keystore [name_key_store].keystore -alias [alias_name] -keyalg RSA -keysize 2048 -validity 10000 2. keytool -list -v -keystore [name_key_store].keystore Result: SHA1: DF:F0:91:5A:DF:AA … 2C:44:98:6A:0D:3D
  • 19. Android Certificate and API Key Create Project On: https://console.developers.google.com/project Activate Google Maps Android API Create a New Key for Android: [SHAI Key];[Prject Path] Get the Google Maps API key Generated: AIz … VgHcNL7Sg
  • 21. Configure Your Manifest <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> Wifi/Mobile <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> GPS <uses-feature android:glEsVersion="0x00020000" android:required="true"/> OpenGL ES
  • 22. Map Type GoogleMap map; map.setMapType(GoogleMap.MAP_TYPE_HYBRID); MAP_TYPE_HYBRID - Satellite maps with a transparent layer of major streets. MAP_TYPE_NONE - No base map tiles. MAP_TYPE_NORMAL - Basic maps. MAP_TYPE_SATELLITE - Satellite maps with no labels. MAP_TYPE_TERRAIN - Terrain maps.
  • 23. Add a Marker map.addMarker(new MarkerOptions() .position(new LatLng(10, 10)) .title("I’m here!") .draggable(false) .icon(BitmapDescriptorFactory.defaultMarker( BitmapDescriptorFactory.HUE_AZURE)));
  • 25. Let’s Practice! Use: Google Plus and Goolge Maps!