Top Banner
www.bignerdranch.com How Mobile SDKs Help You [email protected] www.bignerdranch.com Wednesday, June 19, 13
21

How Mobile SDKs Help You

May 13, 2022

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: How Mobile SDKs Help You

www.bignerdranch.com

How Mobile SDKs Help [email protected]

www.bignerdranch.com

Wednesday, June 19, 13

Page 2: How Mobile SDKs Help You

www.bignerdranch.com

Hi, I’m BolotBorn in the USSR, Kyrgyzstan

Studied in the USat Georgia Tech

@bolot

Tango and taido

Wednesday, June 19, 13

Page 3: How Mobile SDKs Help You

www.bignerdranch.com

Big Nerd Ranch★ BNR Atlanta: Galactic Headquarters★ BNR Europe★ BNR Training in Silicon Valley

Wednesday, June 19, 13

Page 4: How Mobile SDKs Help You

www.bignerdranch.com

What does SDK do for you?

Wednesday, June 19, 13

Page 5: How Mobile SDKs Help You

www.bignerdranch.com

Source: ifixit.com

Wednesday, June 19, 13

Page 6: How Mobile SDKs Help You

www.bignerdranch.com

ComplexityCPU, GPU

power management

gyroscopes

accelerometers

storage

radios, GPS, cameras

microphones

display, touchscreen, etc...Source: ifixit.com

Wednesday, June 19, 13

Page 7: How Mobile SDKs Help You

www.bignerdranch.com

ComplexityNetwork protocols

Audio/video codecs

Graphics

Device drivers

Process management

Memory management

Security

Power management, etc...

Source: http://developer.android.com/

Wednesday, June 19, 13

Page 8: How Mobile SDKs Help You

www.bignerdranch.com

ComplexityAPIs

App lifecycle management

User interface

User experience

Services

Distribution

Wednesday, June 19, 13

Page 9: How Mobile SDKs Help You

www.bignerdranch.com

Mobile: 1993 vs 2013

http://dashburst.com/humor/technology-in-1993-vs-2013/

Wednesday, June 19, 13

Page 10: How Mobile SDKs Help You

www.bignerdranch.com

ToolsIDE

Editor

Compiler

UI Designer

Test runner

Programming language

Wednesday, June 19, 13

Page 11: How Mobile SDKs Help You

www.bignerdranch.com

ToolsDiagnostics

Debugging

Profiling

Network

Energy

CPU

Wednesday, June 19, 13

Page 12: How Mobile SDKs Help You

www.bignerdranch.com

Frameworks, librariesClass libraries

Location, Maps (Google, Apple, Bing)

Graphics, Open GL ES

Accelerometers

Data, SQLite

Wednesday, June 19, 13

Page 13: How Mobile SDKs Help You

www.bignerdranch.com

Developer resourcesSoftware design patterns

Best practices

Reusable components

Application templates and sample projects

Documentation, education

Human interface guidelines

Wednesday, June 19, 13

Page 14: How Mobile SDKs Help You

www.bignerdranch.com

Design

Source: http://apple.com/

Wednesday, June 19, 13

Page 15: How Mobile SDKs Help You

www.bignerdranch.com

Design

Source: http://developer.android.com/

Wednesday, June 19, 13

Page 16: How Mobile SDKs Help You

www.bignerdranch.com

Example: LocationCell identification

Cell triangulation

SIM, raw GSM

Wifi

GPS

Wednesday, June 19, 13

Page 17: How Mobile SDKs Help You

www.bignerdranch.com

Example: LocationiOS

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{ self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { _locationManager = [[CLLocationManager alloc] init]; [_locationManager setDelegate:self]; [_locationManager setDesiredAccuracy:kCLLocationAccuracyBest]; [_locationManager startUpdatingLocation]; } return self;}

- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations{ CLLocation *newLocation = [locations lastObject]; NSLog(@"%@", newLocation);}

Wednesday, June 19, 13

Page 18: How Mobile SDKs Help You

www.bignerdranch.com

Example: LocationAndroid

    public void startLocationUpdates() {        LocationManager lm = (LocationManager)mAppContext.getSystemService(Context.LOCATION_SERVICE);        PendingIntent pi = getLocationPendingIntent(true);        lm.requestLocationUpdates(0, 0, new Criteria(), pi);    }

    public void onReceive(Context context, Intent intent) {        Location loc = (Location)intent.getParcelableExtra(LocationManager.KEY_LOCATION_CHANGED);        onLocationReceived(loc);    }        protected void onLocationReceived(Location loc) {        Log.d(TAG, this + " Got location: " + loc.getLatitude() + ", " + loc.getLongitude());    }

Wednesday, June 19, 13

Page 19: How Mobile SDKs Help You

www.bignerdranch.com

Example: LocationWindows

{_geoLocator = new Geolocator();_geoLocator.PositionChanged += new Windows.Foundation.TypedEventHandler<Geolocator, PositionChangedEventArgs>(geolocator_PositionChanged);}

private void geolocator_PositionChanged(Geolocator sender, PositionChangedEventArgs args){ // Need to set map view on UI thread. this.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, new DispatchedHandler( () => { DisplayPosition(this, args); }));}

private void DisplayPosition(object sender, PositionChangedEventArgs args){ Location location = new Location(args.Position.Coordinate.Latitude, args.Position.Coordinate.Longitude);}

Wednesday, June 19, 13

Page 20: How Mobile SDKs Help You

www.bignerdranch.com

Distribution: Stores

Wednesday, June 19, 13

Page 21: How Mobile SDKs Help You

www.bignerdranch.com

How Mobile SDKs Help You

Bolot Kerimbaev [email protected]

19 June 2013

Wednesday, June 19, 13