• Tidak ada hasil yang ditemukan

Contoh Membuat Layout Menggunakan Relatif Layout

BAB 5 LAYOUT

F. Contoh Membuat Layout Menggunakan Relatif Layout

4. Untuk membuat contoh relatif layout, ubah layout menjadi relatif layout, drag and drop 2 button

5. Ganti text botton satu menjadi “TOP” dan button 2 menjadi

“Bottom”

6. Ubah ke mode split di pojok kanan atas, sesuaikan dengan kodingan dibawah ini

64 PEMROGRAMAN APLIKASI MOBILE

Gambar 5.6 Contoh Relatif Layout 1

7. Pada button pertama dapat dilihat bahwa button mempunyaiproperties

android:layout_alignParentStart = "true"

android:layout_alignParentLeft = "true"

android:layout_alignParentTop = "true"

8. Dengan konfigurasi properties seperti diatas, sebuah item akan diposisikan disebelah kiri atas, sedangkan pada button 2 mempunyai properties

android:layout_alignParentStart = "true"

android:layout_alignParentLeft = "true"

android:layout_alignParentBottom = "true"

9. Dengan konfigurasi properties seperti diatas, sebuah item akan diposisikan disebelah kiri bawah

10. Untuk lebih memahami relatif layout, tambahkan dua button baru ke dalam layout, lalu ubah ke text mode, sesuaikan dengan kodingan dibawah ini

PEMROGRAMAN APLIKASI MOBILE 65 Gambar 5. 7 Contoh Relatif Layout 2

11. Terlihat bahwa pada button 3 terdapat konfigurasi properties sebagai berikut

android:layout_alignParentStart = "true"

android:layout_alignParentLeft = "true"

android:layout_below = "@id/button"

ini berarti bahwa sesuai konfigurasi diatas, button 3 akan diletakkan di sebelah kiri atas dan dibawah button 1

12. Sedangkan pada button 4 terdapat konfigurasi properties sebagai berikut

android:layout_alignParentStart = "true"

android:layout_alignParentLeft = "true"

android:layout_below = "@id/button"

ini berarti bahwa sesuai konfigurasi diatas, button 4 akan diletakkan di sebelah kanan bawah dan diatas button 2

66 PEMROGRAMAN APLIKASI MOBILE

PEMROGRAMAN APLIKASI MOBILE 67 BAB 6

INTERAKSI ANTAR ACTIVITY (INTENT)

A. INTENT

Intent adalah sebuah jembatan penghubung yang digunakan untuk perpindahan halaman antar activity dalam aplikasi. Suatu activity dapat berpindah dari satu activity ke activity lain dengan membawa data maupun tidak, bahkan intent dapat membuka aplikasi lain seperti Gmail, GoogleMap, dll

Sebagai contoh, dalam sebuah halaman activity terdapat sebuah button yang mana ketika user menekan tombol tersebut, maka user bisa berpindah ke halaman activity lain, dapat membuka peta atau dapat mengakses internal device seperti kamera.

startActivity() adalah sebuah method yang digunakan untuk memulai sebuah activity lain. Untuk dapat memanggil methode tersebut maka pengguna harus membuat object terlebih dahulu dari class android.content.intent.

Secara umum Intent dibagi menjadi 2, yaitu :

1. Explicit Intent berfungsi untuk mengaktifkan activity yang dibuat oleh user dalam satu aplikasi yang sama. Misalnya seperti : Berpindah Activity.

2. Implicit Intent berfungsi untuk memanggil fungsi activity yang sudah tersedia pada fungsi internal android seperti Kamera, Dial Number, Open Browser dan lainnya.

Pemanggilan Intent secara explicit dilakukan dengan cara menentukan nama Activity tujuan. Intent mempunyai dua parameter, yaitu yang pertama adalah Context (tempat dimana activity tersebut sedang aktif) dan berikutnya adalah destination (activity yang akan dituju jika user melakukan sebuah aksi, misal menekan button)

Intent intent = new Intent(this, NextActivity.class);

startActivity(intent);

68 PEMROGRAMAN APLIKASI MOBILE

