Skip to content

gzeinnumer/RepositoryImplementationExample

Repository files navigation

RepositoryImplementationExample

  • Implementation
implementation "androidx.lifecycle:lifecycle-viewmodel:2.2.0"
  • Interface
public interface DummyRepository {
    LiveData<String> getStringRepository();
}
  • Repository Implementation
public class DummyRepositoryImpl implements DummyRepository{

    public DummyRepositoryImpl() {
    }

    @Override
    public LiveData<String> getStringRepository() {
        MutableLiveData<String> str = new MutableLiveData<>();
        str.setValue("String From DummyRepositoryImpl");

        return str;
    }
}
  • ViewModel
public class MainVM extends ViewModel {

    DummyRepositoryImpl repository;

    public MainVM() {
        repository = new DummyRepositoryImpl();
    }

    public LiveData<String> getData(){
        return repository.getStringRepository();
    }
}
  • MainActivity
MainVM viewModel = new ViewModelProvider(this).get(MainVM.class);

viewModel.getData().observe(this, new Observer<String>() {
    @Override
    public void onChanged(String s) {
        Log.d(TAG, "onChanged: "+s);
    }
});

Copyright 2020 M. Fadli Zein

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages