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

Jump starting your Android development

Jump starting your Android development

Guest lecture at University of Bristol Computer science course.

Slides are copyright Scott Alexander-Bown 2015

Scott Alexander-Bown

November 25, 2015
Tweet

More Decks by Scott Alexander-Bown

Other Decks in Technology

Transcript

  1. JUMP STARTING ANDROID
    SCOTT ALEXANDER-BOWN
    @scottyab

    View Slide

  2. TEXT
    @scottyab

    View Slide

  3. • Lead Android Dev (remote) at Intohand
    • Co-Author - Android Security Cookbook
    • Co-Founder of SWmobile
    Scott Alexander-Bown
    @scottyab

    View Slide

  4. TEXT
    AGENDA
    ▸Getting started (with app development)
    ▸Development tips and tricks
    ▸Sample apps
    ▸3rd party services
    ▸Q&A
    @scottyab

    View Slide

  5. GETTING STARTED

    View Slide

  6. View Slide

  7. View Slide

  8. View Slide

  9. View Slide

  10. View Slide

  11. TEXT
    TESTING
    ▸ 3G/4G and Wifi (and without connection)
    ▸ Use emulators (geny motion)
    ▸ But use real devices
    ▸ Beta test
    ▸ Friends
    ▸ Family
    ▸ Helpful customers
    @scottyab

    View Slide

  12. TEXT
    TIPS
    ▸ Lock to portrait
    ▸ Focus on limited devices
    ▸ Test on demo devices
    ▸ Target SDK 15+ (maybe even 21+)
    ▸ String cont for intent extras / pref keys
    ▸ Avoid Child Fragments
    @scottyab

    View Slide

  13. TIPS AND TRICKS

    View Slide

  14. View Slide

  15. NAV MENU
    SNACKBAR
    TABS
    COORDINATOR
    FLOATING ACTION BUTTON
    MORE…
    compile 'com.android.support:design:22.2.0'
    UI:DESIGN SUPPORT LIB

    View Slide

  16. https://github.com/JakeWharton/butterknife
    UI: BUTTER KNIFE

    View Slide

  17. ASYNC LOAD IMAGES
    TRANSFORM
    https://github.com/square/picasso
    UI: PICASSO

    View Slide

  18. CONVERT JAVA OBJECTS
    INTO JSON AND BACK
    https://github.com/google/gson
    API: GSON

    View Slide

  19. TYPE-SAFE HTTP CLIENT
    MAKES APIS EASY
    SIMPLE ASYNC
    https://github.com/square/retrofit
    API: RETROFIT

    View Slide

  20. View Slide

  21. https://github.com/greenrobot/EventBus
    ASYNC: EVENT BUS

    View Slide

  22. SIMPLE API
    AES-GCM
    FAST
    https://github.com/facebook/conceal
    SECURITY: CONCEAL

    View Slide

  23. ON-TOP OF SQLITE
    OBJECT BASED
    NO SQL
    SUPPORTS ENCRYPTION
    https://realm.io/news/realm-for-android/
    DATA: RELAM

    View Slide

  24. SIMPLE LOCATION API
    GEO FENCING
    GEO CODING
    ACTIVITY RECOGNITION
    https://github.com/mrmans0n/smart-location-lib
    LOCATION: SMART LOCATION LIB

    View Slide

  25. compile 'com.google.android.gms:play-services:8.1.0'
    GOOGLE PLAY SERVICES
    Analytics and Ads
    GCM (push)
    Google Maps
    Cast
    Play Games services
    Wallet
    Android Wear
    Google Drive
    Fitness

    View Slide

  26. T
    ANDROID-ARSENAL.COM

    View Slide

  27. SAMPLE APPS

    View Slide

  28. TEXT
    SAMPLE APPS
    ▸ github.com/google/iosched
    ▸ github.com/googlesamples/android-topeka
    ▸ github.com/nickbutcher/plaid
    ▸ github.com/chrisbanes/philm
    ▸ github.com/JakeWharton/u2020
    ▸ github.com/grandstaish/hello-mvp-dagger-2
    @scottyab

    View Slide

  29. 3RD PARTY SERVICES
    (MBAAS)

    View Slide

  30. MBAAS??? WTF?

    View Slide

  31. OWNED BY FACEBOOK
    PARSE.COM
    ▸ Data store
    ▸ Users
    ▸ Accounts
    ▸ Social auth (twitter/facebook)
    ▸ Cloud code / hosting
    ▸ Push notifications
    ▸ Analytics
    ▸ Multi platform (incl embedded C)

    View Slide

  32. OWNED BY GOOGLE
    FIREBASE
    ▸ Realtime Database
    ▸ Authentication
    ▸ email & password, Facebook, Twitter, GitHub, Google, anonymous auth
    ▸ Hosting

    View Slide

  33. TWITTER’S FABRIC PLATFORM

    View Slide

  34. THE END?

    View Slide

  35. TEXT
    RESOURCES
    ▸ Design inspiration http://www.materialup.com
    ▸ OWASP Mobile security risks http://bit.ly/owaspmobile
    ▸ Android security cookbook [my book] http://bit.ly/MscEFu
    ▸ The Busy Coder's Guide to Android Development https://
    wares.commonsware.com/#scottyab (referral link)
    ▸ GCM network manager - https://developers.google.com/cloud-messaging/
    network-manager
    @scottyab

    View Slide

  36. QUESTIONS?
    THANKS
    meetup.com/swmobile
    github/scottyab
    @scottyab
    [email protected]

    View Slide