Dynamic Blinkie Text Generator at TextSpace.net

Feedburner

I heart FeedBurner

Selasa, 24 November 2015

Fragment Android

Selamat datang kembali di blog yang sudah usang ini (*ambil_kemoceng), mohon maaf jika lama gak update, dikarenakan sedang liburan :D, libur nulis maksudnya :D, oke ini malem minggu dan banyak waktu luang (karena LD*) maka saya tetapkan untuk menghabiskan waktu ini dengan kegiatan yang positif ðŸ˜€ selain bermain Dota 2 ðŸ˜€
Pada artikel kali ini kita akan membahas salah satu interface di android API yakni Fragment, jadi gini Fragment itu seperti Activity yang menghandle sebuah layout, namun bedanya, Fragment tidak dapat berjalan individual fragment selalu membutuhkan sebuah Activity, simplenya sebuah fragment selalu berjalan di atas Activity.
Keuntungan menggunakan Fragment itu sendiri adalah ketika dihadapkan pada masalah mengenai multi-pane UI, perhatikan gambar berikut
android fragment
android fragment
src : http://developer.android.com/images/fundamentals/fragments.png
Contoh kasus di atas adalah apps news
jadi nanti UI di Tablet dan Smartphone berbeda, ketika berjalan di smartphone yang ditampilkan ke user adalah list headline newsnya, dan ketika di klik listnya maka akan berpindah ke detail newsnya, namun ketika di tablet behaviornya akan berbeda, karena tablet memiliki space screen yang lebar maka akan dibuat headhline dan detail berita akan muncul secara bersama, dikiri listnya dikanan detail newsnya, maka dari kasus tersebut akan terdapat 2 Fragment dan 1 Activity.
dan yang perlu diperhatikan adalah Lifecycle dari Fragment itu sendiri, ada sedikit perbedaan dengan lifecycle nya Activity, untuk jelasnya bisa melihat gambar berikut
complete_android_fragment_lifecycle
complete_android_fragment_lifecycle
src : https://github.com/xxv/android-lifecycle
Oke, sekarang kita coba mulai, kali ini saya menggunakan Android Studio version 0.8.6(via Canary Build)
android studio
buat project baru, terserah namanya mau apa
create project
Untuk minimum SDK set Api 10
Screen Shot 2014-08-09 at 10.49.21 PM
klik next, dan pastikan dipilih blank_activity
Yak, seperti ini jika berjalan secara normal
Screen Shot 2014-08-09 at 10.54.20 PM
Langkah pertama membuat class baru, ctrl+n
Screen Shot 2014-08-09 at 10.57.18 PM
kemudian extends class yang barusan dibuat tadi ke class Fragment, dan yang perlu di ingat jika versi minSDK yang anda set adalah 10 maka harus/wajib menggunakan Fragment yang dari support.v4 agar dapat berjalan di android dibawah Honeycomb
Screen Shot 2014-08-09 at 10.58.09 PM
kemudian override method onCreateview
Screen Shot 2014-08-09 at 11.03.28 PM
kemudian buat layout baru untuk fragment kita
Screen Shot 2014-08-09 at 11.05.30 PM
buat layout versi kalian, gak mesti sama dengan yang dibawah
Screen Shot 2014-08-09 at 11.09.58 PM
langkah terakhir adalah menset layout yang barusan dibuat, buka file MyFragment.java
rubah method oncreateview menjadi seperti ini
Screen Shot 2014-08-09 at 11.14.47 PM
Sebelum menambahkan fragment kedalam activity, pastikan Activitynya mengextends ke FragmentActivity atau ActionBarActivity,
Screen Shot 2014-08-09 at 11.49.27 PM
Jika di awal, project di set min SDK 10 maka Android Studio akan otomatis menambahkan support library Appcompat, Class ActionBarActivity ini berasal dari library tersebut
Screen Shot 2014-08-09 at 11.50.51 PM
Selanjutnya adalah menambahkan layout kedalam activity, ada 2 cara untuk menambahkan fragment kedalam activity
Cara pertama :
– via layout
buka file activity_my.xml
kemudian tambahkan tag fragment kedalamnya, perhatikan gambar dibawah
Screen Shot 2014-08-09 at 11.18.27 PM
ketika dijalankan tampilannya akan seperti ini
Screen Shot 2014-08-09 at 11.31.51 PM
Untuk langkah kedua, pada bagian layout tidak langsung di arahkan ke Fragment, namun diganti menjadi framelayout seperti ini
Screen Shot 2014-08-09 at 11.34.40 PM
kemudian pada bagian class nya dirubah menjadi seperti berikut
baris 17
Screen Shot 2014-08-09 at 11.36.39 PM
disini saya menggunakan bantuan dari method getSupportFragmentManager
Screen Shot 2014-08-09 at 11.37.43 PM
saya lebih sering menggunakan cara yang ini dikarenakan lebih fleksibel untuk pergatian fragment, jika cara pertama tadi untuk menambahkan fragment harus melalui file layout (hardcoded -> hindari seperti ini). Dengan cara kedua untuk mengganti fragment tinggal memanggil containernya dan tinggal ganti fragmentnya by code ðŸ˜€
yang perlu di ingat adalah
Screen Shot 2014-08-09 at 11.37.43 PM
garis merah -> container untuk fragmentnya
garis hijau -> fragment yang mau ditampilkan
dan yang terakhir jangan lupa di commit ðŸ˜€
Tak terasa waktu sudah larut malam, dan malam minggu yang su* ini segera berakhir ðŸ˜€ sesi ini juga harus berakhir tapi tunggu, akan ada lagi sesi selanjutnya mengenai bab fragment ini, sesi selanjutnya adalah bagaimana handling listener suatu object yang ada di fragment. Stay tune gaaeeess :v
Salam code < / >

Tidak ada komentar:

Posting Komentar