SlideShare uma empresa Scribd logo
1 de 78
Baixar para ler offline
Introduction to the SDK
Tiziano
Basile
Mike
Trizio
#androidwear
#androidwear
#androidwear
#androidwear
#androidwear
#androidwear
you talk to the
wearable
#androidwear
actions
#androidwear
actions
#androidwear
the wearable
talks to you
actions
#androidwear
actions
context
#androidwear
actions
context
#androidwear
Launched automatically
#androidwear
Glanceable
#androidwear
Suggest and demand
#androidwear
Zero or low interaction
#androidwear
#androidwear
Notifications Apps
#androidwear
Notifications
#androidwear
#androidwear
#androidwear
NO WORK
REQUIRED
#androidwear
#androidwear
NO WORK
REQUIRED
RepliesPagesStacks
#androidwear
Apps
#androidwear
Send data Custom UI Voice Actions
#androidwear
#androidwear
Node
Data
Message
#androidwear
Send data Custom UI Voice Actions
#androidwear
#androidwear
#androidwear
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.google.android.support:wearable:+'
compile 'com.google.android.gms:play-services-wearable:+'
}
build.gradle
#androidwear
Classes
#androidwear
● BoxInsetLayout
● Card Fragment
● CircledImageView
● ConfirmationActivity
● DismissOverlayView
● GridViewPager
● GridPagerAdapter
● FragmentGridPagerAdapter
● WatchViewStub
Send data Custom UI Voice Actions
#androidwear
#androidwear
Available commands
#androidwear
● Call a car/taxi
● Take a note
● Set alarm
● Set timer
● Start/Stop a bike ride
● Start/Stop a run
● Start/Stop a workout
● Show heart rate
● Show step count
Apps
Notifications Stand alone
Apps
Just edit you handheld app’s code
and you’re ready to go!
Notifications
Add build.gradle dependencies
compile "com.android.support:support-v4:20.0.+"
Import support library’s classes
import android.support.v4.app.NotificationCompat;
import android.support.v4.app.NotificationManagerCompat;
import android.support.v4.app.NotificationCompat.WearableExtender;
build.gradle
Create and issue the notification
Notification mNotification = new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.ic_launcher)
.setContentTitle("Simple Notification")
.setContentText("Just a title, a text and an icon")
.build();
NotificationManagerCompat mNotificationManager =
NotificationManagerCompat.from(this);
mNotificationManager.notify(mNotificationId, mNotification);
MobileActivity.java
Add a “open on device” action
Intent intent = new Intent(this, NotificationIntentActivity.class);
intent.putExtra("EventID", 1);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, 0);
Notification mNotification = new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.ic_launcher)
.setContentTitle("Simple Notification")
.setContentText("Just a title, a text and an icon")
.setContentIntent(pendingIntent)
.build();
MobileActivity.java
Add a custom action
Intent intent = new Intent(Intent.ACTION_VIEW);
Uri position = Uri.parse("geo:0,0?q=41.109388,16.878843");
intent.setData(position);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, 0);
Notification mNotification = new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.ic_launcher)
.setContentTitle("Simple Notification")
.setContentText("Just a title, a text and an icon")
.addAction(R.drawable.ic_location, "Check your position", pendingIntent);
.build();
MobileActivity.java
Add a custom action ONLY ON WEAR
NotificationCompat.Action mAction =
new NotificationCompat.Action.Builder(
R.drawable.ic_location,
“Check your position”
mPendingIntent).build();
NotificationCompat.WearableExtender mExtender =
new NotificationCompat.WearableExtender()
.addAction(mAction);
Notification mNotification = new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.ic_launcher)
.setContentTitle("Simple Notification")
.setContentText("Just a title, a text and an icon")
.extend(mExtender)
.build();
MobileActivity.java
WearableExtender
NotificationCompat.WearableExtender mExtender =
new NotificationCompat.WearableExtender()
.addAction(mAction)
.setBackground(myBitmap) //set a background image
.setHintHideIcon(true); //hide the notification icon on the card
Further info about the WearableExtender class at http://bit.ly/1sA2DsL
MobileActivity.java
Voice Inputs
● Handled by the Cue Card
● Can provide a list of predefined commands
● Use RemoteInput class to request user
interaction via voice commands
Prepare Voice Input
public static final String EXTRA_VOICE_REPLY = “user voice”;
public String[] mChoices = getResources().getStringArray(R.array.choices);
RemoteInput mVoiceInput = new RemoteInput.Builder(EXTRA_VOICE_REPLY)
.setLabel(“Reply”)
.setChoices(choices) //optional
.build();
...let’s add it to a notification
MobileActivity.java
Prepare Voice Input
NotificationCompat.Action mVoiceAction =
new NotificationCompat.Action.Builder(R.drawable.icon, “Reply”,
mPendingIntent)
.addRemoteInput(mVoiceInput)
.build();
NotificationCompat.WearableExtender mExtender =
new NotificationCompat.WearableExtender()
.addAction(mVoiceAction);
Notification mNotification = new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.notification_icon)
.setContentTitle(R.string.notification_title)
.setContentText(“Here’s the notification text”)
.extend(mExtender)
.build();
MobileActivity.java
Receive Voice Input
@Override
public void onCreate(Bundle onSavedInstanceState){
super.onCreate(onSavedInstanceState);
Intent mReceivedIntent = getIntent();
Bundle mRemoteInput = RemoteInput.getResultsFromIntent(mReceivedIntent);
String mreply = “”;
if(mRemoteInput != null){
mReply = mRemoteInput.getCharSequence(EXTRA_VOICE_REPLY).toString();
}
}
MobileActivity.java
Paged Notifications
NotificationCompat.Builder mFirstPageBuilder =
new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.icon)
.setContentTitle(R.string.title)
.setContentText(“This is the first page”);
Notification mSecondPage =
new NotificationCompat.Builder(this)
.setContentTitle(R.string.titletwo)
.setContentText(“This is the second page!”)
.build();
Notification mNotification = new NotificationCompat.WearableExtender()
.addPage(mSecondPage)
.extend(mFirstPage)
.build();
MobileActivity.java
Stacked Notifications
public static final String APP_GROUP = “App Notifications”;
Notification mNotification = new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.ic_launcher)
.setContentTitle("Simple Notification")
.setContentText("Just a title, a text and an icon")
.setGroup(APP_GROUP)
.build();
MobileActivity.java
Stacked Notifications, GroupSummary
public static final String APP_GROUP = “App Notifications”;
Notification mSummaryNotification = new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.ic_launcher)
.setLargeIcon(largeIcon)
.setStyle(new NotificationCompat.InboxStyle()
.addLine("First Notification Hi, I'm a notification")
.addLine("Second Notification Yay, here's the second one!")
.setBigContentTitle("2 Notifications from your app")
.setSummaryText("com.example.app"))
.setGroup(GROUP_ID)
.setGroupSummary(true)
.build();
MobileActivity.java
Write your wear apps almost like
phone apps
Stand Alone
Apps
● Access to device’s sensors
● A wearable app is more useful in some
situations
● Quick info without pulling out the phone
Stand Alone
Apps
● Short Timeline
● Needs a companion app because of Playstore
compatibility
● Less functionality than a phone app
● DON’T PORT YOUR UI ON A WEARABLE!!!
Stand Alone
Apps
android.webkit
android.print
android.app.backup
android.appwidget
android.hardware.usb
no support on wear
Don’t use these packages
How to create a wearable app?
Phase 1: Prepare your devices
● Pair your phone with wear/emulator
● Enable Bluetooth debug in wear app
● Enabe Bluetooth debug on the wear device
● Enable Developer Options on wear (as easy as on the phone)
● Connect the phone to the PC
● Open terminal and launch one of the following commands
adb -s <phone id> forward tcp:5601 tcp:5601
adb forward tcp:4444 localabstract:/adb-hub; adb
connect localhost:4444
Phase 2: create a project
● Notifications:
● Data Layer:
● UI:
If you don’t need to share notification between mobile and wear, use the
standard notification class, otherwise use NotificationCompat
Use only if you need to sync data or send messages between mobile
and wear. Remove if not necessary
You should use it if you want to create beautiful UI that
really rocks!
Docs available at http://bit.ly/1p8ekRu
Choose your libraries
<activity android:name=”com.app.NotificationActivity”
android:exported=”true”
android:allowEmbedded=”true”
android:taskAffinity=””
android:theme=”@android:style/Theme.DeviceDefault.Light”>
</activity>
Use Activity as Custom Notification
.Manifest
Intent mNotificationIntent = new Intent(this, NotificationActivity.class);
PendingIntent mNotificationPendingIntent =
PendingIntent.getActivity(
this, 0, mNotificationIntent, PendingIntent.FLAG_UPDATE_CURRENT);
Notification mNotification = new Notification.Builder(this)
.setSmallIcon(R.drawable.icon) //Mandatory
.setContentTitle(R.string.title)
.extend(new Notification.WearableExtender()
.setDisplayIntent(mNotificationPendingIntent))
.build();
WearActivity.java
Use Activity as Custom Notification
Built-in
intents
Custom
intents
Freestyle
Add Voice Commands
Built-in
intents
Just add an intent filter in your Activity
Add Voice Commands
Built-in Intents
<activity android:name=”.NoteActivity”>
<intent-filter>
<action android:name=”android.intent.action.SEND”/>
<category android:name=”com.google.android.voicesearch.SELF_NOTE” />
</intent-filter>
</activity>
A complete list of built-in intents can be found at http://bit.ly/1p8omlo
Add Voice Commands
.Manifest
Custom
intents
Add an attribute in the activity tag in
manifest
Add Voice Commands
<activity android:name=”.NoteActivity”
android:label=”NoteApp”>
<intent-filter>
<action android:name=”android.intent.action.MAIN”/>
<category android:name=”android.intent.category.LAUNCHER” />
</intent-filter>
</activity>
The user can launch the app saying “Launch NoteApp”
Custom Intents
Add Voice Commands
.Manifest
Freestyle
use startActivityForResult()
Add Voice Commands
private static final int SPEECH_REQ_CODE = 1;
...
...
Intent speechIntent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
speechIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
RecognizerIntent.LANGUAGE_FORM_FREE_FORM);
startActivityForResult(speechIntent, SPEECH_REQ_CODE);
Freestyle
Add Voice Commands
.WearActivity
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
if(requestCode == SPEECH_REQ_CODE && resultCode == RESULT_OK){
List<String> results = data.getStringArrayListExtra(
RecognizerIntent.EXTRA_RESULTS);
String spokenText = results.get(0);
}
super.onActivityResult(requestCode, resultCode, data);
}
.WearActivity
Freestyle
Add Voice Commands
https://github.com/tizionario/AndroidWearSDKDemo
Try it yourself!
What’s next?
Kickstart your experience with Android Wear
Mario Viviani
Advanced Dev Tips for Android Wear
Alfredo Morresi
Tomorrow
Fit4Dev - Case Study
Nicola Policoro & Marco Rinaldi
14:50 @ Sala Lisbona
Thank you!
please leave a feedback
Tiziano Basile (@tizionario)
tiz.basile@gmail.com
Mike Trizio (@mik3lantoni0)
mikelantonio.trizio@gmail.com

