Android Introduction 3.0 by Siebe

Android Introduction 3.0 by Siebe

An introduction to Android by Siebe Sysmans.

103e1ebcacd620770cf32a36b9aba17e?s=128

AppFoundry

March 01, 2019
Tweet

Transcript

  1. Siebe Sysmans ANDROID CONSULTANT siebe.sysmans@appfoundry.be Android Introductie

  2. None
  3. None
  4. None
  5. Merelbeke Kon5ch Hasselt

  6. None
  7. Projecten

  8. • 1/10 bij AppFoundry • Stagebegeleiding • Juniors begeleiden •

    Host talks • Jobbeurzen • …
  9. None
  10. None
  11. None
  12. • 6,4 miljoen ac5eve accounts • 45 000 Android /

    dag • 70 000 iOS / dag • > 50% revenue op mobile
  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
  14. Side Events

  15. None
  16. None
  17. None
  18. None
  19. None
  20. Tools

  21. Android Studio

  22. Android Emulator

  23. Postman / Paw

  24. Git / Sourcetree

  25. Confluence / Jira

  26. Build Server / Fabric Beta

  27. Sketch

  28. Slack / Discord

  29. Android

  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?
  31. Brede Adoptie

  32. Brede Adoptie

  33. Brede Adoptie

  34. Brede Adoptie

  35. Brede Adoptie

  36. Brede Adoptie

  37. Vele versies in omloop

  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
  39. • Vroeger Eclipse + plugin • Nu voornamelijk Android Studio

    • Gebaseerd op IntelliJ IDEA • Gra5s Android Studio
  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
  41. APK architectuur Framework Componenten Android Manifest Resources Android Package Gradle

    Build
  42. • Ac@vity - toont views op het scherm • Service

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

    internet, camera, contacten, … • Hardware - bluetooth, camera, … • Metadata - data voor libraries of eigen gebruik Android Manifest
  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 …
  45. Resources Gebruiken @ / R. type . naam XML Java

    / Kotlin
  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
  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
  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
  49. Kotlin

  50. None
  51. None
  52. None
  53. None
  54. None
  55. None
  56. None
  57. None
  58. Kotlin is Null safe!

  59. Hands On

  60. Na development

  61. • Tes5ng • Fabric Beta • Google Play Alpha /

    Beta • Produc5e Release • Developer account nodig $25 • Opvolging • Google Developer Console • Fabric Crashly5cs Na development
  62. Populaire libraries

  63. Butterknife

  64. Picasso / Glide

  65. Dagger 2

  66. Retrofit

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

    • … Database
  68. Tips

  69. • Trage app is reden tot uninstall • 100 -

    200ms voelt traag aan • Android helpt je • NetworkOnMainThreadExcep5on • ANR dialoog Hou apps snel
  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
  71. Native VS Hybrid + of

  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
  73. Stage

  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
  75. Questions?

  76. Siebe Sysmans ANDROID CONSULTANT siebe.sysmans@appfoundry.be Contact Details AppFoundry KONTICH -

    HASSELT - MERELBEKE www.appfoundry.be +32 (0)3 871 99 66 info@appfoundry.be