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. • 6,4 miljoen ac5eve accounts • 45 000 Android /

    dag • 70 000 iOS / dag • > 50% revenue op mobile
  2. • 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
  3. • 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?
  4. • 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
  5. • Vroeger Eclipse + plugin • Nu voornamelijk Android Studio

    • Gebaseerd op IntelliJ IDEA • Gra5s Android Studio
  6. • 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
  7. • Ac@vity - toont views op het scherm • Service

    - beheert langdurige achtergrondtaken • Content Provider - delen verzameling data • Broadcast Receiver - ontvangen (systeem)meldingen Framework Componenten
  8. • Componenten - lijst alle framework componenten • Permissions -

    internet, camera, contacten, … • Hardware - bluetooth, camera, … • Metadata - data voor libraries of eigen gebruik Android Manifest
  9. • 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 …
  10. • 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
  11. • 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
  12. • 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
  13. • Tes5ng • Fabric Beta • Google Play Alpha /

    Beta • Produc5e Release • Developer account nodig $25 • Opvolging • Google Developer Console • Fabric Crashly5cs Na development
  14. • Trage app is reden tot uninstall • 100 -

    200ms voelt traag aan • Android helpt je • NetworkOnMainThreadExcep5on • ANR dialoog Hou apps snel
  15. • 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
  16. • 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
  17. • 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