12
James Clancey Senior Mobile Developer Xamarin [email protected] Xamarin.Mobile @jtclancey

Maximizing Code-Sharing with Xamarin.Mobile, James Clancey

  • Upload
    xamarin

  • View
    804

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Maximizing Code-Sharing with Xamarin.Mobile, James Clancey

James ClanceySenior Mobile [email protected]

Xamarin.Mobile

@jtclancey

Page 2: Maximizing Code-Sharing with Xamarin.Mobile, James Clancey
Page 3: Maximizing Code-Sharing with Xamarin.Mobile, James Clancey

Xamarin.Mobile.Geolocation

• Geolocator• Position

LatitudeLongitudeAccuracyAltitudeAltitude AccuracySpeedHeading

Page 4: Maximizing Code-Sharing with Xamarin.Mobile, James Clancey

Xamarin.Mobile.Contacts

• AddressBookRequestPermision

• ContactPhoneEmailAddressWebsiteRelationship

Page 5: Maximizing Code-Sharing with Xamarin.Mobile, James Clancey

Xamarin.Mobile.Media

• PhotosPick existingTake new photo

• VideoPick existingTake new video

Page 6: Maximizing Code-Sharing with Xamarin.Mobile, James Clancey

Code sharing

• Xamarin.Mobile lets you maximize Code Sharing• How can you apply this to your own apps?

Page 7: Maximizing Code-Sharing with Xamarin.Mobile, James Clancey

DEMO

Page 8: Maximizing Code-Sharing with Xamarin.Mobile, James Clancey

Xamarin.Mobile Api

• We take care of all the UI for you• Perfect for most use cases• Sometimes you need more control

Page 9: Maximizing Code-Sharing with Xamarin.Mobile, James Clancey

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

New API iOSvar picker = new MediaPicker();

MediaPickerController controller = picker.GetTakePhotoUI (new StoreCameraMediaOptions {! Name = "test.jpg",! Directory = "MediaPickerSample"} );

PresentViewController (controller, true, null);

controller.GetResultAsync().ContinueWith (t => {! // Dismiss the UI yourself! controller.DismissViewController (true, () => {! ! MediaFile file = t.Result;! } );!}, TaskScheduler.FromCurrentSynchronizationContext());

Page 10: Maximizing Code-Sharing with Xamarin.Mobile, James Clancey

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

New API Androidvar picker = new MediaPicker (this);

if (!picker.IsCameraAvailable)! Console.WriteLine ("No camera!");else {! var intent = picker.GetTakePhotoUI (new StoreCameraMediaOptions {! ! Name = "test.jpg",! ! Directory = "MediaPickerSample"! } );! StartActivityForResult (intent, 1);}

Page 11: Maximizing Code-Sharing with Xamarin.Mobile, James Clancey

Q&A

Page 12: Maximizing Code-Sharing with Xamarin.Mobile, James Clancey

THANK YOU