Google samples-TODO-MVP-Loaders解

2016-08-09  本文已影响0人  手机用户13330

基于Google samples-TODO-MVP项目
前一篇解析:Google samples-MVP(todo APP)解析
本项目源码:todo-mvp-loaders

官方结构图

mvp-loaders.png

具体类结构

类结构.png

执行流

TasksLoader tasksLoader = new TasksLoader(getApplicationContext(), repository);

        mTasksPresenter = new TasksPresenter(
                tasksLoader,
                getSupportLoaderManager(),
                repository,
                tasksFragment
        );
(TasksActivity)
@Override
public void onResume() {    
    super.onResume();    
    mPresenter.start();
}
(TasksPresenter)
@Override
public void start() {
    mLoaderManager.initLoader(TASKS_QUERY, null, this);
}
    @Override
    public List<Task> loadInBackground() {
        return mRepository.getTasks();
    }
    @Override
    public void onLoadFinished(Loader<List<Task>> loader, List<Task> data) {
        mTasksView.setLoadingIndicator(false);

        mCurrentTasks = data;
        if (mCurrentTasks == null) {
            mTasksView.showLoadingTasksError();
        } else {
            showFilteredTasks();
        }
    }
上一篇 下一篇

猜你喜欢

热点阅读