Mais conteúdo relacionado

Mais procurados

iOS 7 Accessibility
iOS 7 AccessibilityiOS 7 Accessibility
iOS 7 AccessibilityTed Drake
 
pentest mobile app issue
pentest mobile app issuepentest mobile app issue
pentest mobile app issueshekar M
 
Development Playbook Application With Adobe AIR 2.5 and QNX SDK
Development Playbook Application With Adobe AIR 2.5 and QNX SDKDevelopment Playbook Application With Adobe AIR 2.5 and QNX SDK
Development Playbook Application With Adobe AIR 2.5 and QNX SDKTubagus Anwar
 
Startup in action: Atooma, by Francesca Romano
Startup in action: Atooma, by Francesca Romano Startup in action: Atooma, by Francesca Romano
Startup in action: Atooma, by Francesca Romano Codemotion
 
Getting Started with Android - OSSPAC 2009
Getting Started with Android - OSSPAC 2009Getting Started with Android - OSSPAC 2009
Getting Started with Android - OSSPAC 2009sullis
 
Break Timer: Android-wear introduction and application case-study
Break Timer: Android-wear introduction and application case-studyBreak Timer: Android-wear introduction and application case-study
Break Timer: Android-wear introduction and application case-studyUmair Vatao
 
Skinning Android for Embedded Applications
Skinning Android for Embedded ApplicationsSkinning Android for Embedded Applications
Skinning Android for Embedded ApplicationsVIA Embedded
 
