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

What to expect when you're expecting to write an Android app

What to expect when you're expecting to write an Android app

An introduction to writing Android apps, given at a local GDG meetup.

D225ebf0faa666ac7655cc7e4689283c?s=128

Daniel Lew
PRO

August 02, 2016
Tweet

Transcript

  1. What to expect when you're expecting to write an Android

    app Dan Lew @danlew42
  2. • Android Studio • apt • adb • Calligraphy •

    ButterKnife • dex • dexmaker • Retrolambda • OkHttp • Phrase • Picasso • Genymotion • Dagger • RxJava • RxAndroid • RxBinding • RxLifecycle • RxRelay • RxLint • Support library • Design support library • Palette • CardView • RecyclerVie w • Test support library • App compat • LeakCanary • Otto • EventBus • Gson • Stethp • SqlBrite • SqlDelight • Retrofit • Tape • Timber • Navi • OrmLite • Process Phoenix • Google Play Services • Firebase • RoundedIma geView • Subsamplin g Scaling ImageView • Victor • joda-time • joda-time- android • auto-value • auto-value- gson • auto-value- parcelable • android-apt • Apache commons • BetterPicker s • Crashlytics • gradle- versions- plugin • Hugo • Quantcast • Mockito • Sticky List Headers • Error Prone • Hierarchy Viewer • systrace • Gradle • Logcat • Pro guard
  3. None
  4. None
  5. Tools

  6. Google Nexus

  7. Android Studio

  8. USB Cable

  9. Becoming a Developer

  10. Concepts

  11. Concepts • Context • Lifecycles • Intents • Permissions •

    Configuration
  12. Components • Activities • Services • Broadcast Receivers • Content

    Providers
  13. Activity • Views • ViewGroups • findViewById()

  14. Structure

  15. Manifest Your app’s API

  16. Java All your code

  17. Resources Layouts, images, values, configuration, etc…

  18. Gradle Build configuration

  19. Important Libraries

  20. Google Support Libraries • Backwards-compatible implementations • AppCompat • New

    features
  21. Google Play Services / Firebase • (Mostly) free Google services

    • Ties you to Google-approved devices
  22. Networking • Most apps require internet • HTTP: OkHttp •

    REST: Retrofit
  23. Rookie Mistakes • Developing for a single screen size •

    Mishandling configuration changes • Using implicit intents • Blocking the main thread • Overstuffing Activity • Forgetting internet permission • Following Google 100%
  24. Catching Mistakes • Android Lint • StrictMode

  25. First Release Checklist • Some things can (or should) never

    change… • Package name • Signing certificate • Manifest API • Crash logger • Publishing Google account
  26. Education

  27. Java • The Internet • Head First Design Patterns •

    Effective Java
  28. Android • The Internet • Android documentation • The Busy

    Coder's Guide to Android Development
  29. Training • Android @ Udacity • Google Study Jams •

    Paid training
  30. Open Source • AOSP: https://source.android.com/ • u2020: https://github.com/JakeWharton/u2020 • iosched:

    https://github.com/google/iosched • …And much, much more!
  31. Questions? @danlew42 Slides: https://goo.gl/UWDwjv