Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Kick start your Android app development - Brist...

Kick start your Android app development - Bristol Uni Appathon 2013

Talk for the Bristol Uni students doing the App-a-thon in March 2013.

Scott Alexander-Bown

February 19, 2013
Tweet

More Decks by Scott Alexander-Bown

Other Decks in Technology

Transcript

  1. Kick start your Android App Bristol Uni Appathon 2013 by

    Scott Alexander-Bown Head of Android
  2. Agenda: •  Android in ~60 seconds •  Getting started • 

    Design •  3rd party libraries •  Backend, Web services •  General tips •  Q&A
  3. me •  Scott Alexander-Bown •  Head of Android at Mubaloo

    •  SWMobile meetup group •  Follow me @scottyab Favourite apps
  4. Android in ~60 secs •  Builds on your existing Java

    knowledge o  Inner classes o  Threading o  Exceptions •  Open source based Linux and Java •  Background tasks/services are supported •  Permissions •  Resource •  All apps are equal
  5. Differentiation and fragmentation •  Target latest v17 (but remember to

    test lower versions) •  Min SDK 7 / Android version 2.1. •  Target the most common (HDPI - 800x480)
  6. Where to go when you get stuck? •  Stackoverflow -

    ‘Android‘ tag •  Twitter #androiddev or #andev •  Anddev.org •  http://androiddevweekly.com •  https://developers.google.com/events/io/
  7. Easy design WIN! •  Android asset studio by Roman Nurik

    o  Launcher icons o  Action bar and tab icons o  Notification icons o  Tab icons (pre-Android 3.0) o  Menu icons (pre-Android 3.0) https://android-ui-utils.googlecode.com/hg/asset-studio/dist/ •  Android Action Bar Style Generator by Jeff Gilfelt http://jgilfelt.github.com/android-actionbarstylegenerator/ •  Holo Colors by Jérôme Van Der Linden http://android-holo-colors.com/
  8. Android Bootstrap •  Help get new Android applications off the

    ground quickly with minimal effort •  http://androidbootstrap.com •  http://androidkickstartr.com/ •  Usage o  Enter app name and package - hit generate
  9. Actionbar Sherlock (ABS) •  Provides backwards compatibility for Action bar

    o  Min Android 2.1 •  Get it - http://actionbarsherlock.com •  Library project o  Extension of the Android Compatibility Library(ACL) •  Usage o  Extend 'Sherlock' Activities o  use getSupportActionBar() o  inherit Theme.Sherlock •  Author: Jake Wharton •  Licence: Apache Licence 2.0
  10. Android Query •  Lightweight library for doing asynchronous tasks and

    manipulating UI elements in Android •  Get it - https://github.com/androidquery/androidquery •  Highlights o  Async Image download (with cache) o  Ajax with GSON transformer o  In-app version check o  Quick way of manipulating views o  Simple authentication mechanism •  Author: Peter Liu •  Licence: Apache Licence 2.0
  11. CommonsWare Android Components •  General extensions of system classes • 

    Get them - http://commonsware.com/cwac •  Highlights o  cwac-merge - Merge adapter o  cwac-endless - Endless list adapter o  cwac-wakeful - Intent service that keeps the device awake while processing task. o  cwac-touchlist - Drag and drop o  cwac-prefs - Secure Prefs (uses SQLCipher for Android) •  Author: Mark Murphy •  Licence: Apache Licence 2.0
  12. Fly in/Sliding menu •  Seen in Google plus, Facebook, Evernote

    etc •  Get it - https://github.com/jfeinstein10/SlidingMenu •  Think about o  back stack o  notifications (See Crouton) •  Alternative: by Greg Billetdeaux •  Author: Jeremy Feinstein •  Licence: Apache Licence 2.0
  13. Nine Old Androids •  Honeycomb animation API on all versions

    of the platform back to 1.0 •  Get it - http://nineoldandroids.com/ •  Integrate as library •  Author: Google / Jake Wharton •  Licence: Apache Licence 2.0
  14. Little fluffy location library •  Location updates broadcasted to your

    app periodically o  Works best with 2.2 and up o  Great for widgets •  Get it - http://code.google.com/p/little-fluffy-location-library/ •  Usage: o  Include library o  Configure manifest o  Initialise in Application onCreate o  Setup broadcastreceiver to listen for updates •  Author: Kenton Price •  Licence: Apache Licence 2.0
  15. And there's more... •  Tape (Queuing) - Square •  Dagger

    (fast DI framework) - Square •  Polaris (enhanced Map view) - Cyrill Mottier •  Ignition (AOP location library) - Matthias, Stefano, & Michael •  Android image loader - Novoda •  PhotoView (enhanced ImageView) - Chris Banes •  QuickSnap (camera app) - Lightbox •  Holo Everywhere - Christophe Versieux
  16. Finding out more •  Android UI patterns o  app on

    play store •  T.U.A.L o  http://www.theultimateandroidlibrary.com •  Open Intents o  http://www.openintents.org/en/libraries •  Dev weekly Email o  http://androiddevweekly.com
  17. Sweet sweet apis... Last.fm Qype Twitter 4Sq Facebook Google+ YouTube/Vimeo

    Website RSS feed Amazon Goodreads OpenMenu Skype Google Maps Twillio Flickr Ebay/Paypal
  18. Parsing made easy •  Google GSON o  JSON in ->

    POJO out o  POJO in -> JSON out •  Get it - http://code.google.com/p/google-gson/ •  Simple XML o  XML in -> POJO out o  POJO in -> XML out •  Get it - http://simple.sourceforge.net/
  19. Mobile backend as a service (MBaaS) Serverless apps! o  Data

    storage o  User management o  Push notifications o  SDK §  Android §  HTML5
  20. Lists, lists, lists... •  Efficient/smooth lists - see view holder

    •  Async loading of images - Aquery •  Endless list •  2 way list •  Parallax scroll •  Grid view •  View pager
  21. Summary •  Android in ~60 seconds •  Getting started in

    dev and design •  3rd party libraries •  Backend, Web services •  General tips