putExtra() adalah suatu metode yang disediakan oleh Intent yang digunakan untuk mengirimkan data pada activity yang dituju. Data yang dikirimkan dapat berupa string, integer, double, float, boolean, ArrayList, Char, array dll. Namun tidak semua tipe data dapat dikirim menggunakan intent, contohnya tipe data berukuran besar seperti bitmap atau file tidak dapat dikirim antar activity melalui metode ini.

B. Cara Membuat Explicit Intent

Berikut ini adalah cara membuat Intent yaitu interaksi antara halaman satu dengan yang lainnya

1. Buatlah sebuah project dengan nama INTENT-1

2. Bukalah main_activity.xml, pada bagian component tree ubah constrain layout menjadi linear layout – vertical seperti pada contoh jobheet sebelumnya

3. Buatlah 3 Button dengan nama Text dan nama Id seperti dibawah ini

Gambar 6. 1 Tampilan Button

4. Ubahlah pada mode Text, pastikan code xml ketiga button tersebut seperti dibawah ini

<Button

android:id="@+id/button_explicit"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_centerHorizontal="true"

android:layout_marginTop="150dp"

PEMROGRAMAN APLIKASI MOBILE 69

android:onClick="HandleExplicit"

android:text="EXPLICIT INTENT" />

<Button

android:id="@+id/button_implicit"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_centerHorizontal="true"

android:onClick="HandleImplicit"

android:text="IMPLICIT INTENT" />

<Button

android:id="@+id/button_extra"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:onClick="HandleIntentExtra"

android:text="Intent with Extra" />

5. Bukalah file MainActivity.java buatlah pendeklarasian variabel atau disebut juga pendeklarasian objek dan buatlah pengenalan komponen seperti dibawah ini

Gambar 6. 2 Tampilan MainActivity

6. Buka file main_activity.xml pada bagian text, lalu pada tag button tambahkan android:onClick="handleExplicit"

kemudian pindahkan cursor pada baris yang memuat kode

“handleExplicit” kemudian tekan tombol shortcut Alt + Enter dan pilih Create 'handleExplicit(View view)' in 'MainActivity'. Android Studio akan menambahkan secara otomatis method pada file MainActivity. Proses ini digunakan untuk menambahkan logika pada Activity ketika tombol ditekan.

70 PEMROGRAMAN APLIKASI MOBILE

7. Pada handler ini, tambahkan logika untuk membuka ExplicitIntentActivity dengan menggunakan Intent

Intent explicit = new Intent(this, Explicit_Intent.class);

startActivity(explicit);

8. Amati apakah terdapat eror ? ya, pastinya terdapat eror, hal ini disebabkan karena class Explisit_intent belum dibuat, oleh karena itu buatlah Activity baru yang bernama Explicit_Intent, activity ini yang akan dipanggil ketika button_explicit ditekan

9. Selanjutnya bukalah activity_explicit_intent.xml buatlah Tampilan “Hallo ini halaman Explicit Intent” seperti dibawah ini

Gambar 6. 3 Tampilan Halaman Explicit Intent

10. Jalankan program, maka akan tampil output seperti berikut ini Hasil Output Explicit Intent

PEMROGRAMAN APLIKASI MOBILE 71

Gambar 6. 4 Hasil output Explicit Intent

C. Cara Membuat Implicit Intent

Android menyediakan aktivity bawaan agar user dapat mengakses internal device seperti call, dialpad, camera, contact, browser, call log, gallery, dll. Pemanggilan aktivity ini disebut Implicit Intent.

User bisa melakukannya dengan cara mendefinisikan aksi tertentu yang umumnya menggunakan prefiks Action.

Dibawah ini merupakan contoh kode untuk pemanggilan Gallery yang berisi gambar

Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);

Berikut cara untuk membuka suatu alamat website menggunakan suatu browser tertentu :

1. Masih di project yang sama, Buka dan amati file MainActivity.java dan activity_main.xml dalam project Intent.

72 PEMROGRAMAN APLIKASI MOBILE

2. Pada tombol Implicit Intent tambahkan atribut android:onClick="handleImplicitIntent", kemudian generate handler menggunakan shortcut Alt + Enter.

