0
Android MVPアーキテクチャを使用しているときにActivity
が参照されるべきか、Presenter
コード内にないかどうか疑問に思っていますか?PresenterはAndroid MVPアーキテクチャのアクティビティについて知っていますか?
私が今までに見つけたMVPアーキテクチャの例は、これを参照していませんが、私のコードではPresenterのプロパティではなく、いくつかのメソッドの引数です。これは問題につながりますか?これはAndroid MVPに従っていないのですか?ここで
は1プレゼンターからのコードの例である:適切なMVPの実装では
package com.example.example;
import android.net.Uri;
import android.support.v4.app.FragmentActivity;
import android.support.v4.content.FileProvider;
import com.example.example.util.Constants;
import com.example.example.util.ImageFile;
import java.io.IOException;
/**
* Presenter from home screen, (Main), of the app
*/
public class MainPresenter implements MainContract.Presenter {
private final MainContract.View mView;
private final ImageFile mImageFile;
public MainPresenter(MainContract.View mainView, ImageFile imageFile) {
mView = mainView;
mImageFile = imageFile;
}
@Override
public void takePicture(FragmentActivity activity) throws IOException {
mImageFile.create(activity);
Uri photoUri = FileProvider.getUriForFile(
activity,
Constants.FILE_PROVIDER_PATH,
mImageFile.getFile());
mView.openCamera(photoUri);
}
Uri getImageFileUri() {
return mImageFile.getUri();
}
}
openCamera()にいくつかのパラメータを追加するだけで、プレゼンターの中でアクティビティを必要としないのですか?あなたがそれをやっているやり方は、あなたがプレゼンターにアンドロイドの依存関係を作り出していることです。これはあなたが避けたいものです – lelloman