Kamis, 09 Agustus 2018

Siklus Hidup Aktivitas dan Status Instance

    Siklus hidup aktivitas adalah serangkaian status tempat aktivitas mungkin berada sepanjang daur hidupnya, mulai dari saat aktivitas pertama dibuat hingga dihancurkan dan sistem mengklaim kembali sumber daya aktivitas tersebut. Saat pengguna menelusuri di antara aktivitas dalam aplikasi (di dalam dan di luar aplikasi juga), masing-masing aktivitas tersebut bertransisi di antara status yang berbeda dalam siklus hidup aktivitas.
    Setiap tahap dalam siklus hidup aktivitas memiliki metode callback yang cocok (onCreate(), onStart(), onPause(), dan lainnya). Saat sebuah aktivitas mengubah status, metode callback terkait akan dipanggil. Anda sudah melihat sala dari metode ini: onCreate(). Dengan mengganti metode callback siklus hidup dalam kelas aktivitas, Anda bisa mengubah perilaku default bagaimana aktivitas berperilaku untuk merespons pengguna atau tindakan sistem yang berbeda.

  1. Mengimplementasikan callback ke MainActivity
    1. Buka java/com.example.android.twoactivities/MainActivity.
    2. Dalam metode onCreate(), tambahkan pernyataan log berikut:
    3. Tambahkan metode baru untuk callback onStart(), dengan pernyataan ke log untuk peristiwa tersebut: TIPS: Pilih Code > Override Methods dalam Android Studio. Dialog muncul dengan semua metode yang mungkin dan bisa Anda gantikan dalam kelas. Memilih satu atau beberapa metode callback dari daftar menyisipkan template lengkap untuk metode tersebut, termasuk panggilan wajib ke superkelas.
    4. Gunakan metode onStart() sebagai template untuk mengimplementasikan callback siklus hidup lainnya:
      • onPause()
      • onRestart()
      • onResume()
      • onStop()
      • onDestroy()
    5. jalankan aplikasi Anda.

  2. Mengimplementasikan callback siklus hidup dalam SecondActivity
    1. Buka java/com.example.android.twoactivities/SecondActivity.
    2. Di bagian atas kelas, tambahkan konstanta untuk variabel LOG_TAG:
    3. Tambahkan callback siklus hidup dan pernyataan log ke aktivitas kedua. (Anda juga bisa menyalin dan menempel metode callback dari MainActivity)
    4. Tambahkan pernyataan log ke metode returnReply(), tepat sebelum metode finish():

  3. Amati log saat aplikasi berjalan
    1. Jalankan aplikasi twoactivity
    2. Klik Android Monitor di bawah Android Studio untuk membuka Android Monitor.
    3. Pilih tab logcat.
    4. Ketik "Activity" dalam kotak pencarian Android Monitor. Logcat Android bisa menjadi sangat panjang dan berantakan. Karena variabel LOG_TAG di setiap kelas berisi kata MainActivity atau SecondActivity, kata kunci ini memungkinkan Anda memfilter log hanya untuk hal-hal yang Anda minati.

    5. Bereksperimenlah dengan aplikasi dan catat bahwa peristiwa siklus hidup terjadi untuk merespons tindakan yang berbeda. Khususnya, coba hal-hal berikut ini:
      • Gunakan aplikasi dengan normal (mengirim pesan, membalas dengan pesan lain.)
      • Gunakan tombol kembali untuk kembali dari aktivitas kedua ke aktivitas utama.
      • Gunakan panah kiri pada bilah tindakan untuk kembali dari aktivitas kedua ke aktivitas utama.
      • Putar perangkat pada aktivitas utama dan kedua pada waktu yang berlainan dalam aplikasi dan amati apa yang terjadi dalam log dan layar.TIPS:Jika menjalankan aplikasi dalam emulator, Anda bisa menyimulasikan putaran dengan Ctrl-F11 atau Ctrl-Fn-F11.
      • Tekan tombol ringkasan (tombol kotak di sebelah kanan Beranda) dan tutup aplikasi (ketuk X).
      • Kembali ke layar beranda dan mulai ulang aplikasi

  4. Simpan status instance aktivitas dengan onSaveInstanceState()
  5. mungkin kita telah memperhatikan bahwa memutar perangkat tidak memengaruhi status aktivitas kedua sama sekali. Ini karena layout dan status aktivitas kedua dihasilkan dari layout dan intent yang mengaktifkannya. Bahkan jika aktivitas tersebut dibuat ulang, intent-nya akan tetap ada di sana dan data di dalam intent tersebut masih digunakan setiap onCreate() aktivitas kedua dipanggil.

    Selain itu, kita mungkin memperhatikan bahwa dalam kedua aktivitas setiap teks yang Anda ketik ke dalam pesan atau balasan EditTexts dipertahankan bahkan ketika perangkat diputar. Ini karena informasi status beberapa tampilan dalam layout secara otomatis disimpan di semua perubahan konfigurasi, dan nilai saat ini EditText adalah salah satu kasus ini.

    Satu-satunya status aktivitas yang harus diperhatikan adalah TextView untuk header balasan dan teks balasan dalam aktivitas utama. Kedua TextView secara default tidak terlihat, hanya muncul ketika Anda mengirimkan pesan kembali ke aktivitas utama dari aktivitas kedua.

    Selanjutnya akan menambahkan kode untuk mempertahankan status instance kedua TextView menggunakan onSaveInstanceState().
    1. Buka java/com.example.android.twoactivities/MainActivity.
    2. Tambahkan implementasi skeleton onSaveInstanceState() ke aktivitas, atau gunakan Code > Override Methods untuk menyisipkan pengganti kerangka.
    3. Periksa untuk melihat apakah header saat ini terlihat, dan jika demikian letakkan status visibilitas ke dalam bundel status dengan metode putBoolean() dan kunci "reply_visible". Ingat bahwa header dan teks balasan ditandai sebagai tidak terlihat sampai ada balasan dari aktivitas kedua. Jika header terlihat, maka ada data balasan yang perlu disimpan. Kita hanya berfokus pada status visibilitas -- teks header sebenarnya tidak perlu disimpan, karena teks tersebut tidak pernah berubah.
    4. Dalam pemeriksaan yang sama, tambahkan teks balasan ke dalam bundel.
    5. Jika header terlihat Anda bisa mengasumsikan bahwa pesan balasan juga terlihat. Anda tidak perlu menguji atau menyimpan status visibilitas pesan balasan saat ini. Hanya teks sebenarnya pesan yang masuk ke dalam bundel status dengan kunci "reply_text".

      Kita hanya menyimpan tampilan yang dapat berubah setelah aktivitas dibuat.

      Tampilan lain dalam aplikasi (EditText, Tombol) dapat dibuat ulang dari layout default kapan saja.

  6. Memulihkan status instance aktivitas dalam onCreate()
    1. Dalam metode onCreate(), tambahkan tes untuk memastikan bundelnya tidak null.

      Saat aktivitas dibuat, sistem meneruskan bundel status ke onCreate() karena itu hanya argumen. Pertama kali onCreate() dipanggil dan aplikasi Anda dimulai, bundelnya null, tidak ada status saat pertama kali aplikasi dimulai. Panggilan berikutnya ke onCreate() memiliki bundel yang diisi dengan data apa pun yang Anda simpan dalam onSaveInstanceState().

    2. Dalam pemeriksaan tersebut, dapatkan visibilitas saat ini (benar atau salah) dari bundel dengan kunci "reply_visible"
    3. Tambahkan tes di bawah baris sebelumnya untuk variabel isVisible.

      Jika ada kunci reply_visible" dalam bundel status (maka isVisible benar), kita perlu memulihkan statusnya.

    4. Dalam tes isVisible, buat header-nya terlihat.
    5. Dapatkan pesan balasan teks dari bundel dengan kunci "reply_text", dan setel TextView balasan untuk menunjukkan string tersebut.
    6. Jadikan TextView balasan terlihat juga:
    7. Jalankan aplikasi. Coba putar perangkat atau emulator untuk memastikan bahwa pesan balasan (jika ada) tetap ada di layar setelah aktivitas dibuat ulang.