3. Lengkapi dengan logika intent, untuk membuka suatu halaman Facebook

public void HandleImplicit(View view) { Intent implicit = new

Intent(Intent.ACTION_VIEW,

Uri.parse("http://www.facebook.com"));

startActivity(implicit);

}

4. Jalankan program maka akan tampil output seperti dibawah ini Hasil Output Implicit Intent

Gambar 6. 5 Hasil Output Implicit Intent D. Cara Mengirim Data Antar Activity

1. Masih di project yang sama, buatlah sebuah activity baru yang bernama Intent_with_extra yang digunakan

PEMROGRAMAN APLIKASI MOBILE 73 sebagai halaman untuk memasukkan data dan tambahkan activity baru dengan nama Tampil, yang digunakan sebagai halaman untuk menampilkan data sehingga struktur folder andorid keseluruhan sebagai berikut :

Gambar 6.6 Struktur Folder

2. Buka fila activity_intent_with_extra.xml dan buatlah tampilan seperti dibawah ini

74 PEMROGRAMAN APLIKASI MOBILE

Gambar 6. 7 Tampilan File activity_intent_with_extra.xml

Sesuaikan nama id yang dipakai dan nama text button.

Tampilan ini sama dengan tampilan pada praktikum sebelumya, hanya saja pada praktikum sebelumnya output text ditampilkan pada halaman itu sendiri, sedangkan praktikum kali ini kita akan mencoba menampilkan data ke activity lain yang dituju

3. Pada tombol Intent With Extra tambahkan atribut android:onClick="WithPutExtra", kemudian generate handler menggunakan shortcut Alt + Enter.

4. Secara otomatis akan dibuatkan fungsi WithPutExtra () pada Intent_with_extra.java kemudian lengkapi logika intent untuk mengambil nilai dari EditTeks menggunakan fungsi putExtra ()

public void WithPutExtra(View view) { Intent explicit = new Intent(this, Tampil.class);

explicit.putExtra("name", nama.getText().toString());

startActivity(explicit);

}

5. Lengkapi pendeklarasian variabel dan pengenalan komponen seperti berikut ini

PEMROGRAMAN APLIKASI MOBILE 75 Gambar 6.8 Tampilan Class Intent With Extra

6. Selanjutnya buka file activity_tampil.xml dan buatlah TextView untuk menampilkan nilai yang dimasukkan dari activity lain

Gambar 6. 9 Tampilan activity_tampil.xml

7. Kemudian buka file Tampil.java dan tambahkan code berikut ke dalam fungsi OnCreate ()

TextView t = (TextView) findViewById(R.id.tampil);

76 PEMROGRAMAN APLIKASI MOBILE

Bundle bundle = getIntent().getExtras();

String s = bundle.getString("name");

t.setText("HALLO " +s);

8. Amati dan analisa adakah perbedaan deklarasi object dan pengenalan komponen pada code diatas (poin 7) dengan code2 sebelumnya?

9. Jalankan program, maka akan keluar tampilan seperti dibawah ini Hasil output Intent With Extra

Gambar 6.10 Tampilan Intent With Extra

SOAL

1. Modifikasi Program diatas sehingga bisa mengirimkan dan menampilkan data berikut ke suatu Activity yang dituju Nim :

Nama : Kelas :

PEMROGRAMAN APLIKASI MOBILE 77

1. Bukalah Project Intent-2 yang telah diberikan, amatilah activity_main.xml dan buatlah fungsi untuk menghandle masing-masing button pada activity_main.xml

Gambar 6.11 Membuat Fungsi handleRadioButton

2. Bukalah MainActivity.java buatlah intent untuk menuju ke halaman yang dituju seperti dibawah ini

public void handleRadioButton(View view) { Intent intent = new

Intent(this,Ekspedisi.class);

startActivity(intent);

}

public void HandleListView(View view) { Intent intent = new

Intent(this,ListView.class);

startActivity(intent);

}

public void HandleDialogMessage(View view) { Intent intent = new

Intent(this,DialogMessage.class);

78 PEMROGRAMAN APLIKASI MOBILE startActivity(intent);

}

3. Bukalah activity_ekspedisi.xml lalu drag and drop RadioGroup terlebih dahulu dalam component tree, selanjutnya drag and drop RadioButton ke dalam RadioGrup yang telah dibuat sebelumnya sehingga struktur komponen tree menjadi seperti dibawah ini

Gambar 6.12 Drag and Drop Radio Button

4. Bentuk tampilan RadioButton adalah vertikal, bagaimana cara mengubahnya ke horizontal ? tulislah pada laporan

5. Bukalah class expedisi.java buatlah deklarasi object dari komponen-komponen yang digunakan seperti berikut ini, untuk TextView tidak perlu di deklarasikan karena hanya digunakan untuk menampilkan Text saja private EditText dari, ke, berat;

private RadioGroup radio_group_1;

private RadioButton rb1,rb2,rb3;

private Button button_hitung;

6. Buatlah program untuk pengenalan komponen seperti dibawah ini :

protected void onCreate(Bundle savedInstanceState) {

PEMROGRAMAN APLIKASI MOBILE 79 super.onCreate(savedInstanceState);

setContentView(R.layout.activity_ekspedisi);

dari = findViewById(R.id.id_dari);

ke = findViewById(R.id.id_ke);

berat = findViewById(R.id.id_berat);

button_hitung =

findViewById(R.id.button_hitung);

}

7. Buatlah fungsi HandleHitung () dengan cara sama pada latihan sebelumnya untuk menghandle ketika button Hitung di klik

Intent intent = new

Intent(this,TampilExpedisi.class);

Perintah tersebut digunakan untuk membuka class TampilEkspedisi jika button hitung di klik

8. Masih dalam fungsi HandleHitung() buatlah perintah untuk mengambil text dari EditText menggunakan fungsi putEkstra()

intent.putExtra("key", dari.getText().toString());

intent.putExtra("key2", ke.getText().toString());

9. Untuk mengambil nilai yang dipilih pada RadioButton gunakan fungsi getCheckedRadioButtonId() dimana nomor indeks selalu dimulai dari 0

//membuat ID bagi radio button yang diklik int selectedId =

80 PEMROGRAMAN APLIKASI MOBILE

Toast.makeText(this, "Tidak ada yang dipilih!", Toast.LENGTH_SHORT).show();

} else{

RadioButton rb =

radio_group_1.findViewById(selectedId);

intent.putExtra("key4", rb.getText());

Toast.makeText(this, "Pilihan Anda adalah

"+ rb.getText(), Toast.LENGTH_SHORT).show();

}

10. Karena nilai yang didapatkan dari EditText defaultnya berupa String, maka untuk berat harus di parsing terlebih dahulu ke tipe data integer agar dapat diproses perhitungan total biayanya, parsing tipe data menggunakan perintah Integer.parseInt ()

11. Bukalah activity_tampil_ekspedisi.xml buat TextView seperti dibawah ini

Gambar 6.13 Halaman activity_tampil_ekspedisi.xml

PEMROGRAMAN APLIKASI MOBILE 81 12. Bukalah tampil_ekspedisi.java lakukan pendeklarasian

variabel dan pengenalan komponen

private TextView text1, text2, text3, text4, text5;

@Override

text1 = findViewById(R.id.text1);

text2 = findViewById(R.id.text2);

text3 = findViewById(R.id.text3);

text4 = findViewById(R.id.text4);

text5 = findViewById(R.id.text5);

13. Kemudian masih didalam fungsi onCreate () tambahkan perintah untuk mengambil data yang dimasukkan user menggunakan Bundle dan gunakan “key” yang sama

14. Perintah berikut ini digunakan untuk menampilkan nilai pada TextView yang telah dibuat

tampil.setText("Selamat Datang di JNP Express");

text1.setText("Kota Asal = " + asal);

text2.setText("Kota Tujuan = " + tujuan);

text3.setText("Jenis Paket = " + paket);

text4.setText("Berat = " + berat);

15. Untuk biaya, gunakan seleksi kondisi if..else if.. else

82 PEMROGRAMAN APLIKASI MOBILE biaya = berat * 8000;

}

