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 full-size slide

  2. Merelbeke
    Kon5ch
    Hasselt

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  5. • 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 full-size slide

  6. Android Studio

    View full-size slide

  7. Android Emulator

    View full-size slide

  8. Postman / Paw

    View full-size slide

  9. Git / Sourcetree

    View full-size slide

  10. Confluence / Jira

    View full-size slide

  11. Build Server / Fabric Beta

    View full-size slide

  12. Slack / Discord

    View full-size slide


  13. 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 full-size slide

  14. Brede Adoptie

    View full-size slide

  15. Brede Adoptie

    View full-size slide

  16. Brede Adoptie

    View full-size slide

  17. Brede Adoptie

    View full-size slide

  18. Brede Adoptie

    View full-size slide

  19. Brede Adoptie

    View full-size slide

  20. Vele versies in omloop

    View full-size slide

  21. • 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 full-size slide

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

    View full-size slide

  23. • 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 full-size slide

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

    View full-size slide

  25. • Ac@vity - toont views op het scherm
    • Service - beheert langdurige achtergrondtaken
    • Content Provider - delen verzameling data
    • Broadcast Receiver - ontvangen (systeem)meldingen
    Framework Componenten

    View full-size slide

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

    View full-size slide

  27. • 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 full-size slide

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

    View full-size slide

  29. • 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 full-size slide

  30. • 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 full-size slide

  31. • 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 full-size slide

  32. Kotlin is Null safe!

    View full-size slide

  33. Na development

    View full-size slide

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

    View full-size slide

  35. Populaire libraries

    View full-size slide

  36. Picasso / Glide

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  39. • 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 full-size slide

  40. Native VS Hybrid
    +
    of

    View full-size slide

  41. • 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 full-size slide

  42. • 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 full-size slide

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

    View full-size slide