Kamis, 19 Juli 2018

TwoActivity

    Membuat TwoActivity

  1. Buat Project Baru dengan klik File -> New -> New Project... pada Android Studio anda
  2. Setelah muncul Jendela Create New Project, kemudian atur nama aplikasi dan domain perusahaan/website anda. Sebaiknya jangan sama dengan apa yang ada dicontoh. Dan jangan lupa pula untuk menentukan lokasi project.
  3. Kemudian pilih tipe device untuk aplikasi beserta target minimum SDK yang akan kita gunakan. Pilihan target Android SDK yang kita pilih akan mempengaruhi banyaknya device yang bisa menggunakan aplikasi buatan kita. Disini kita pilih untuk tipe device Phone and Tablet dengan minimum SDK diset ke Level 15 (Ice Cream Sandwich)/ Klik Next untuk melanjutkan.
  4. Pada bagian ini kita akan memilih tipe Activity awal dari template yang telah disediakan. Saat ini Android Studio sudah menyediakan berbagai macam template Activity dari yang paling sederhana hingga yang paling kompleks seperti :
    Add No Activity             : Tidak ada Activity yang ditambahkan
    Basic Activity              : Activity dengan template komponen material design seperti FloatingActionButton
    Empty Activity              : Activity dalam bentuk yang paling dasar
    Fullscreen Activity         : Activity fullscreen tanpa status bar
    Google AdMob Ads Activity   : Activity dengan default konfigurasi iklan Admob
    Google Maps Activity        : Activity dengan menyediakan konfigurasi dasar Google Maps
    Login Activity              : Activity untuk halaman login
    Master / Detail Flow        : Activity yang diperuntukan untuk alur aplikasi Master Detail pada device tablet
    Navigation Drawer Activity  : Activity dengan tampilan side bar menu
    Scrolling Activity          : Activity dengan kemampuan Scroll konten didalamnya secara vertical
    Settings Activity           : Activity yang diperuntukan untuk Konfigurasi Aplikasi
    Tabbed Activity             : Activity yang diperuntukan untuk menampilkan lebih dari satu tampilan, dapat 
     digeser ke kanan dan ke kiri (Swipe) dan dengan menggunakan komponen ViewPager
    

    Saat ini kita pilih tipe Empty Activity, klik Next untuk melanjutkan.
  5. Selanjutnya, tentukan nama Activity pertama kita, saat ini kita biarkan pada kondisi apa adanya. Ingat, jika suatu saat nanti kita ingin melakukan penambahan Activity, best practice nya adalah dengan menambahkan Activity setelah kata nama kelas yang akan kita buat. Misal: MainActivity, SettingsActivity dan lain sebagainya. Klik Finish untuk menyelesaikan.
  6. Selamat!, Anda telah berhasil membuat sebuah project baru Android. Layar anda pasti akan seperti dibawah ini:
  7. Di sebelah kanan anda adalah workspace dimana Activity anda berada dan bernama MainActivity.java dengan layoutnya activity_main.xml. Di sebelah kiri anda terdapat struktur project anda dimana nanti kita akan banyak menambahkan berbagai komponen, asset dan library. Untuk lebih mengenal Android Studio lebih dalam silakan baca materi ini https://developer.android.com/studio/intro/index.html

