Pemrograman Mobile Kelompok Nur Dwi Ramadani 15.11.0300 Khaiz Badaru Tammam 15.11.0185 Andri bagus setyo 15.11.0239 Aditya andika budi pratama 15.11.0222 Muhammad Candra Firmansyah 15.11.0326 Eva Faiza 16.11.0317
Fragment Fragment mewakili perilaku atau bagian dari antarmuka pengguna dalam Activity. Anda bisa mengombinasikan beberapa fragmen dalam satu aktivitas untuk membangun UI multipanel dan menggunakan kembali sebuah fragmen dalam beberapa aktivitas.
Android memperkenalkan fragmen di Android 3 Android memperkenalkan fragmen di Android 3.0 (API level 11), terutama untuk mendukung desain UI yang lebih dinamis dan fleksibel pada layar besar, seperti tablet. Karena layar tablet jauh lebih besar daripada layar handset, maka lebih banyak ruang untuk mengombinasikan dan bertukar komponen UI. Fragmen memungkinkan desain seperti itu tanpa perlu mengelola perubahan kompleks pada hierarki tampilan. Dengan membagi layout aktivitas menjadi beberapa fragmen, Anda bisa mengubah penampilan aktivitas saat waktu proses dan mempertahankan perubahan itu di back- stack yang dikelola oleh aktivitas. Contoh bagaimana dua modul UI yang didefinisikan oleh fragmen bisa digabungkan
Membuat Fragmen Untuk membuat fragmen, Anda harus membuat subkelas Fragment (atau subkelasnya yang ada). Kelas Fragment memiliki kode yang mirip seperti Activity. Kelas ini memiliki metode callback yang serupa dengan aktivitas. Daur hidup fragmen (saat aktivitasnya berjalan).
Menambahkan Fragment Pada Actifity mengelola fragmen dalam aktivitas, Anda perlu menggunakan FragmentManager. Untuk mendapatkannya, panggil getFragmentManager() dari aktivitas Anda. Beberapa hal yang dapat Anda lakukan dengan FragmentManager antara lain: •Dapatkan fragmen yang ada di aktivitas dengan findFragmentById() (untuk fragmen yang menyediakan UI dalam layout aktivitas) atau findFragmentByTag() (untuk fragmen yang menyediakan atau tidak menyediakan UI). •Tarik fragmen dari back-stack, dengan popBackStack() (menyimulasikan perintah Back oleh pengguna). •Daftarkan listener untuk perubahan pada back-stack, dengan addOnBackStackChangedListener().
Membangun UI Fleksibel Saat mendesain aplikasi untuk mendukung berbagai ukuran layar, Anda bisa menggunakan kembali fragmen dalam konfigurasi layout berbeda untuk mengoptimalkan pengalaman pengguna berdasarkan ruang layar yang tersedia.
Langkah – langkah membuat Flexible UI Buat Project dengan Start a new Android Studio Project Kemudian Configure your new project, isikan Application Name dengan Fragment FlexibleUI dan Company domain sesuai dengan nama yang kamu inginkan. Buat Package atau direktori baru dengan nama fragment dengan cara : klik kanan pada package utama -> New -> Package dan beri nama fragment. Buat Fragment baru pada directory fragment beri nama FirstFragment, (jangan lupa Include fragment factory method dan Include interface callbacks? di uncheck) Kemudian modifikasi file fragment_first.xml sebagai berikut:
Sementara pada file FirstFragment.Java, modifikasilah sebagai berikut Keterangan : Pada btnFirstTransaction kita memberikan listener OnClickListeneragar ketika diklik dapat melakukan proses penggantian fragment (replace) yang telah ada. Untuk digantikan dengan object dari SecondFragment() pada FrameLayout berID frame_container.Selain itu kita memberikan sedikit transisi ketika terjadi proses penggantian fragment. Dan sebelum commit() kita tambahkan proses ini ke dalam BackStack. Kita juga menambahkan title di Action Bar berdasarkan dengan fragment yang active saat ini (First Fragment). Mengapa kita menggunakan ((MainActivity)getActivity()) untuk mengakses ActionBar ? Dikarenakan kita menggunakan App Compability Library maka untuk method getActionBar() tidak dapat digunakan, akan menghasilkan null pointer exception error. Maka dari itulah kita menggunakan method getSupportActionBar() yang disupport oleh App Compability Library. Buat Fragment baru dengan nama SecondFragment dan modifikasi file fragment_second.xml sebagai berikut:
Buat Fragment baru dengan nama SecondFragment dan modifikasi file fragment_second.xml sebagai berikut: Sementara pada file SecondFragment.Java, modifikasilah sebagai berikut:
Keterangan: Hampir sama dengan penjelasan sebelumnya hanya saja disini kita akan mengganti SecondFragment yang ada dilayar dengan ThirdFragment dan tidak menyertakan Fragment Transition. Disini kita menambahkan fungsionalitas BackButton pada ((MainActivity)getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true); dan event ketika back button diklik maka akan menjalankan perintah getFragmentManager().popBackStack(); yang akan membuat fragment saat ini dikeluarkan dari stack. Buat Fragment ketiga dengan nama ThirdFragment dan modifikasi file fragment_third.xml sebagai berikut
Sementara pada file ThirdFragment.Java, modifikasilah sebagai berikut: Kemudian modifikasi file activity_main.xml sebagai berikut:
Terakhir pada file MainActivity.Java, modifikasilah sebagai berikut: Penjelasan : Proses penambahan fragment dengan menggunakan method add() agar FirstFragment dapat tampil ke layar dengan sebelumnya kita melakukan pengecekan terhadap isi dari object savedInstanceState(); 8. Silakan jalankan dengan tombol Run ke emulator atau device atau export ke apk untuk instal secara manual di device.
Komunikasi Antar Fragment Berikut beberapa hal yang perlu kamu ketahui untuk membuat fragment saling berkomunikasi: Jangan langsung referensi dari fragment ke fragment lainnya. Buatlah Interface yang berisikan method yang akan bertindak sebagai pembawa suatu event. Implements interface pada activity Fragment 1 menggunakan interface untuk mengirim pesan. Pada activity, method interface yang telah diimplementasikan dapat direferensikan ke fragment 2 dan melakukan perubahan pada sesuai method yang diberikan.
Terimakasih