Ipad Apps for Meeting & Events presentation with voting results
Ipad Apps for Meeting & Events presentation with voting resultsIpad Apps for Meeting & Events presentation with voting results
Ipad Apps for Meeting & Events presentation with voting resultsStefania Conti-Vecchi
 

Mais procurados (10)

iOS 7 Accessibility
iOS 7 AccessibilityiOS 7 Accessibility
iOS 7 Accessibility
 
Android Development Tutorial V3
Android Development Tutorial   V3Android Development Tutorial   V3
Android Development Tutorial V3
 
pentest mobile app issue
pentest mobile app issuepentest mobile app issue
pentest mobile app issue
 
Development Playbook Application With Adobe AIR 2.5 and QNX SDK
Development Playbook Application With Adobe AIR 2.5 and QNX SDKDevelopment Playbook Application With Adobe AIR 2.5 and QNX SDK
Development Playbook Application With Adobe AIR 2.5 and QNX SDK
 
Startup in action: Atooma, by Francesca Romano
Startup in action: Atooma, by Francesca Romano Startup in action: Atooma, by Francesca Romano
Startup in action: Atooma, by Francesca Romano
 
Getting Started with Android - OSSPAC 2009
Getting Started with Android - OSSPAC 2009Getting Started with Android - OSSPAC 2009
Getting Started with Android - OSSPAC 2009
 