Selanjutnya kita akan mulai melakukan pengkodean aplikasi atau lebih enaknya disebut ngoding. Berikut flow umumnya.
Ngoding Layout untuk User Interface aplikasi
Ngoding Activity untuk menambahkan logika aplikasi

Jangan ngetik saja atau ngoding polos, Gunakan ctrl + space untuk menggunakan code completion dari Android Studio agar mengoptimasi import package dari komponen yang digunakan.


Menambahkan Code Sederhana pada Layout Activity

  1. Kita akan memiliki 1 tombol dengan fungsi untuk Mengirim data dan TextView untuk menampilkan data yang berasal dari Intent. Baik, kita akan mulai selangkah demi selangkah dimulai dari tombol yang paling atas. Kondisikan activity_main.xml seperti dibawah ini, Silahkan klik tab file activity_main.xml pada workspace anda (res/Layout/activity_main.xml), dan silakan ikuti baris-baris berikut:
    Jangan lupa untuk menambahkan file dimens.xml dan string.xml secara manual di dalam res → values. Dan isikan file dimens.xml dan string.xml seperti berikut


  2. Lalu untuk MainActivity.java tambahkan code seperti ini
  3. Button SecondActivity akan memiliki fungsi untuk mengirim dan berpindah Activity ke Activity lain. Sekarang kita buat Activity baru dengan cara sebagai berikut: Klik File di pojok kiri atas pada aplikasi → New → Activity → Empty Activity.
    Lalu isikan SecondActivity pada dialog. Ketika sudah klik finish.
  4. Untuk menandakan perpindahan dan mengirim data ke Activity berhasil, silakan tambahkan dua buat TextView dan kondisikan activity_second.xml menjadi seperti berikut.

  5. Setelah Activity tujuan sudah berhasil diciptakan, sekarang saatnya menambahkan sebuah kode pada SecondActivity.java menjadi sebagai berikut.
  6. Selesai! Langkah pertama untuk memindahkan Mengirim data ke Activity ke Activity lain sudah selesai, sekarang silakan jalankan aplikasi anda dengan mengklik textView pada menu bar dan klik tombol SEND. Seharusnya sekarang anda sudah bisa berpindah dan mengirim data ke Activity dengan mengklik tombol ‘SEND’https://youtu.be/Ks4OFV7zJbE

