Thursday, October 18, 2018

Navigation in Android App Using Navigation Component (Cara Kerja Komponen Navigasi)

Komponen navigasi Android, yang merupakan salah satu komponen arsitektur, dapat digunakan untuk mengimplementasikan navigasi dalam aplikasi android. Menggunakan komponen navigasi, Anda dapat memisahkan logika alur navigasi dari bagian lain dari kode tugas. Aliran navigasi cara ini dapat dengan mudah dimodifikasi tanpa harus membuat banyak perubahan dalam kode. Ini juga menghilangkan kebutuhan untuk menulis kode boilerplate untuk menghubungkan fragmen atau kegiatan dalam aplikasi.

Dalam tutorial ini, Anda dapat mempelajari tentang komponen navigasi dan bagaimana menerapkan navigasi menggunakan komponen navigasi dengan sebuah contoh.

Cara Kerja Komponen Navigasi

Tugas atau fitur dalam aplikasi biasanya terdiri dari beberapa layar tempat data dilihat, dipilih, atau dimasukkan. Di aplikasi Android, setiap layar diimplementasikan sebagai Fragmen atau Aktivitas.

Ketika pengguna memulai tugas, layar atau tujuan dalam alur untuk menyelesaikan tugas ditampilkan satu demi satu. Biasanya klik tombol atau pemilih pilihan item memulai fragmen atau aktivitas berikutnya (tujuan) dalam alur.

Dengan kerangka komponen Navigasi, semua tujuan aliran didefinisikan dalam xml, yang mencakup definisi untuk menghubungkan tujuan. Semua yang perlu dilakukan dalam kode untuk menampilkan layar berikutnya dalam aliran sebagai tanggapan atas suatu peristiwa di widget UI layar saat ini adalah dengan menggunakan kelas komponen Navigasi dan memberikan ID tujuan layar berikutnya yang ditetapkan di xml ke sana.

Xml yang berisi info navigasi perlu dibuat di folder sumber daya navigasi. Untuk menentukan tujuan dan tautan dalam xml, Anda dapat langsung menambahkan elemen xml yang sesuai dengannya dalam tampilan teks atau dapat dibuat menggunakan editor navigasi yang dapat diakses dengan membuka file xml navigasi dan mengklik tab desain.


Berikut grafik navigasi xml berisi dua tujuan fragmen. Tujuan awal dapat ditentukan dengan menetapkan id tujuan untuk memulai atribut Keterdesian elemen akar navigasi. Di bawah ini contoh tujuan searchFlights adalah tujuan awal. Tujuan pencarianFlights terkait dengan penerbanganDaftar tujuan dengan menambahkan elemen tindakan ke tujuan SearchFlights dan menetapkan penerbanganDaftar id tujuan ke atribut tujuan dari elemen tindakan.

<?xml version="1.0" encoding="utf-8"?> <navigation xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" xmlns:android="http://schemas.android.com/apk/res/android" app:startDestination="@id/searchFlights"> <fragment android:id="@+id/searchFlight" android:name="com.zoftino.flights.SearchFlightsFragment" android:label="search_flights" tools:layout="@layout/search_flight" > <action android:id="@+id/action_search_to_list" app:destination="@id/flightsList" /> </fragment> <fragment android:id="@+id/flightsList" android:name="com.zoftino.flights.FlightsListFragment" android:label="flights_list_fragment" tools:layout="@layout/flights_list_fragment" /> </navigation>

Setelah navigasi xml didefinisikan, definisi navigasi perlu ditambahkan ke aktivitas yang mengatur alur tugas. Ini dilakukan dengan mendefinisikan fragmen dalam tata letak aktivitas menggunakan kelas NavHostFragment yang disediakan oleh kerangka navigasi sebagai fragmen dan menambahkan grafik navigasi ke dalamnya dengan menetapkan atribut navGraph untuk menunjuk ke id sumber daya dari xml navigasi.

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="zoftino.com.firestore.FlightActivity"> <fragment android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/flight_nav_fragment" android:name="androidx.navigation.fragment.NavHostFragment" app:navGraph="@navigation/flight_nav_graph" app:defaultNavHost="true"/> </LinearLayout>

Setelah navigasi xml terikat pada suatu aktivitas, tujuan yang didefinisikan dalam xml perlu dihubungkan ke widget UI mulai dari tujuan awal sehingga layar berikutnya ditampilkan sebagai tanggapan terhadap peristiwa widget di halaman sebelumnya. Ini dapat dilakukan menggunakan kelas NavController. Anda perlu memanggil metode navigasi pada NavController dengan melewatkan id tujuan di pengendali event widget, misalnya klik tombol handler.

searchFlightsButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Navigation.findNavController(view).navigate(R.id.action_search_to_list); } });

Begitulah tujuan didefinisikan dan terhubung untuk mengaktifkan navigasi di aplikasi android menggunakan komponen navigasi.

Share : Navigation in Android App Using Navigation Component (Cara Kerja Komponen Navigasi)

Related Posts

Navigation in Android App Using Navigation Component (Cara Kerja Komponen Navigasi)
4/ 5
Oleh

0 comments : Navigation in Android App Using Navigation Component (Cara Kerja Komponen Navigasi)

0 comments : Navigation in Android App Using Navigation Component (Cara Kerja Komponen Navigasi)