text5.setText("Biaya = " + biaya );

16. Selesai, kemudian jalankan program maka akan muncul tampilan sebagai berikut

PEMROGRAMAN APLIKASI MOBILE 83 Gambar 6.14 Hasil Output Studi Kasus Radio Button

84 PEMROGRAMAN APLIKASI MOBILE F. Studi Kasus List View

1. Bukalah activity_list_view dan drag and drop komponen widget ListView, jika tidak menemukan bisa di search, sehingga tampil sebagai berikut

Gambar 6.1 Tampilan activity_list_view

2. ListView digunakan untuk menampilkan pilihan item yang dapat dipilih oleh user

3. Bukalah ListView.java Lakukan pendeklarasian komponen menggunakan perintah berikut

//Pola 1. Pendeklarasian/penginisialisasian komponen

android.widget.ListView list_users;

4. Buatlah array users untuk menyimpan daftar kata yang akan ditampilkan pada list view

String[] users = {

"Malang", "Kediri", "Surabaya", "Tulungagung", "Batu", "Pasuruan", "Probolinggo", "Bojonegoro", "Gresik",

"Tuban", "Bandung", "Jakarta", "Semarang", "Jogja",

"Cirebon", "Klaten", "Sumedang", "Sukabumi", "Bogor", "Banyuwangi", "Ngawi", "Madiun",

"Purwakarta", "Purbalingga", "Jember", "Garut”};

PEMROGRAMAN APLIKASI MOBILE 85 5. Array Adapter digunakan sebagai jembatan antara

array dan list view (atau recycler view) lakukan pendeklarasian Array Adapter

ArrayAdapter arrayAdapter;

6. Pada fungsi onCreated () tambahkan perintah berikut ini

@Override

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

setContentView(R.layout.activity_list_view);

//Pola 2. Mengenali komponen

list_users = findViewById(R.id.list_users);

arrayAdapter = new ArrayAdapter

(this,android.R.layout.simple_list_item_1,users);

list_users.setAdapter(arrayAdapter);

list_users.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override

public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

String index =

list_users.getItemAtPosition(position).toString();

Toast.makeText(ListView.this, "Pilihan Anda adalah : " + index, Toast.LENGTH_LONG).show();

}

7. Perintah Toast.makeText digunakan untuk menampilkan text selama beberapa menit dan akhirnya menghilang, tergantung kategori yang dipilih LENGHT_LONG atau LENGHT_SHORT, Teks akan ditampilkan pada bagian bawah atau atas layar smartphone

8. Jalankan program, maka akan muncul tampilan seperti berikut ini, kemudian pilih button List View maka akan tampil pilihan kota, ketika user memilih Tulungagung maka akan muncul toast dibawah layar seperti yang ditandai pada kotak merah

86 PEMROGRAMAN APLIKASI MOBILE

Gambar 6.2 Hasil Output Studi Kasus List View

PEMROGRAMAN APLIKASI MOBILE 87 BAB 7

FRAGMENT

A. URAIAN MATERI FRAGMEN

Fragmen adalah bagian dari antarmuka pengguna dalam sebuah FragmentActivity. Fragmen yang terdapat dalam android dapat dikombinasikan maupun digunakan Kembali.

Fragmen membuat UI yang telah dibuat menjadi dinamis dan fleksibel, dimana pengembang dapat mengombinasikan beberapa fragmen dalam satu aktivitas untuk membuat sebuah antarmuka yang multi-panel dan menggunakan Kembali sebuah fragmen dalam aktivitas lainnya.

Pengembang dapat menganggap fragmen sebagai sebuah bagian modular dari aktivitas, dimana fragmen ini memiliki daur hidup sendiri, menerima kejadian masukan sendiri, dan bisa dilakukan proses penambahkan atau penghapusan saat aktivitas berjalan. (semacam "subaktivitas" yang bisa digunakan kembali dalam aktivitas berbeda).