Bedah Kode singkat

Pembahasan tentang layout xml

Baris ini mengidentifikasi bahwa file ini berformat xml.
Merupakan namespace yang digunakan dalam keseluruhan file xml ini. Mengidentifikasi bahwa file layout xml ini berelasi dengan MainActivity.

Scrolling text

Membuat Scrolling text

  1. Buat Project Baru dengan klik File -> New -> New Project... pada Android Studio anda
  2. Setelah muncul Jendela Create New Project, kemudian atur nama aplikasi dan domain perusahaan/website anda. Sebaiknya jangan sama dengan apa yang ada dicontoh. Dan jangan lupa pula untuk menentukan lokasi project.
  3. Kemudian pilih tipe device untuk aplikasi beserta target minimum SDK yang akan kita gunakan. Pilihan target Android SDK yang kita pilih akan mempengaruhi banyaknya device yang bisa menggunakan aplikasi buatan kita. Disini kita pilih untuk tipe device Phone and Tablet dengan minimum SDK diset ke Level 15 (Ice Cream Sandwich)/ Klik Next untuk melanjutkan.
  4. Pada bagian ini kita akan memilih tipe Activity awal dari template yang telah disediakan. Saat ini Android Studio sudah menyediakan berbagai macam template Activity dari yang paling sederhana hingga yang paling kompleks seperti :
    Add No Activity              : Tidak ada Activity yang ditambahkan
    Basic Activity               : Activity dengan template komponen material design seperti FloatingActionButton
    Empty Activity               : Activity dalam bentuk yang paling dasar
    Fullscreen Activity          : Activity fullscreen tanpa status bar
    Google AdMob Ads Activity    : Activity dengan default konfigurasi iklan Admob
    Google Maps Activity         : Activity dengan menyediakan konfigurasi dasar Google Maps
    Login Activity               : Activity untuk halaman login
    Master / Detail Flow         : Activity yang diperuntukan untuk alur aplikasi Master Detail pada device tablet
    Navigation Drawer Activity   : Activity dengan tampilan side bar menu
    Scrolling Activity           : Activity dengan kemampuan Scroll konten didalamnya secara vertical
    Settings Activity            : Activity yang diperuntukan untuk Konfigurasi Aplikasi
    Tabbed Activity              : Activity yang diperuntukan untuk menampilkan lebih dari satu tampilan, 
    dapat digeser ke kanan dan ke kiri (Swipe) dan dengan menggunakan komponen ViewPage
  5. Selanjutnya, tentukan nama Activity pertama kita, saat ini kita biarkan pada kondisi apa adanya. Ingat, jika suatu saat nanti kita ingin melakukan penambahan Activity, best practice nya adalah dengan menambahkan Activity setelah kata nama kelas yang akan kita buat. Misal: MainActivity, SettingsActivity dan lain sebagainya. Klik Finish untuk menyelesaikan.
  6. Selamat!, Anda telah berhasil membuat sebuah project baru Android. Layar anda pasti akan seperti dibawah ini:

