Собственно структура кода:
Activity:
public class MainActivity extends AppCompatActivity {
private iMainActivityModel iModel;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
iModel = new MainActivityModel(this);
}
}
iMainActivityModel:
interface iMainActivityModel {
boolean isFirstStart();
void showSetupFragment();
void showMainFragment();
}
MainActivityModel:
class MainActivityModel implements iMainActivityModel {
private Activity activ;
MainActivityModel(Activity activity){
this.activ = activity;
}
@Override
public boolean isFirstStart() {
return false;
}
@Override
public void showSetupFragment() {
}
@Override
public void showMainFragment() {
}
}
При перевороте телефона собственно активити пересоздается, пересоздается и модель, ибо инициализирую в onCreate. Если скажем там лежит какой-то метод, который ко коллбэку что-то отдать должен будет - в этот момент юзер переворачивает телефон - данные летят в нулл поинтер, ошибка + пересоздание = трата реурсов как по мне.
Можно конечно там проверку делать на нулл, или еще какой хак. Но думаю, это не маст хэв.
Присматриваюсь к биндингу \ каким-то лоадерам, но пока в полной мере не осознаю принцип пользования.
Подтолкнете, что почитать \ изучить? Да и в целом по структуре если покажите годные примеры MVP \ MVVM - буду признателен!
В гугле не забанен, просто не имею толкого представления, что гуглить.