Kickstart your Android development

Kickstart your Android development

In this session Scott will help you get started in the fantastic world of Android development. We'll short cut some of the common mistakes and leverage the awesome work of the Android development community. We'll take a whistle stop tour of some of the best libraries to supe up your app, make it look great and most importantly save a stack of development time! I'll also share personal experiences of making apps and comparisons with iOS. They'll be something for everyone form beginner to expert.

For the Autumn School: Mobile App Development hosted by The Bristol Branch of the BCS.

Licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.

B0df9ca1f9fcd4834a0c5a09ac8af370?s=128

Scott Alexander-Bown

November 13, 2013
Tweet

Transcript

  1. 2.

    Scott Alexander-Bown • Senior Developer @viaForensics ◦ Consultancy & training

    for Independently Mobile • Co-author Android Security Cookbook • Co-founder SWmobile meetup group ◦ meetup.com/swmobile
  2. 4.

    Kickstarter • Android in 60 seconds • Ecosystem • Development

    environment • Dev tips & quick wins ◦ 3rd party libs ◦ MBASS ◦ Fragmentation • Design • Testing • Vs iOS • What I love about Android
  3. 5.

    Android in 60 seconds • Open source • Linux based

    • Java • Permissions • Resources framework ◦ i.e build for variety • Side load apps
  4. 7.

    Ecosystem: Playstore • $25 developer registration fee • No approval

    • Alpha and Beta distribution • Staggered distribution • Automated security testing/monitoring • Alternative app stores
  5. 9.

    Development Tools • Eclipse ◦ with Android Developer Tools plugin

    • IntelliJ IDEA ◦ with Android plugin • Android Studio ◦ Bleeding edge
  6. 10.

    Quick wins: open source community • SQLCipher • Google GSON

    • Anything from Square • Fundapter • CommonsWare • AppMsg (Crouton) • More: inappsquared.com/devappsdirect.html
  7. 11.

    Quick wins: mbass • User auth/Social login (google, fb, twitter)

    • User management • Data storage ◦ save and sync data objects ◦ files (large files) • Analytics • Push messaging
  8. 12.

    Pro tips • Fragments (componentize your UI) • AsyncTask use

    an IntentService • EventBus (component communication) • Use styles, dimens and colors.xml • dip not px
  9. 15.

    Quick wins: for fragmentation • Android compatibility library • Google

    Play services • NineOldAndroids • HoloEverywhere
  10. 16.

    Getting help • Android docs and training • Androiddevweekly.com •

    Stackoverflow • Google plus (bit.ly/g_andev) • YouTube ◦ DevBytes ◦ ADiA ◦ Google IO • Busy coders guide to Android ◦ by Mark Murphy
  11. 17.

    Testing • Hardware ◦ Cheap Samsung - Ace / S3

    ◦ Nexus 5 ◦ 10” tablet - Nexus 10 • Emulator ◦ GenyMotion.com • Services ◦ Crowd source bug teseting - UTest.com ◦ Install test of 300+ devices - Apkudo.com ◦ Cloud based UI testing - TestDroid.com ◦ Errorlytics - Crittercism.com
  12. 18.
  13. 20.

    Design: Inspiration • Google Playstore • Gmail, Google+ & others

    • Pocket • Expedia • Timely • More examples: ◦ androidniceties.tumblr.com ◦ android-app-patterns.com
  14. 21.

    Design: resources • developer.android.com/design • android-holo-colors.com • Android asset studio

    bit.ly/andasset ◦ Icons ◦ Action bar style ◦ Device frame generator
  15. 22.
  16. 23.

    • Android Win ◦ Device choice ◦ Customisation ◦ True

    background tasks ◦ NFC ◦ Resources framework • iOS Win ◦ Limited devices ◦ UI consistency ◦ Users upgrade to latest OS ◦ Clients, Managers, Designers have/know them ◦ Paid apps do better Vs iOS
  17. 29.

    Bonus: Alternatives to Java • C/C++ via the Native Developer

    Kit (NDK) • Web app • Hybrid app ◦ Web tech i.e PhoneGap ◦ Cross compile i.e AppCelerator • Games ◦ Unity ◦ Marmalade ◦ Lua
  18. 30.

    Bonus: Google Play Games Services • Android, iOS and Web

    • Leaderboards • Multi-player • Achievements • Cloud save • Anti-Piracy