Menambahkan Code Sederhana pada Layout Activity

  1. Silahkan klik tab file activity_main.xml pada workspace anda (res/Layout/activity_main.xml), dan silakan ikuti baris-baris berikut:



  2. Fungsi extract string resource akan secara otomatis menambahkan values dalam android:text ke dalam file res → values → strings.xml. Tambahkan juga pada view lainnya hingga tidak ada warning lagi. Jika kita buka files strings.xml akan seperti ini.
  3. Kemudian akan muncul dialog seperti dibawah ini, sesuaikan dengan nama yang ada.
  4. Fungsi extract string resource akan secara otomatis menambahkan values dalam android:text ke dalam file res → values → strings.xml. Tambahkan juga pada view lainnya hingga tidak ada warning lagi. Jika kita buka files strings.xml akan seperti ini.
  5. Jika file dimens.xml sudah terbuat, sesuaikan isi dari dimens.xml menjadi seperti berikut.

  6. Setelah sudah selesai silakan jalankan aplikasi dengan mengklik atau Run → Run ‘app’ dari menu bar. Kemudian ada pilihan seperti ini.
Itu tandanya adb (Android Debugger) device yang anda punya telah terkoneksi dengan Android Studio. Jika anda tidak memiliki device silakan gunakan emulator. Ikuti materinya disini https://developer.android.com/studio/run/managing-avds.html.

Saya merekomendasikan anda menggunakan device Android sewaktu develop aplikasi di Android. Selain karena akan menghemat penggunaan memori dari device yang anda gunakan, juga akan memberikan pengalaman yang berbeda dengan menjalankan aplikasi di device anda sendiri. Pilih OK untuk menjalankan dan tunggu hingga proses building dan instalasi apk aplikasi anda berjalan. Jika sudah, seharusnya hasilnya akan seperti ini.

Silakan Scroll kebawah Untuk melihat Hasil.

Kamis, 12 Juli 2018

