Slide 1

Slide 1 text

Kickstart your Android development BCS Bristol: Nov 2013 Scott Alexander-Bown @scottyab

Slide 2

Slide 2 text

Scott Alexander-Bown ● Senior Developer @viaForensics ○ Consultancy & training for Independently Mobile ● Co-author Android Security Cookbook ● Co-founder SWmobile meetup group ○ meetup.com/swmobile

Slide 3

Slide 3 text

‘Blinkered’ fan boy? FYI: That’s not me

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

Android in 60 seconds ● Open source ● Linux based ● Java ● Permissions ● Resources framework ○ i.e build for variety ● Side load apps

Slide 6

Slide 6 text

Ecosystem: Android is No.1 https://commons.wikimedia.org/wiki/File:World_Wide_Smartphone_Sales_Share.png

Slide 7

Slide 7 text

Ecosystem: Playstore ● $25 developer registration fee ● No approval ● Alpha and Beta distribution ● Staggered distribution ● Automated security testing/monitoring ● Alternative app stores

Slide 8

Slide 8 text

Development Environment

Slide 9

Slide 9 text

Development Tools ● Eclipse ○ with Android Developer Tools plugin ● IntelliJ IDEA ○ with Android plugin ● Android Studio ○ Bleeding edge

Slide 10

Slide 10 text

Quick wins: open source community ● SQLCipher ● Google GSON ● Anything from Square ● Fundapter ● CommonsWare ● AppMsg (Crouton) ● More: inappsquared.com/devappsdirect.html

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

Pro tips ● Fragments (componentize your UI) ● AsyncTask use an IntentService ● EventBus (component communication) ● Use styles, dimens and colors.xml ● dip not px

Slide 13

Slide 13 text

Fragmentation??? This. Is. Differentiation!!!

Slide 14

Slide 14 text

Platform versions November 1, 2013

Slide 15

Slide 15 text

Quick wins: for fragmentation ● Android compatibility library ● Google Play services ● NineOldAndroids ● HoloEverywhere

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

Design

Slide 19

Slide 19 text

Design patterns

Slide 20

Slide 20 text

Design: Inspiration ● Google Playstore ● Gmail, Google+ & others ● Pocket ● Expedia ● Timely ● More examples: ○ androidniceties.tumblr.com ○ android-app-patterns.com

Slide 21

Slide 21 text

Design: resources ● developer.android.com/design ● android-holo-colors.com ● Android asset studio bit.ly/andasset ○ Icons ○ Action bar style ○ Device frame generator

Slide 22

Slide 22 text

Vs iOS

Slide 23

Slide 23 text

● 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

Slide 24

Slide 24 text

● All apps are equal ● The community What I love about Android

Slide 25

Slide 25 text

Open source

Slide 26

Slide 26 text

Android everywhere

Slide 27

Slide 27 text

Thanks for listening

Slide 28

Slide 28 text

Q&A | Contact | Feedback ● [email protected] ● meetup.com/swmobile ● github/scottyab ● @scottyab

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

Bonus: Google Play Games Services ● Android, iOS and Web ● Leaderboards ● Multi-player ● Achievements ● Cloud save ● Anti-Piracy

Slide 31

Slide 31 text

Bonus: Look forward, not back