android的samples

https://github.com/googlesamples/都应该看看啊

http://www.cnblogs.com/JustRun1983/p/3727560.html 很好的见解

http://www.jianshu.com/p/01d3c014b0b1 讲解

1.先研究https://github.com/googlesamples/android-architecture ,关于mvp很好的实践。

activity 管理 fragment,界面都用fragment。Presenter和View都是互相引用的。互相引用在Presenter里完成的。

statisticsFragment 是统计数量的,侧滑菜单的第二个选项


new StatisticsPresenter(
                Injection.provideTasksRepository(getApplicationContext()), statisticsFragment);
很神奇的一句话吧,new完之后没有赋值。

Injection.provideTasksRepository(getApplicationContext()) 是数据

statisticsFragment 相当于View, 这个View只是接口而已。

mStatisticsView.setPresenter(this);把new出来的,引用到别处了,所以new 出来的不会被回收啊。


statisticsFragment 的onResume里会执行statisticsFragment .start

P把M和v隔离开了。




mvp挺简单的吧



下边看看测试:

http://liuzhijun.iteye.com/blog/1512780

主要用了Mockito, 目的是,主要是测试presenter, 逻辑测试。

@Mock 

1返回指定的值

when(mStatisticsView.isActive()).thenReturn(true);

2验证程序是否走到某一句话。

verify(mStatisticsView).setPresenter(mStatisticsPresenter);


@Captor

verify(mTasksRepository).getTasks(mLoadTasksCallbackCaptor.capture());
        mLoadTasksCallbackCaptor.getValue().onTasksLoaded(TASKS);

把这行getTasks()中的参数,赋值给mLoadTasksCallbackCaptor。















你可能感兴趣的:(android,java)