Membuat Hello Toast Pada android Studio

  1. Buat Project Baru dengan klik File -> New -> New Project... pada Android Studio anda
  2.  
  3. Setelah muncul Jendela Create New Project, kemudian atur nama aplikasi dan domain perusahaan/website anda. Sebaiknya jangan sama dengan apa yang ada dicontoh. Dan jangan lupa pula untuk menentukan lokasi project.
  4. Kemudian pilih tipe device untuk aplikasi beserta target minimum SDK yang akan kita gunakan. Pilihan target Android SDK yang kita pilih akan mempengaruhi banyaknya device yang bisa menggunakan aplikasi buatan kita. Disini kita pilih untuk tipe device Phone and Tablet dengan minimum SDK diset ke Level 15 (Ice Cream Sandwich)/ Klik Next untuk melanjutkan.
  5. Pada bagian ini kita akan memilih tipe Activity awal dari template yang telah disediakan. Saat ini Android Studio sudah menyediakan berbagai macam template Activity dari yang paling sederhana hingga yang paling kompleks seperti :
  6. Add No Activity             : Tidak ada Activity yang ditambahkan
    Basic Activity              : Activity dengan template komponen material design seperti FloatingActionButton
    Empty Activity              : Activity dalam bentuk yang paling dasar
    Fullscreen Activity         : Activity fullscreen tanpa status bar
    Google AdMob Ads Activity   : Activity dengan default konfigurasi iklan Admob
    Google Maps Activity        : Activity dengan menyediakan konfigurasi dasar Google Maps
    Login Activity              : Activity untuk halaman login
    Master / Detail Flow        : Activity yang diperuntukan untuk alur aplikasi Master Detail pada device tablet
    Navigation Drawer Activity  : Activity dengan tampilan side bar menu
    Scrolling Activity          : Activity dengan kemampuan Scroll konten didalamnya secara vertical
    Settings Activity           : Activity yang diperuntukan untuk Konfigurasi Aplikasi
    Tabbed Activity             : Activity yang diperuntukan untuk menampilkan lebih dari satu tampilan, dapat digeserke kanan 
    dan ke kiri (Swipe) dan dengan menggunakan komponen ViewPage
    Saat ini kita pilih tipe Empty Activity, klik Next untuk melanjutkan.


  7. Selanjutnya, tentukan nama Activity pertama kita, saat ini kita biarkan pada kondisi apa adanya. Ingat, jika suatu saat nanti kita ingin melakukan penambahan Activity, best practice nya adalah dengan menambahkan Activity setelah kata nama kelas yang akan kita buat. Misal: ProfileActivity, SettingsActivity dan lain sebagainya. Klik Finish untuk menyelesaikan.
  8. Selamat!, Anda telah berhasil membuat sebuah project baru Android. Layar anda pasti akan seperti dibawah ini:
  9. Di sebelah kanan anda adalah workspace dimana Activity anda berada dan bernama MainActivity.java dengan layoutnya activity_main.xml. Di sebelah kiri anda terdapat struktur project anda dimana nanti kita akan banyak menambahkan berbagai komponen, asset dan library. Untuk lebih mengenal Android Studio lebih dalam silakan baca materi ini https://developer.android.com/studio/intro/index.html
Selanjutnya kita akan mulai melakukan pengkodean aplikasi atau lebih enaknya disebut ngoding. Berikut flow umumnya. Ngoding Layout untuk User Interface aplikasi Ngoding Activity untuk menambahkan logika aplikasi

Jangan ngetik saja atau ngoding polos, Gunakan ctrl + space untuk menggunakan code completion dari Android Studio agar mengoptimasi import package dari komponen yang digunakan.

Menambahkan Code Sederhana pada Layout Activity

  1. Silahkan klik tab file activity_main.xml pada workspace anda (res/Layout/activity_main.xml), dan silakan ikuti baris-baris berikut:
    
    
  2. Akan muncul warning pada attribut android:text pada layout tersebut. Ini disebabkan karena kita hardcode code string kita. Mari kita hilangkan code warning tersebut dengan menekan alt+enter pada attribut android:text. Akan muncul dialog seperti ini, pilihlah extract string resource.
  3. Kemudian akan muncul dialog seperti dibawah ini, sesuaikan dengan nama yang ada.
  4. Fungsi extract string resource akan secara otomatis menambahkan values dalam android:text ke dalam file res → values → strings.xml. Tambahkan juga pada view lainnya hingga tidak ada warning lagi. Jika kita buka files strings.xml akan seperti ini.
    1. <resources>
    2.     <dimen name="activity_vertical_margin">16dp</dimen>
    3.     <dimen name="activity_horizontal_margin">16dp</dimen>
    4.     <<dimen name="count_text_size">160sp</dimen>
    5. </resources>
    
    
  5. Jika terjadi error pada attribut dimens, maka kita perlu menambahkan file dimens.xml di dalam res → values → dimens.xml. Error ini disebabkan karena pada Android Studio 2.3 file dimens.xml sudah tidak di generate secara otomatis ketika sebuah project dibuat. Langsung saja tambahkan dengan cara klik kanan pada directory res. Akan muncul dialog seperti ini.
  6. Kemudian isikan sesuai di bawah ini.
  7. Jika file dimens.xml sudah terbuat, sesuaikan isi dari dimens.xml menjadi seperti berikut.
    1. <resources>
    2.     <dimen name="activity_vertical_margin">16dp</dimen>
    3.     <dimen name="activity_horizontal_margin">16dp</dimen>
    4.     <dimen name="count_text_size">160sp</dimen>
    5. </resources>

