Hilt ile Dependency Injection



Hilt, Android projelerinizde manuel DI kaynağını azaltan bir Dependency Injection kütüphanesidir. Manuel Dependency Injection yapmak her sınıfı ve bağımlılıklarını elle inşa etmeyi gerektirir. Dependency Injection kütüphaneleri ise otomatik oluşturulan kodları kullanarak test edilebilir ve daha fazla yeniden kullanılabilir kod oluşturmak için biz geliştiricilere fayda sağlar.


Hilt projenizdeki her Android bileşenine container sağlayarak yaşam döngülerini sizin için otomatik olarak yönetir ve böylece uygulamanızda DI yapmanın standart bir yolunu tanımlar. Hilt, Dagger'ın üzerine inşa edilmiştir, Bu nedenle Dagger'ın sağladığı derleme zamanı performansı, ölçeklenebilirlik ve Android Studio desteğinden faydalanır.


Birçok Android framework sınıfı işletim sisteminin kendisi tarafından oluşturulduğundan , Android uygulamalarında Dagger kullanırken ilgili bir şablon mevcuttur. Hilt ise Dagger'dan farklı olarak Jetpack ve Android framework sınıflarıyla entegre edilmiştir ve bu şablonların bir çoğunu kaldırarak sadece önemli kısımlara odaklanmanızı sağlar. En önemlisi ise Hilt ve Dagger bir arada kullanılabilir.


Hilt Kullanımı


Hilt'in kullanımının ne kadar kolay olduğunu anlayabilmek için tipik bir Android uygulamasında hızlı bir şekilde DI uygulayalım. Örneğin AnalyticsAdapter sınıfımızı MainActivity e inject etmek istediğimizi düşünelim.


Öncelikle Hilt'in kod oluşturmasını tetiklemek için @HiltAndroidApp annotation'unu ekleyelim.



İkinci olarak AnalyticsAdapter constructor'una @Inject annotation'u ekleyerek instance'ları nasıl sağlayacağını söylememiz gerek.


Sonrasında MainActivity'e bir AnalyticsAdapter instance'ı inject etmek için, @AndroidEntryPoint annotation'ı ile activityde Hilt'i etkinleştirin ve @Inject kullanarak enjeksiyonu kullanın.




Daha fazla bilgi ve referans alınan yazı için:

https://medium.com/androiddevelopers/dependency-injection-on-android-with-hilt-67b6031e62d


#android #hilt #dependencyinjection

Komünite

Platform

Mobiler.dev Anasayfa
  • Twitter
  • Instagram
  • development_düzenlendi_düzenlendi
  • Youtube
  • slack-icon-black_edited_edited_edited
  • Gri LinkedIn Simge
JetBrains Hakkında Detaylı Bilgi Alın

© 2020 by mobiler.dev

mobilerdevLogo.jpg
Yazarlık Başvurusu Hakkında Bilgi Alın, Başvuru Yapın.
Topluluk Yazarlarını Tanıyın