Sebuah fragmen memiliki siklus proses sendiri, mengelola dan menentukan tata letaknya sendiri, serta mampu menangani peristiwa inputnya sendiri. Fragmen tidak mempu berjalan sendiri, harus dihosting atau tertanam oleh aktivitas maupun fragmen lainnya, sehingga siklus hidup fragmen ditentukan atau dipengaruhi oleh siklus hidup aktivitas host dan fragmen yang diterimanya memiliki input peristiwa sendiri.

Sebagai contoh saat aktivitas dihentikan sementara, semua fragmen di dalamnya juga secara otomatis dihentikan sementara, dan apabila aktivitas dihapus, semua fragmen juga ikut terhapus. Namun, saat aktivitas berjalan (dalam status daur hidup dilanjutkan), memanipulasi setiap fragmen secara terpisah dapat dilakukan, seperti menambah atau menghapusnya.

Dalam aplikasi Android, kita dapat menggunakan lebih dari satu fragmen dalam satu aktivitas guna membuat UI Multi-Panel dan juga dapat menggunakan satu fragmen dalam

88 PEMROGRAMAN APLIKASI MOBILE

beberapa aktivitas. Seperti yang ditampilkan dalam Gambar 89.

Fragmen Manager memiliki fungsi sebagai sarana maupubnpenanggung jawab untuk menambah, menghapus maupun mengganti fragmen pada waktu berjalan di aktivitas manapun.

Ketika proses penambahan fragmen sebagai bagian dari layout aktivitas, fragmen tersebut terletak dalam ViewGroup di hirarki tampilan aktivitas tersebut dan fragmen akan mendefinisikan layout tampilannya sendiri.

Fragmen menyediakan modularitas dan fungsi untuk penggunaan Kembali ke dalam UI aktifitas, memungkinkan pengguna untuk membagi UI kedalam bagian-bagian yang terpisah. Aktifitas adalah tempat ideal untuk menempatkan elemen global di bagian sekitar UI aplikasi, umumnya digunakan sebagai panel navigasi. Fragmen cocok digunakan untuk mengelola UI dari satu ataupun Sebagian layer.

Misalkan terdapat sebuah aplikasi yang bisa menampilkan daftar list disebelah kiri layar, dan fragmen lainnya untuk menampilkan. Isi berita di sebelah kanan layar. Kedua fargmen ini muncul dalam satu aktivitas, berdampingan, dan masing-masing fragmen memiliki metode callback daur hidup serta menangani kejadikan dari masukan penggunanya.

Tujuannya adalah agar pengguna bisa memilih list menu dan membaca beritanya dalam sebuah aktivitas yang sama.

Setiap fragmen juga harus didesain sebagai komponen modular dan bisa digunakan Kembali. Setiap fragmen mendefinisikan layout dan perilakunya dengan cara callback daur hidupnya sendiri. Pengembangd apat memasukkan satu fragmen dalam banyak aktivitas, sehingga desainnya harus dapat digunakan Kembali dan mencegah memanipulasi satu fragmen dari fragmen lainnya secara langsung. Hal ini sangat penting untuk diperhatikan karena fragmen modular yang telah dibuat sebelumnya dapat mengubah kombinasi fragmen untuk ukutan layar yang berbeda

PEMROGRAMAN APLIKASI MOBILE 89 Berbagai macam peralatan android misalnya tablet dan smartphone memiliki ukuran layar ang berbeda-beda, pada layer yang memiliki ukuran besar, aplikasi dituntut harus dapat menampilkan panel aplikasi secara statis dimana menu navigasi tersebut nyaman dilihat oleh pengguna, sedangkan di layer yang lebih kecil, aplikasi tentu saja tidak dapat menampilkan seluruh ukuran layer tersebut, dikarenakan resolusi ataupun ukurannya terlalu kecil, namun tetap dituntut untuk dapat menampilkan menu navigasi yang lebih kecil, dengan karakteristik tetap nyaman digunakan oleh pengguna serta daftar tata letak linear harus rapi. Walau ada beberapa bagian yang tidak ditampilkan, dan dalam menampilkannya perlu menekan tombol secara khiusus. Mengelola semua varian tersebut dalam sebuah aktivitas merupakan tugas yang cukup sulit. Pemisahan beberapa elemen navigasi dari sebuah konten dapat mempermudah proses pengelolaan fragmen, kemudian aktivotas tersebut bertugas menampilkan UI navigasi yang benar Ketika fragmen menampilkan daftar dengan tata letak yang sesuai. Dua versi layar yang sama, namun memiliki ukuran layer yang berbeda ditampilkan dalam Gambar 7.1

