Используйте эту картинку:
1.В качестве вида вы можете использовать деятельность и фрагмент.
public class AuthenticationActivity extends BaseActivity implements AuthenticationPatternFragment.NavigateToDashboardCallback,
AuthenticationPasswordFragment.NavigateToDashboardCallback {}
public class AuthenticationPasswordFragment extends Fragment implements AuthenticationContract.View {}
- лучше для вас, чтобыимеет небольшую активность и реализует компонент только ящик навигации, панель инструментов, .. в действии и другие фрагменты.
2.используйте класс в качестве докладчика для подключения к хранилищу.
3.useкласс в качестве хранилища для get, set, getAll, обновления данных в локальной базе данных и на удаленном сервере.
public class AuthenticationRepository implements IAuthenticationRepository {
private IAuthenticationRepository mAuthenticationRealmRepository;
private IAuthenticationRepository mAuthenticationRestRepository;
public AuthenticationRepository(IAuthenticationRepository restRepository, IAuthenticationRepository realmRepository) {
mAuthenticationRestRepository = restRepository;
mAuthenticationRealmRepository = realmRepository;
}
private AuthenticationRepository() {
}
@Override
public void get(CallRepository<Authentication> callRepository) {
mAuthenticationRealmRepository.get(callRepository);
}
@Override
public void update(Authentication authentication, CallRepository<Authentication> callRepository) {
mAuthenticationRealmRepository.update(authentication, callRepository);
}
@Override
public void get(Integer identifier, CallRepository<Authentication> callRepository) {
mAuthenticationRealmRepository.get(identifier, callRepository);
}
@Override
public void getAll(CallRepository<List<Authentication>> callRepository) {
mAuthenticationRealmRepository.getAll(callRepository);
}
}
4.создать пакет как модели, в которые можно импортировать все модели из него.
5.Вы можете создать ClassNameContract в качестве интерфейса для определения двух других интерфейсов в качестве представления и докладчика, например:
public interface AuthenticationContract {
interface View extends BaseView<Presenter>{
}
interface Presenter extends BasePresenter{
}
---------- Выможете использовать этот пример для лучшего обзора в MVP