hknnn adlı üyeden alıntı: mesajı görüntüle
Hocam yazdıgınız kodda mvp mantıgına ters seyler var. UserModel de yaptıgınızı presenterın icindede yapabilirsiniz. Ama dogru degil. Mvp nin kullanım amacı kodu katmanlara bölerek temiz kod (clean code) yazmak.

https://github.com/antoniolg/androidmvp

Bu orneği ben beğendim ilk başta bunu incelemenizi tavsiye ederim. Buna benzer yapabilirsiniz.

İyi çalışmalar
Bilgiler için teşekkür ederim. Verdiğiniz repo adresini inceledim ve basit bir mantıkla kendi sistemimi oluşturdum örnek amaçlı.

(Verdiğiniz repo adresinde ki gibi interactor kullanmadım ihtiyaç yok diye)

Şu an yaptığım sistem şu şekilde. Bi göz atıp eğer bu mantık doğru mu değil mi diye kontrol edebilir misiniz? Buna göre yaptığım uygulama da fazla ileri gitmeden mvp'ye çevireyim

Şimdiden teşekkür ederim.


Bunlar class'lar;



MainActivity.java
public class MainActivity extends AppCompatActivity{
    private mainPresenter presenter;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        presenter = new mainPresenterImpl(this);
        presenter.validate("admin","1234");
    }

}
mainPresenter.java
public interface mainPresenter {
    void validate(String email, String password);

}
mainPresenterImpl.java // Sanırım mainPresenter'a ekleyebilirim bunu ancak ortalık karışmasın diye ayrı bir dosya daha iyi olur sanırım.
public class mainPresenterImpl implements mainPresenter {
    private Activity activity;
    mainModel mainModel = new mainModel();
    public mainPresenterImpl(Activity activity) {
        this.activity = activity;
    }
    @Override
    public void validate(String email, String password) {
        if (mainModel.validate(email,password).equals("success")){
            activity.startActivity(new Intent(activity, HomeActivity.class));
        }else{
            Toast.makeText(activity,"Hatalı",Toast.LENGTH_SHORT).show();
        }
    }

}

mainModel.java
public class mainModel {

    public String validate(String username, String password) {
        if (username.equals("admin") && password.equals("1234")) {
            return "success";
        } else {
            return "error";
        }
    }
}