Dagger 2 untuk Pemula Android

date 01 Sep 2021
date Fathurrahman
date 34
date Mobile App
Dagger 2 untuk Pemula Android

Dagger adalah kerangka kerja injeksi ketergantungan waktu kompilasi yang sepenuhnya statis untuk Java dan Android. Ini adalah adaptasi dari versi sebelumnya yang dibuat oleh Square dan sekarang dikelola oleh Google.

 

Siapa yang harus membaca?

Jika Anda seorang pengembang Android pemula, yang dimulai dengan Android direc t ly dan belajar Java secara paralel - ini adalah untuk Anda. Atau jika Anda salah satu yang mencoba mempelajari Dagger 2 dan Anda merasa agak sulit untuk memahami konten online lainnya — jangan khawatir, saya juga mengalami kesulitan (kami sedikit istimewa, kami perlu dijelaskan secara berbeda ) dan ini pasti untuk Anda. Jika Anda sudah berpengalaman dalam DI dan Dagger, Anda dapat mengambil sesuatu yang baru atau mendapatkan lebih banyak kejelasan (atau mungkin terdengar sangat pemula).

 

Apa itu dagger 2 ?

Dagger 2 adalah kerangka kerja injeksi ketergantungan. Ini didasarkan pada Permintaan Spesifikasi Java (JSR) 330. Ini menggunakan pembuatan kode dan didasarkan pada anotasi. Kode yang dihasilkan relatif mudah dibaca dan di-debug.

Dagger 2 menggunakan anotasi berikut:

  • @Moduledan @Provides: mendefinisikan kelas dan metode yang menyediakan dependensi

  • @Inject: permintaan dependensi. Dapat digunakan pada konstruktor, bidang, atau metode

  • @Component: aktifkan modul yang dipilih dan digunakan untuk melakukan injeksi ketergantungan

Dagger 2 menggunakan kode yang dihasilkan untuk mengakses bidang dan bukan refleksi. Oleh karena itu tidak diperbolehkan menggunakan bidang pribadi untuk injeksi lapangan.

 

Mendefinisikan penyedia ketergantungan (penyedia objek)

Istilah konteks injeksi ketergantungan biasanya digunakan untuk menggambarkan kumpulan objek yang dapat disuntikkan.

Di Dagger 2, kelas yang dianotasi @Modulebertanggung jawab untuk menyediakan objek yang dapat disuntikkan. Kelas tersebut dapat mendefinisikan metode yang dijelaskan dengan @Provides. Objek yang dikembalikan dari metode ini tersedia untuk injeksi ketergantungan.

Metode yang dijelaskan dengan @Providesjuga dapat mengekspresikan dependensi melalui parameter metode. Dependensi ini dipenuhi oleh Dagger 2, jika memungkinkan.

 

Mendefinisikan dependensi (konsumen objek)

Anda menggunakan @Injectanotasi untuk mendefinisikan ketergantungan. Jika Anda membubuhi keterangan konstruktor dengan @Inject, Dagger 2 juga dapat menggunakan instance objek ini untuk memenuhi dependensi. Ini dilakukan untuk menghindari definisi banyak @Providesmetode untuk objek-objek ini.

 

Menghubungkan konsumen dan penyedia

The @Componentdigunakan pada antarmuka. Antarmuka seperti itu digunakan oleh Dagger 2 untuk menghasilkan kode. Pola dasar untuk kelas yang dihasilkan adalah yang Daggerdigunakan sebagai awalan diikuti dengan nama antarmuka. Kelas generate ini memiliki createmetode yang memungkinkan konfigurasi objek berdasarkan konfigurasi yang diberikan. Metode yang didefinisikan pada antarmuka tersedia untuk mengakses objek yang dihasilkan.

Sebuah @Componentantarmuka mendefinisikan hubungan antara penyedia benda (modul) dan benda-benda yang mengekspresikan ketergantungan. Tabel berikut memberikan gambaran umum tentang penggunaan anotasi dagger.

fathur.png

Fathurrahman

Android Mobile

Hallo saya trainer Android Mobile di Mataweb dan saya sudah berpengalaman lebih dari 5 tahun. jadi kali ini saya akan share tutorial ataupun tips seputar mobile aplikasi. Salam kenal

Artikel Terkait

Halo, ada yang bisa kami bantu?