1 of 15

Layouts and Resources for the UI

M. Rizki Maulana

Himatif Talent

Session 2

Unsera, 14 September 2019

devemrizkiem@gmail.com

2 of 15

Layout View and ViewGroups

3 of 15

Views

ViewGroups

  • TextView
  • EditText
  • Button
  • ScrollView and RecyclerView
  • ImageView
  • etc.
  • ConstraintLayout
  • LinearLayout
  • RelativeLayout
  • TableLayout
  • FrameLayout
  • GridLayout

4 of 15

The layout editor

5 of 15

Activities

Intents

[n] An activity represents a single screen in your app with an interface the user can interact.

[n] Each activity is started or activated with an Intent, which is a message object that makes a request to the Android runtime to start an activity or other app component in your app or in some other app.

6 of 15

Activity lifecycle

ex :

7 of 15

Activity lifecycle

8 of 15

Saving activity state

9 of 15

Intents types

  1. Explicit Intent
  2. Implicit Intent

10 of 15

Intent object and fields

  • The Activity class (for an explicit Intent).
  • The Intent data.
  • Intent extras.
  • Intent flags.

11 of 15

Fragment

  1. Fragment merupakan komponen yang memiliki fungsi untuk menampilkan antarmuka ke pengguna melalui activity dengan memiliki layout xml sendiri.
  2. Fragment memiliki daur hidup sendiri dan bergantung penuh pada daur hidup activity dimana ia ditanamkan.
  3. Fragment digunakan agar komponen tampillan aplikasi menjadi fleksibel dan dapat digunakan kembali (reusable).
  4. Satu activity bisa memiliki lebih dari satu fragment.
  5. Tidak seperti activity, fragment tidak perlu didaftarkan ke dalam file AndroidManifest.xml.
  6. Satu kelas Java dinyatakan sebagai sebuah fragment ketika kelas tersebut meng-extends (inherit) kelas Fragment.
  7. Melalui Android Support Library, fragment bersifat kompatibel sampai Android api level 10 Gingerbread.
  8. Analogi yang mendekati fragment pada platform lain adalah penggunaan komponen iframe pada aplikasi berbasis web.

12 of 15

Fragment lifecycle

  • Resumed
  • Paused
  • Stoped

13 of 15

Add fragment to activity

code :

FragmentManager fragmentManager = getSupportFragmentManager();

FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();

HomeFragment homeFragment = new HomeFragment();

Fragment fragment = fragmentManager.findFragmentByTag(HomeFragment.class.getSimpleName());

if (!(fragment instanceof HomeFragment)) {

fragmentTransaction.add(R.id.frame_container, homeFragment, HomeFragment.class.getSimpleName());

fragmentTransaction.commit();

14 of 15

Resources

15 of 15

Thank you