Introduction to Android development

Introduction to Android development

Lecture to students of University of Malta

A8b79d304b5184e5a5b0a109590f6683?s=128

Danny Preussler

November 17, 2017
Tweet

Transcript

  1. WHAT’S UP WITH University Malta Danny Preussler @PreusslerBerlin

  2. WHAT DO I KNOW OF GAMES?

  3. WHO’S THAT GERMAN?

  4. WHAT’S A DEVELOPER EXPERT?

  5. WHAT’S A DEVELOPER EXPERT?

  6. 2009 ANDROID

  7. WHATS UNDER THE HOOD?

  8. None
  9. WRITE ANDROID IN

  10. TOOLS FOR NATIVE APPS Powered by

  11. BUILDING BLOCKS •Activities •Services •Broadcasts

  12. SERVICE

  13. ACTIVITY

  14. ACTIVITY Activity Activity Intent View View View

  15. INTENT • startActivity( new Intent(getContext(), MainActivity.class)); • startActivity( new Intent(ACTION_VIEW,

    Uri.parse(uri)));
  16. ACTIVITY Activity Activity Activity Activity

  17. VIEWS • Extend the class View • Defined by Code

    or XML
  18. VIEWS • Grouped in Layouts/Viewgroups (old)

  19. VIEWS <TextView style="@style/Label10" android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingTop=”5dp" android:paddingBottom=”10dp" android:paddingStart=”6dp" android:paddingEnd=”6dp" android:text="show

    this" android:textAllCaps="true" />
  20. SOOO 2016 • Material Design • Firebase • ConstraintLayout •

    Databinding • RxJava
  21. RESOURCES

  22. RESOURCES png files

  23. None
  24. DRAWABLES • PNG • XML • WEBP • Vector drawables

  25. RESOURCES Layout xml

  26. CONFIGURATIONS •Configuration change can be: •Rotation •Any resize i.e. split

    screen •Language change
  27. RESOURCES combinable

  28. RESOURCES <!-- captions, menu, buttons --> <string name="settings">"Einstellungen"</string> <string name="action_overflow_menu">"Mehr"</string>

    <string name="action_settings">"Einstellungen"</string> <string name="action_search">"Suche"</string> <string name="action_share">"Teilen"</string>
  29. VIEWS <TextView style="@style/Label10" android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingTop="@dimen/settings_page_small_text_padding_top" android:paddingBottom="@dimen/settings_page_small_text_padding_bottom" android:paddingStart="@dimen/settings_page_padding_horizontal" android:paddingEnd="@dimen/settings_page_padding_horizontal" android:text="@string/dev_tve"

    android:textAllCaps="true" />
  30. ANIMATIONS myView.animate() .translationX(100) .alpha(1f) .duration(100) .start()

  31. ANIMATIONS <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:fillAfter="true" > <alpha android:duration="1000"

    android:fromAlpha="0.0" android:toAlpha="1.0" /> </set>
  32. RESOURCES

  33. ANIMATIONS SpringAnimation FlingAnimation

  34. TRANSITIONS Transition explode = new Explode(); TransitionManager.beginDelayedTransition( recyclerView, explode);

  35. THE WAY OF A NOTIFICATION • Sent • Wakes up

    app • App retrieves content • Might load more from backend • Shows notification w/o actions • Actions/clicks trigger intent • Show activity
  36. ANDROID IS MORE THAN PHONE

  37. None
  38. WHAT’S UP WITH University Malta Danny Preussler @PreusslerBerlin