Break Timer: Android-wear introduction and application case-study
Break Timer: Android-wear introduction and application case-studyBreak Timer: Android-wear introduction and application case-study
Break Timer: Android-wear introduction and application case-study
 
Skinning Android for Embedded Applications
Skinning Android for Embedded ApplicationsSkinning Android for Embedded Applications
Skinning Android for Embedded Applications
 
Android Native Apps Development
Android Native Apps DevelopmentAndroid Native Apps Development
Android Native Apps Development
 
Ipad Apps for Meeting & Events presentation with voting results
Ipad Apps for Meeting & Events presentation with voting resultsIpad Apps for Meeting & Events presentation with voting results
Ipad Apps for Meeting & Events presentation with voting results
 

Semelhante a Droidcon Turin 2015 - Android wear sdk introduction

Getting started with android dev and test perspective
Getting started with android   dev and test perspectiveGetting started with android   dev and test perspective
Getting started with android dev and test perspectiveGunjan Kumar
 
Mobile Enterprise Applications
Mobile Enterprise ApplicationsMobile Enterprise Applications
Mobile Enterprise ApplicationsJason Conger
 
Android Evolution, AppForum 2014, Brussels, Friedger Müffke
Android Evolution, AppForum 2014, Brussels, Friedger MüffkeAndroid Evolution, AppForum 2014, Brussels, Friedger Müffke
Android Evolution, AppForum 2014, Brussels, Friedger MüffkeFriedger Müffke
 
Android tutorial
Android tutorialAndroid tutorial
Android tutorialAbid Khan
 
600.250 UI Cross Platform Development and the Android Security Model
600.250 UI Cross Platform Development and the Android Security Model600.250 UI Cross Platform Development and the Android Security Model
600.250 UI Cross Platform Development and the Android Security ModelMichael Rushanan
 
Android Lab Mannual 18SUITSP5.docx
Android Lab Mannual 18SUITSP5.docxAndroid Lab Mannual 18SUITSP5.docx
Android Lab Mannual 18SUITSP5.docxkarthikaparthasarath
 
Mobile application and Game development
Mobile application and Game developmentMobile application and Game development
Mobile application and Game developmentWomen In Digital
 
Optimizing Apps for Better Performance
Optimizing Apps for Better PerformanceOptimizing Apps for Better Performance
Optimizing Apps for Better PerformanceElif Boncuk
 
Manish Chasta - Securing Android Applications
Manish Chasta - Securing Android ApplicationsManish Chasta - Securing Android Applications
Manish Chasta - Securing Android ApplicationsPositive Hack Days
 
Tips & tricks for sharing C# code on iOS, Android and Windows Phone by Jaime ...
Tips & tricks for sharing C# code on iOS, Android and Windows Phone by Jaime ...Tips & tricks for sharing C# code on iOS, Android and Windows Phone by Jaime ...
Tips & tricks for sharing C# code on iOS, Android and Windows Phone by Jaime ....NET Conf UY
 
I phone app develoment ppt
I phone app develoment   pptI phone app develoment   ppt
I phone app develoment pptsagaroceanic11
 
I phone app develoment ppt
I phone app develoment   pptI phone app develoment   ppt
I phone app develoment pptsagaroceanic11
 
Getting Started with Android 1.5
Getting Started with Android 1.5Getting Started with Android 1.5
Getting Started with Android 1.5Gaurav Kohli
 
Android interview questions and answers
Android interview questions and answersAndroid interview questions and answers
Android interview questions and answerskavinilavuG
 

Semelhante a Droidcon Turin 2015 - Android wear sdk introduction (20)

Getting started with android dev and test perspective
Getting started with android   dev and test perspectiveGetting started with android   dev and test perspective
Getting started with android dev and test perspective
 
Mobile Enterprise Applications
Mobile Enterprise ApplicationsMobile Enterprise Applications
Mobile Enterprise Applications
 
