Передать Context в Model MVP

обьясните пожалуйста. Собственно для работы с базой данных нужен контекст. Не совсем понимаю как правильно передать его в модель.


Ответы (1 шт):

Автор решения: Сергей Бувака

Самый просто это передать в модель Application Context.

public class MyApplication extends Application {

    private static Context context;

    public void onCreate() {
        super.onCreate();
        MyApplication.context = getApplicationContext();
    }

    public static Context getAppContext() {
        return MyApplication.context;
    }
}

В манифесте

<application android:name="com.xyz.MyApplication">

</application>

Так вы можете получить контекст Application из любой точки приложения. Для большинства случаев это верное решение.

Если же из каких-то соображений вам это не подходит, то обычно в Presenter вы имеете ссылку на View которая либо сама является контекстом (Activity) либо же имеет ссылку на контекст (Fragment, View).

→ Ссылка