Gambar 7.1 Contoh Fragmen di Android

Sebelah kiri, merupakan contoh layar besar yang berisi panel navigasi dan dikontrol olej aktivitas serta list daftar pertak yang dikontrol oleh fragmen. Di sisi kanan, sebuah layar berukuran kecil berisi menu navigasi yang posisinya ada di bawah dan

90 PEMROGRAMAN APLIKASI MOBILE

dikontrol oleh aktivitas, serta daftar linear yang dikontrol oleh fragmen

Gambar 7.2 Contoh Fragmen di Android

Membagi sebuah UI menjadi lebih dari satu fragmen akan memudahkan pengembang aplikasi dalam mengubah tampilan aktivitas Ketika runtime. Pengembang aplikasi dapat menggunakan beberapa instance dari sebuah class fragmen yang sama dalam aktivitas yang sama, di beberapa aktivitas yang dapat juga sebagai turunan dari fragmen lainnya.

Pengembang hana perlu menyediakan fragmen dengan logika yang diperlukan untuk mengelola UI aplikasi. Disarankan menghindari dependensi atau manipulasi antara fragmen.

B. MEMBUAT FRAGMEN

Dalam membuat fragmen, subclass fragment harus dibuat terlebih dahulu. Kelas fragment memiliki kode yang mirip seperti Activity dan kelas ini juga memiliki metode callback yang mirip dengan Activity, seperti onCreate(), onStart(), onPause(), dan onStop().

Saat mengkonversi aplikasi Andoid untuk menggunakan fragmen.

Memindahkan kode dari metode callback aktivitas ke masing-masing metode callback fragmen dapat dilakukan, dimana umumnya metode daur hidup berikut perlu diimplementasikan.

PEMROGRAMAN APLIKASI MOBILE 91 1. onCreate: Sistem memanggil metode ini saat membuat

fragmen. Dalam implementasinya, inisialisasi komponen penting dari fragmen yang ingin dipertahankan ketika fragmen dihentikan sementara atau dihentikan, kemudian dilanjutkan perlu diinisialisasi terlebih dahulu.

2. onCreateView(): Sistem akan memanggil metode ini ketika fragmen membuat ataupun menggambar antarmuka penggunanya untuk yang pertama kali. Dalam menggambar UI fragmen, mengembalikan View dari metode ini yang menjadi root-layout fragmen perlu dilakukan. Hasil yang dikembalikan bisa berupa null jika fragmen tidak menyediakan UI.

3. onPause(): Sistem akan memanggil metode ini sebaga sebuahi indikasi pertama bahwa pengguna sedang meninggalkan fragmen, (walau itu tidak selalu berarti fragmen sedang dimusnahkan). Di sinilah biasanya perubahan yang harus dipertahankan di luar sesi pengguna saat ini harus diikat (karena kemungkinan pengguna tidak akan kembali).

Umumnya aplikasi harus menerapkan setidaknya tiga metode diatas untuk setiap fragmen, namun terdapat beberapa metode callback lain yang juga harus digunakan untuk menangani berbagai tahap daur hidup fragmen. Semua metode callback daur hidup dibahas lebih detail di bagian Menangani Daur Hidup Fragmen. Metode - metode fragmen lainnya adalah sebagai berikut:

4. onAttach() metode ini panggil pertama kali bahkan sebelum onCreate() callback dan setelah fragmen telah dipasangkan ke activity.

5. onActivityCreated() Metode ini dipanggil setelah Activity onCreate() Callback telah selesai dieksekusi. Metode ini

5. onActivityCreated() Metode ini dipanggil setelah Activity onCreate() Callback telah selesai dieksekusi. Metode ini