Menambahkan Kode Logika Sederhana pada MainActivity


  1. Selanjutnya setelah selesai, lanjutkan dengan membuka file MainActivity.java dan lanjutkan ngoding baris-baris dibawah ini.

  2. Jika terdapat baris merah seperti ini :

    Jangan khawatir, silakan klik keatas baris merah tersebut dan silakan klik pada icon atau dengan tekan tombol (Alt + Enter) lalu pilih implements method

  3. Setelah sudah selesai silakan jalankan aplikasi dengan mengklik atau Run → Run ‘app’ dari menu bar. Kemudian ada pilihan seperti ini.
Itu tandanya adb (Android Debugger) device yang anda punya telah terkoneksi dengan Android Studio. Jika anda tidak memiliki device silakan gunakan emulator. Ikuti materinya disini https://developer.android.com/studio/run/managing-avds.html.

Kami merekomendasikan anda menggunakan device Android sewaktu develop aplikasi di Android. Selain karena akan menghemat penggunaan memori dari device yang anda gunakan, juga akan memberikan pengalaman yang berbeda dengan menjalankan aplikasi di device anda sendiri. Pilih OK untuk menjalankan dan tunggu hingga proses building dan instalasi apk aplikasi anda berjalan. Jika sudah, seharusnya hasilnya akan seperti ini.

Rabu, 11 Juli 2018

Mengenal Perbedaan Linear, Relative, dan Constraint Layout


  1. Linear Layout

    LinearLayout adalah sebuah layout yang terstruktur, LinearLayout akan meletakan sebuah elmen yang ada di dalamnya secara berurutan tergantun pada orientasi yang di gunakan, misalnya jika sebuah orientasi yang di gunakan itu vertical, maka peletakan elmen akan terus berurut ke bawah. Sedangkan jika orientasinya horizontal maka peletakan elmen akan terus berurut ke samping.Linear Layout ini ada dua jenis . Yaitu :
    Vertical Linear Layout : Apabila user menempatkan 1 widget (objek) per baris 
    Horizontal Linear Layout : Apabila user menempatkan 1 objek per kolom 

    Contoh code Linear Layout horizontal :

    Nah dari code diatas akan tampil seperti Ini :


  2. Relative Layout

  3. RelativeLayout  adalah sebuah layout yang tergantung, maksudnya ialah RelativeLayout akan meletakkan sebuah elemen secara bebas, tidak berurutan , Peletakkanya berdasarkan ketergantungannya kepada yang lain misalnya kepada parent atau kepada elemen lainnya.








  4. Constraint layout 



  5. ConstraintLayout adalah kelas baru yang kuat, tujuan dari ConstraintLayout adalah untuk membantu mengurangi jumlah tampilan berlapis, yang akan meningkatkan kinerja file tata letak kita. Kelas tata letak juga memudahkan kita untuk menentukan tata letak daripada saat menggunakan RelativeLayout karena kita sekarang dapat menjangkar sisi mana pun dari tampilan dengan sisi lain mana pun, daripada harus menempatkan seluruh tampilan ke sisi lain.
    ConstraintLayout juga ada yang horizontal dan vertical