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.

Daniel Lew

August 02, 2016
Tweet

More Decks by Daniel Lew

Other Decks in Programming

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