Android Evolution, AppForum 2014, Brussels, Friedger Müffke
Android Evolution, AppForum 2014, Brussels, Friedger MüffkeAndroid Evolution, AppForum 2014, Brussels, Friedger Müffke
Android Evolution, AppForum 2014, Brussels, Friedger Müffke
 
Android tutorial
Android tutorialAndroid tutorial
Android tutorial
 
Android tutorial1
Android tutorial1Android tutorial1
Android tutorial1
 
600.250 UI Cross Platform Development and the Android Security Model
600.250 UI Cross Platform Development and the Android Security Model600.250 UI Cross Platform Development and the Android Security Model
600.250 UI Cross Platform Development and the Android Security Model
 
Android Lab Mannual 18SUITSP5.docx
Android Lab Mannual 18SUITSP5.docxAndroid Lab Mannual 18SUITSP5.docx
Android Lab Mannual 18SUITSP5.docx
 
Mobile application and Game development
Mobile application and Game developmentMobile application and Game development
Mobile application and Game development
 
Android Minnebar
Android MinnebarAndroid Minnebar
Android Minnebar
 
Android Intro
Android IntroAndroid Intro
Android Intro
 
Optimizing Apps for Better Performance
Optimizing Apps for Better PerformanceOptimizing Apps for Better Performance
Optimizing Apps for Better Performance
 
Manish Chasta - Securing Android Applications
Manish Chasta - Securing Android ApplicationsManish Chasta - Securing Android Applications
Manish Chasta - Securing Android Applications
 
Tips & tricks for sharing C# code on iOS, Android and Windows Phone by Jaime ...
Tips & tricks for sharing C# code on iOS, Android and Windows Phone by Jaime ...Tips & tricks for sharing C# code on iOS, Android and Windows Phone by Jaime ...
Tips & tricks for sharing C# code on iOS, Android and Windows Phone by Jaime ...
 
Android Stsucture
Android StsuctureAndroid Stsucture
Android Stsucture
 
I phone app develoment ppt
I phone app develoment   pptI phone app develoment   ppt
I phone app develoment ppt
 
I phone app develoment ppt
I phone app develoment   pptI phone app develoment   ppt
I phone app develoment ppt
 
Android
AndroidAndroid
Android
 
Getting Started with Android 1.5
Getting Started with Android 1.5Getting Started with Android 1.5
Getting Started with Android 1.5
 
Resume
ResumeResume
Resume
 
Android interview questions and answers
Android interview questions and answersAndroid interview questions and answers
Android interview questions and answers
 

Mais de Michelantonio Trizio

[App devcon 18] Brace yourself with Android Architecture Components
[App devcon 18] Brace yourself with Android Architecture Components[App devcon 18] Brace yourself with Android Architecture Components
[App devcon 18] Brace yourself with Android Architecture ComponentsMichelantonio Trizio
 
How to deploy a Java application on Google App engine Flexible environment
How to deploy a Java application on Google App engine Flexible environmentHow to deploy a Java application on Google App engine Flexible environment
How to deploy a Java application on Google App engine Flexible environmentMichelantonio Trizio
 

Mais de Michelantonio Trizio (9)

[App devcon 18] Brace yourself with Android Architecture Components
[App devcon 18] Brace yourself with Android Architecture Components[App devcon 18] Brace yourself with Android Architecture Components
[App devcon 18] Brace yourself with Android Architecture Components
 
Android Architecture components
Android Architecture componentsAndroid Architecture components
Android Architecture components
 
Primi passi con Project Tango
Primi passi con Project TangoPrimi passi con Project Tango
Primi passi con Project Tango
 
How to deploy a Java application on Google App engine Flexible environment
How to deploy a Java application on Google App engine Flexible environmentHow to deploy a Java application on Google App engine Flexible environment
How to deploy a Java application on Google App engine Flexible environment
 
Open street map
Open street mapOpen street map
Open street map
 
Fonti informative sugli Open Data
Fonti informative sugli Open DataFonti informative sugli Open Data
Fonti informative sugli Open Data
 
About open data
About open dataAbout open data
About open data
 
20131123 open bsk@open
20131123 open bsk@open20131123 open bsk@open
20131123 open bsk@open
 
Startup weekend bootcamp
Startup weekend bootcampStartup weekend bootcamp
Startup weekend bootcamp
 

Último

Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
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 Takeoffsammart93
 
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.pdfsudhanshuwaghmare1
 
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 WorkerThousandEyes
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
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 FMESafe Software
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 

Último (20)

Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
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
 
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
 
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
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
+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...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
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
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 

Droidcon Turin 2015 - Android wear sdk introduction