hirupmotekar.comhirupmotekar.com/.../2017/11/pertemuan-ke-5-pmo-klompok-3… · web viewakan...
TRANSCRIPT
TUGAS PERTEMUAN KE 5
PEMOGRAMAN MOBILE
Disusun Untuk Memenuhi Tugas :
Mata Kuliah : Pemrogaman Mobile 2
Nama : Muhammad Hafidz A. 15.11.0195
Dwi Andi Kurniawan 15.11.0214
Oftriah 15.11.0237
Dilla Alfianur Kumalasari 15.11.0238
Hifari Agarica 15.11.0240
Kelas : TI 15 C
Program Studi : Teknik Informatika
STMIK AMIKOM PURWOKERTO
JL.LET. JEND . POL SOEMARTO (DEPAN SPN) PURWOKERTO
2017 / 2018
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. Anda bisa
menganggap fragmen sebagai bagian modular dari aktivitas, yang memiliki daur hidup
sendiri, menerima kejadian masukan sendiri, dan yang bisa Anda tambahkan atau hapus saat
aktivitas berjalan (semacam "sub aktivitas" yang bisa digunakan kembali dalam aktivitas
berbeda).
Fragmen harus selalu tersemat dalam aktivitas dan daur hidup fragmen secara
langsung dipengaruhi oleh daur hidup aktivitas host-nya. Misalnya, saat aktivitas dihentikan
sementara, semua fragmen di dalamnya juga dihentikan sementara, dan bila aktivitas
dimusnahkan, semua fragmen juga demikian. Akan tetapi, saat aktivitas berjalan
(dalam status daur hidup dilanjutkan, Anda bisa memanipulasi setiap fragmen secara
terpisah, seperti menambah atau membuangnya. Saat melakukan transaksi fragmen, Anda
juga bisa menambahkannya ke back-stack yang dikelola oleh aktivitas —setiap entri back-
stack merupakan catatan transaksi fragmen yang terjadi. Dengan back-stack pengguna dapat
membalikkan transaksi fragmen (mengarah mundur), dengan menekan tombol Kembali.
Bila Anda menambahkan fragmen sebagai bagian dari layout aktivitas, fragmen itu
akan berada dalam ViewGroup di hierarki tampilan aktivitas tersebut dan fragmen
mendefinisikan layout tampilannya sendiri. Anda bisa menyisipkan fragmen ke dalam layout
aktivitas dengan mendeklarasikan fragmen dalam file layout aktivitas, sebagai
elemen <fragment>, atau dari kode aplikasi dengan menambahkannya ke ViewGroup yang
ada. Akan tetapi, fragmen tidak harus menjadi bagian dari layout aktivitas; Anda juga bisa
menggunakan fragmen tanpa UI-nya sendiri sebagai pekerja tak terlihat untuk aktivitas
tersebut.
MEMBUAT FRAGMENT
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, seperti onCreate(), onStart(), onPause(),
dan onStop(). Sebenarnya , jika Anda mengkonversi aplikasi Android saat ini untuk
menggunakan fragmen, Anda mungkin cukup memindahkan kode dari metode callback
aktivitas ke masing-masing metode callback fragmen.
Biasanya, Anda harus mengimplementasikan setidaknya metode daur hidup berikut ini:
1. onCreate()
Sistem akan memanggilnya saat membuat fragmen. Dalam implementasi, Anda harus
melakukan inisialisasi komponen penting dari fragmen yang ingin dipertahankan saat
fragmen dihentikan sementara atau dihentikan, kemudian dilanjutkan.
2. onCreateView()
Sistem akan memanggilnya saat fragmen menggambar antarmuka penggunanya untuk
yang pertama kali. Untuk menggambar UI fragmen, Anda harus
mengembalikan View dari metode ini yang menjadi akar layout fragmen. Hasil yang
dikembalikan bisa berupa null jika fragmen tidak menyediakan UI.
3. onPause()
Sistem akan memanggil metode ini sebagai indikasi pertama bahwa pengguna sedang
meninggalkan fragmen Anda (walau itu tidak selalu berarti fragmen sedang
dimusnahkan). Inilah biasanya tempat Anda harus mengikat setiap perubahan yang
harus dipertahankan selepas sesi pengguna saat ini (karena pengguna mungkin tidak
kembali).
Kebanyakan aplikasi harus mengimplementasikan setidaknya tiga metode ini untuk setiap
fragmen, namun ada beberapa metode callback lain yang juga harus Anda gunakan untuk
menangani berbagai tahap daur hidup fragmen. Semua metode callback daur hidup akan
dibahas secara lebih detail, di bagian tentang Menangani Daur Hidup Fragmen.
Ada juga beberapa subkelas yang mungkin perlu diperpanjang, sebagai ganti kelas
basis Fragment:
1. DialogFragment
Menampilkan dialog mengambang. Penggunaan kelas ini untuk membuat dialog
merupakan alternatif yang baik dari penggunaan metode helper dialog di
kelas Activity, karena Anda bisa menyatukan dialog fragmen ke dalam back-stack
fragmen yang dikelola oleh aktivitas, sehingga pengguna bisa menutup ke fragmen
yang ditinggalkan.
2. ListFragment
Menampilkan daftar item yang dikelola oleh adaptor
(misalnya SimpleCursorAdapter), serupa dengan ListActivity. Menampilkan beberapa
metode pengelolaan tampilan daftar seperti callback onListItemClick() untuk
menangani kejadian klik.
3. PreferenceFragment
Menampilkan hierarki objek Preference sebagai daftar, serupa
dengan PreferenceActivity. Hal ini berguna saat membuat aktivitas "setelan" untuk
aplikasi Anda.
MENAMBAHKAN FRAGMENT PADA ACTIVITY
Biasanya, fragmen berkontribusi pada sebagian UI ke aktivitas host, yang disematkan sebagai
bagian dari hierarki tampilan keseluruhan aktivitas. Ada dua cara untuk menambahkan
fragmen ke layout aktivitas:
Deklarasikan fragmen dalam file layout aktivitas.
Dalam hal ini, Anda bisa menetapkan properti layout fragmen seakan-akan sebuah
tampilan. Misalnya, berikut ini adalah file layout untuk aktivitas dengan dua fragmen:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent">
<fragment android:name="com.example.news.ArticleListFragment"
android:id="@+id/list"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="match_parent" />
<fragment android:name="com.example.news.ArticleReaderFragment"
android:id="@+id/viewer"
android:layout_weight="2"
android:layout_width="0dp"
android:layout_height="match_parent" />
</LinearLayout>
Atribut android:name dalam <fragment> menetapkan kelas Fragment untuk dibuat
instance-nya dalam layout.
Saat sistem membuat layout aktivitas, sistem membuat instance setiap fragmen
sebagaimana yang ditetapkan dalam layout dan memanggil
metode onCreateView() masing-masing, untuk mengambil setiap fragmen. Sistem akan
menyisipkan View yang dikembalikan oleh fragmen secara langsung, menggantikan
elemen <fragment>.
Catatan: Setiap fragmen memerlukan identifier unik yang bisa digunakan sistem untuk
memulihkan fragmen jika aktivitas dimulai kembali (dan identifier yang bisa digunakan
menangkap fragmen untuk melakukan transaksi, seperti membuangnya). Ada tiga cara
untuk memberikan ID bagi fragmen:
o Menyediakan atribut android:id bersama ID unik.
o Menyediakan atribut android:tag bersama string unik.
o Jika Anda tidak menyediakan dua hal tersebut, sistem akan menggunakan ID tampilan
kontainer.
Atau, secara programatis tambahkan fragmen ke ViewGroup yang ada.
Kapan saja saat aktivitas berjalan, Anda bisa menambahkan fragmen ke layout aktivitas.
Anda cukup menetapkan ViewGroup di tempat memasukkan fragmen.
Untuk membuat transaksi fragmen dalam aktivitas (seperti menambah, membuang, atau
mengganti fragmen), Anda harus menggunakan API dari FragmentTransaction. Anda bisa
mengambil instance FragmentTransaction dari Activity seperti ini:
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
Selanjutnya Anda bisa menambahkan fragmen menggunakan metode add(), dengan
menetapkan fragmen yang akan ditambahkan dan tampilan tempat menyisipkannya.
Misalnya:
ExampleFragment fragment = new ExampleFragment();
fragmentTransaction.add(R.id.fragment_container, fragment);
fragmentTransaction.commit();
Argumen pertama yang diteruskan ke add() adalah ViewGroup tempat fragmen harus
dimasukkan, yang ditetapkan oleh ID sumber daya, dan parameter kedua merupakan
fragmen yang akan ditambahkan.
Setelah membuat perubahan dengan FragmentTransaction, Anda harus
memanggil commit() untuk menerapkan perubahan.
MEMBUAT UI FLEXIBLE DENGAN FRAGMENT
Flexible UI adalah Flexible UI di Android Studio, bagaimana aplikasi Android dapat
dibangun dengan menggunakan lebih dari satu fragment dan cukup memiliki 1 Activity.
Contoh Flexible UI dalam fragment :
Buatlah Layout pada Activity_main.xml dengan kodingan seperti dibawah:
Setelah itu masukan kode pada MainActivity.Java seperti dibawah :
Buatlah layout baru bernama Fragmentfrist.xml dan isikan seperti kode dibawah ini :
Buatlah java class baru FirstFragment.Java dan isikan kode seperti dibawah :
Buatlah layout baru bernama fragment_second.xml kemudian tambahkan kode seperti dibawah ini :
Bualah java class baru SecondFragment.java setelah itu isikan kode seperti dibawah:
Buatlah layout baru bernama Fragment_third.xml kemudian isilah kode seperti dibawah :
Hasil ketika Program dijalankan :
KOMUNIKASI ANTAR FRAGMENT
Berkomunikasi dengan Aktivitas
Meskipun Fragment diimplementasikan sebagai objek yang tidak bergantung
pada Activity dan bisa digunakan dalam banyak aktivitas, instance tertentu dari fragmen
secara langsung terkait dengan aktivitas yang dimuatnya.
Khususnya, fragmen bisa mengakses instance Activity dengan getActivity() dan dengan
mudah melakukan tugas-tugas seperti mencari tampilan dalam layout aktivitas:
View listView = getActivity().findViewById(R.id.list);
Demikian pula, aktivitas Anda bisa memanggil metode di fragmen dengan mendapatkan
referensi ke Fragment dari FragmentManager,
menggunakan findFragmentById() atau findFragmentByTag(). Misalnya:
ExampleFragment fragment = (ExampleFragment)
getFragmentManager().findFragmentById(R.id.example_fragment);
Komunikasi Antar Fragment
Berikut beberapa hal yang perlu kamu ketahui untuk membuat fragment saling
berkomunikasi:
1. Jangan langsung referensi dari fragment ke fragment lainnya.
2. Buatlah Interface yang berisikan method yang akan bertindak sebagai pembawa suatu
event.
3. Implements interface pada activity
4. Fragment 1 menggunakan interface untuk mengirim pesan.
5. Pada activity, method interface yang telah diimplementasikan dapat direferensikan ke
fragment 2 dan melakukan perubahan pada sesuai method yang diberikan.
Langkah langkah:
1. Buatlah dua java class baru, lalu berinama FragmentA dan FragmentB
2. Buat juga 2 Layout baru dan berinama fragment_a dan fragment_b Pada layout fragment_a kita menambahkan sebuha button
Pada layout fragment_b kita menambahkan TextView
3. Buatlah Interface dengan nama Communicator ,Interface ini akan digunakan untuk menghubungkan antara FragmentA dan Fragment B
4. Pada Layout activity_main masukan layout fragment
5. Pada MainActivity.java ketikan coding dibawah ini
6. Hasilnya
Daftar Pustaka
“Fragments”, https://developer.android.com/guide/components/fragments.html?hl=id
diakses pada 28 Oktober 2017
“Tutorial Komunikasi Antar Fragments”, https://blog.teknorial.com/tutorial-komunikasi-
antar-fragment/ diakses pada 28 Oktober 2017
“Fragments UI”, https://developer.android.com/training/basics/fragments/fragment-
ui.html?hl=id diakses pada 30 Oktober 2017
“Belajar Mengenal Perbedaan Activity dan Fragment Android”,
http://www.okedroid.com/2017/03/belajar-mengenal-perbedaan-activity-dan-
fragment-android.html diakses pada 2 November 2017
“Penggunaan Fragment dalam Flexible UI di Android Studio”,
http://sniptcode.com/penggunaan-fragment-dalam-flexible-ui-di-android-studio/
diakses pada 1 November 2017