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

Android Introduction 3.0 by Siebe

Android Introduction 3.0 by Siebe

An introduction to Android by Siebe Sysmans.

AppFoundry

March 01, 2019
Tweet

More Decks by AppFoundry

Other Decks in Programming

Transcript

  1. Siebe Sysmans
    ANDROID CONSULTANT
    [email protected]
    Android Introductie

    View Slide

  2. View Slide

  3. View Slide

  4. View Slide

  5. Merelbeke
    Kon5ch
    Hasselt

    View Slide

  6. View Slide

  7. Projecten

    View Slide

  8. • 1/10 bij AppFoundry
    • Stagebegeleiding
    • Juniors begeleiden
    • Host talks
    • Jobbeurzen
    • …

    View Slide

  9. View Slide

  10. View Slide

  11. View Slide

  12. • 6,4 miljoen ac5eve accounts
    • 45 000 Android / dag
    • 70 000 iOS / dag
    • > 50% revenue op mobile

    View Slide

  13. • Scrum
    • Elke dag 11:45 → Standup
    • Waar is iedereen mee bezig
    • Is iemand geblokkeerd
    • Kan iemand ergens helpen
    • Veel mensen remote
    • Retro om de 3 weken
    • Geleid door scrum master

    View Slide

  14. Side Events

    View Slide

  15. View Slide

  16. View Slide

  17. View Slide

  18. View Slide

  19. View Slide

  20. Tools

    View Slide

  21. Android Studio

    View Slide

  22. Android Emulator

    View Slide

  23. Postman / Paw

    View Slide

  24. Git / Sourcetree

    View Slide

  25. Confluence / Jira

    View Slide

  26. Build Server / Fabric Beta

    View Slide

  27. Sketch

    View Slide

  28. Slack / Discord

    View Slide

  29. Android

    View Slide


  30. 2003 → Android Inc
    • Focus was camera

    2005 → Google
    • Onderhouden door OHA
    • Open standaard voor mobile
    • T-Mobile, eBay, Google, NVIDIA, …
    • Open Source
    Wat is Android?

    View Slide

  31. Brede Adoptie

    View Slide

  32. Brede Adoptie

    View Slide

  33. Brede Adoptie

    View Slide

  34. Brede Adoptie

    View Slide

  35. Brede Adoptie

    View Slide

  36. Brede Adoptie

    View Slide

  37. Vele versies in omloop

    View Slide

  38. • Android Apps draaien op DVM
    • Na5ve geprogrammeerd in
    • Java
    • Java 6 met kleine compa5biliteit van 7 en 8
    • Kotlin
    • Moderne taal door Jetbrains in 2011
    • Officieel ondersteund door Google sinds 2017
    Android Technologie

    View Slide

  39. • Vroeger Eclipse + plugin
    • Nu voornamelijk Android Studio
    • Gebaseerd op IntelliJ IDEA
    • Gra5s
    Android Studio

    View Slide

  40. • Android Virtual Device
    • Gebundeld bij Android Studio
    • Vroeger héél traag, snel sinds Android Studio 2
    • Alterna5even
    • Genymo5on
    • Echt device
    • Voordeel: sneller, werkelijkheid
    • Nadeel: verbonden, nadelig voor baderij
    Android Emulator

    View Slide

  41. APK architectuur
    Framework
    Componenten
    Android
    Manifest
    Resources
    Android Package
    Gradle
    Build

    View Slide

  42. [email protected] - toont views op het scherm
    • Service - beheert langdurige achtergrondtaken
    • Content Provider - delen verzameling data
    • Broadcast Receiver - ontvangen (systeem)meldingen
    Framework Componenten

    View Slide

  43. • Componenten - lijst alle framework componenten
    • Permissions - internet, camera, contacten, …
    • Hardware - bluetooth, camera, …
    • Metadata - data voor libraries of eigen gebruik
    Android Manifest

    View Slide

  44. • Gescheiden van code
    • Verschillende resources voor verschillende configura5es
    Resources
    drawable/
    mipmap/
    • Bitmap files (png, jpg, gif, …)
    • XML’s drawables
    layout/ XML’s voor layouts
    menu/ XML’s voor menu’s (option menu, context menu, …)
    raw/ Binaire bestanden (video, geluid, …)
    values/
    XML’s voor vertalingen
    XML’s voor afmetingen
    XML’s voor …

    View Slide

  45. Resources Gebruiken
    @
    /
    R.
    type
    .
    naam
    XML Java / Kotlin

    View Slide

  46. • XML
    • @string/welcome_message
    • @drawable/app_icon
    • @dimen/title_padding
    • Java / Kotlin
    • R.string.welcome_message
    • R.drawable.app_icon
    • R.dimen.title_padding
    Resources Gebruiken Voorbeelden

    View Slide

  47. • Density Independent Pixels
    • Oplossing voor vele verschillende schermen
    • 1 dp kan meer pixels bevaden
    • Text gebruikt sp - user instelbaar
    Wat is dip of dp?
    mdpi xhdpi xxxhdpi

    View Slide

  48. • Hoe wordt de app gebuild
    • SDK Versie
    • Signing
    • Welke dependencies
    • Wat moet er gebuild worden
    • Produc5e, staging, …
    • Voor wie is de build
    • Minimum / Target SDK
    Gradle

    View Slide

  49. Kotlin

    View Slide

  50. View Slide

  51. View Slide

  52. View Slide

  53. View Slide

  54. View Slide

  55. View Slide

  56. View Slide

  57. View Slide

  58. Kotlin is Null safe!

    View Slide

  59. Hands On

    View Slide

  60. Na development

    View Slide

  61. • Tes5ng
    • Fabric Beta
    • Google Play Alpha / Beta
    • Produc5e Release
    • Developer account nodig $25
    • Opvolging
    • Google Developer Console
    • Fabric Crashly5cs
    Na development

    View Slide

  62. Populaire libraries

    View Slide

  63. Butterknife

    View Slide

  64. Picasso / Glide

    View Slide

  65. Dagger 2

    View Slide

  66. Retrofit

    View Slide

  67. • DBFlow
    • ORMLite
    • GreenDao
    • SugarORM
    • Realm
    • …
    Database

    View Slide

  68. Tips

    View Slide

  69. • Trage app is reden tot uninstall
    • 100 - 200ms voelt traag aan
    • Android helpt je
    • NetworkOnMainThreadExcep5on
    • ANR dialoog
    Hou apps snel

    View Slide

  70. • Alle database interac5es duren “lang”
    • Alle netwerk interac5es duren “lang”
    • Mobiel toestel heep een lage bandwidth met een hoge
    latency
    • → gebruik services, AsyncTask, threads, …
    Hou apps snel

    View Slide

  71. Native VS Hybrid
    +
    of

    View Slide

  72. • Meer van systeem vragen? Sneller na5ve.
    • Simpel vuilniskalender? → Eerder hybrid?
    • VR game? → Eerder na5ve?
    • Welke kennis heb je al?
    • Welk budget heb je?
    Native VS Hybrid

    View Slide

  73. Stage

    View Slide

  74. • Verwach5ng kennis
    • Kennis basis componenten + views + “listeners”
    • Weten om te gaan met gradle + dependencies
    • API requests kunnen maken (Retrofit?)
    • Goede kennis van Java of Kotlin
    • Pluspunten:
    • Weten wat MVVM is en het kunnen toepassen
    Stage

    View Slide

  75. Questions?

    View Slide

  76. Siebe Sysmans
    ANDROID CONSULTANT
    [email protected]
    Contact Details
    AppFoundry
    KONTICH - HASSELT - MERELBEKE
    www.appfoundry.be
    +32 (0)3 871 99 66
    [email protected]

    View Slide