Dagger2 ile Custom SharedPreferences Kullanımı
Herkese merhaba,
Dagger2 çoğumuzun kullandığı dependency injection framework’üdür. Uygulamalarımızda genellikle local veirler saklamamız gerekir bunun içinde SharedPreferences’ ı kullanırız. Peki dagger2'de SharedPreferences implementasyonu nasıl kullanılır?
Öncelikle Custom PreferencesHelper sınıfımızı oluşturalım.
Buradaki UserResponse model’i login olduktan sonra api tarafından dönen User modeli olarak planlanmıştır. Login olduğunda kullanıcının bilgilerini SharedPreferences’e kaydedebiliriz.
AppComponent içinde aşağıdaki gibi ekliyoruz.
Şimdi sıra geldi nasıl kullanacağımıza! Çok kolay…
Öncelikle kullanacağımız Activity ya da Fragment de @inject etmemiz yeterli. Aşağıdaki gibi ekleyebilirsiniz.
@Inject
PreferencesHelper preferencesHelper;
Login örneğinden devam edersek… Örneğin kullanıcı bilgilerini girdi ve giriş butonuna bastı. API’den dönen User nesnemizi alıp kaydedebiliriz. Örn;
public void observeLogin() {
vm.getUser().observe(this, new Observer<UserResponse>() {
@Override
public void onChanged(UserResponse user) {
if (user != null) {
preferencesHelper.setUser("user",user);
//diger islemler...
}
}
});
}
İşte bu kadar! Custom Preferences sınıfınızı oluşturup kolayca işlemlerinizi yapabilirsiniz.
NOT : Bu yazıda Dagger 2'nin projeye eklenmesi hakkında değinilmemiştir. Sadece Dagger 2'de SharedPreferences kullanımından bahsedilmiştir. İlerleyen zamanlarda sıfırdan Dagger 2 entegrasyonu hakkında bir yazı gelebilir.
Okuduğunuz için teşekkürler…