├── Data ├── .gitignore ├── src │ └── main │ │ ├── libs │ │ ├── gson-2.2.4.jar │ │ ├── dexmaker-1.0.jar │ │ ├── mockito-all-1.9.5.jar │ │ ├── dexmaker-mockito-1.0.jar │ │ └── espresso-1.1-bundled.jar │ │ ├── AndroidManifest.xml │ │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ │ ├── .classpath │ │ ├── project.properties │ │ ├── java │ │ └── com │ │ │ └── fernandocejas │ │ │ └── android10 │ │ │ └── sample │ │ │ └── data │ │ │ ├── exception │ │ │ ├── UserNotFoundException.java │ │ │ ├── NetworkConnectionException.java │ │ │ └── RepositoryErrorBundle.java │ │ │ ├── cache │ │ │ ├── serializer │ │ │ │ └── JsonSerializer.java │ │ │ ├── UserCache.java │ │ │ ├── FileManager.java │ │ │ └── UserCacheImpl.java │ │ │ ├── repository │ │ │ ├── datasource │ │ │ │ ├── UserDataStore.java │ │ │ │ ├── UserDataStoreFactory.java │ │ │ │ ├── DiskUserDataStore.java │ │ │ │ └── CloudUserDataStore.java │ │ │ └── UserDataRepository.java │ │ │ ├── net │ │ │ ├── RestApi.java │ │ │ ├── ApiConnection.java │ │ │ └── RestApiImpl.java │ │ │ ├── executor │ │ │ └── JobExecutor.java │ │ │ └── entity │ │ │ ├── mapper │ │ │ ├── UserEntityDataMapper.java │ │ │ └── UserEntityJsonMapper.java │ │ │ └── UserEntity.java │ │ └── .project ├── proguard-rules.pro └── build.gradle ├── Presentation ├── .gitignore ├── testLibs │ ├── dexmaker-1.0.jar │ ├── mockito-all-1.9.5.jar │ ├── dexmaker-mockito-1.0.jar │ └── espresso-1.1-bundled.jar ├── src │ ├── main │ │ ├── res │ │ │ ├── drawable-hdpi │ │ │ │ ├── logo.png │ │ │ │ └── ic_launcher.png │ │ │ ├── drawable-mdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── drawable-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── drawable-xxhdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── layout │ │ │ │ ├── activity_user_details.xml │ │ │ │ ├── view_progress.xml │ │ │ │ ├── view_retry.xml │ │ │ │ ├── fragment_user_details.xml │ │ │ │ ├── activity_user_list.xml │ │ │ │ ├── fragment_user_list.xml │ │ │ │ ├── row_user.xml │ │ │ │ ├── activity_main.xml │ │ │ │ └── view_user_details.xml │ │ │ └── values │ │ │ │ ├── dimens.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ ├── .settings │ │ │ └── org.eclipse.jdt.core.prefs │ │ ├── .classpath │ │ ├── project.properties │ │ ├── java │ │ │ └── com │ │ │ │ └── fernandocejas │ │ │ │ └── android10 │ │ │ │ └── sample │ │ │ │ └── presentation │ │ │ │ ├── view │ │ │ │ ├── UserDetailsView.java │ │ │ │ ├── activity │ │ │ │ │ ├── BaseActivity.java │ │ │ │ │ ├── MainActivity.java │ │ │ │ │ ├── UserListActivity.java │ │ │ │ │ └── UserDetailsActivity.java │ │ │ │ ├── UserListView.java │ │ │ │ ├── LoadDataView.java │ │ │ │ ├── fragment │ │ │ │ │ ├── BaseFragment.java │ │ │ │ │ ├── UserDetailsFragment.java │ │ │ │ │ └── UserListFragment.java │ │ │ │ ├── adapter │ │ │ │ │ └── UsersAdapter.java │ │ │ │ └── component │ │ │ │ │ └── AutoLoadImageView.java │ │ │ │ ├── presenter │ │ │ │ ├── Presenter.java │ │ │ │ ├── UserDetailsPresenter.java │ │ │ │ └── UserListPresenter.java │ │ │ │ ├── UIThread.java │ │ │ │ ├── navigation │ │ │ │ └── Navigator.java │ │ │ │ ├── exception │ │ │ │ └── ErrorMessageFactory.java │ │ │ │ ├── mapper │ │ │ │ └── UserModelDataMapper.java │ │ │ │ └── model │ │ │ │ └── UserModel.java │ │ ├── .project │ │ └── AndroidManifest.xml │ └── androidTest │ │ └── java │ │ └── com │ │ └── fernandocejas │ │ └── android10 │ │ └── sample │ │ └── test │ │ ├── exception │ │ └── ErrorMessageFactoryTest.java │ │ ├── view │ │ └── activity │ │ │ ├── UserListActivityTest.java │ │ │ └── UserDetailsActivityTest.java │ │ ├── presenter │ │ ├── UserListPresenterTest.java │ │ └── UserDetailsPresenterTest.java │ │ └── mapper │ │ └── UserModelDataMapperTest.java ├── proguard-rules.pro └── build.gradle ├── Domain ├── ic_launcher-web.png ├── libs │ └── android-support-v4.jar ├── res │ ├── values │ │ ├── strings.xml │ │ └── styles.xml │ ├── drawable-hdpi │ │ └── ic_launcher.png │ ├── drawable-mdpi │ │ └── ic_launcher.png │ ├── drawable-xhdpi │ │ └── ic_launcher.png │ ├── drawable-xxhdpi │ │ └── ic_launcher.png │ ├── values-v11 │ │ └── styles.xml │ └── values-v14 │ │ └── styles.xml ├── src │ └── com │ │ └── fernandocejas │ │ └── android10 │ │ └── sample │ │ └── domain │ │ ├── exception │ │ └── ErrorBundle.java │ │ ├── interactor │ │ ├── Interactor.java │ │ ├── GetUserDetailsUseCase.java │ │ ├── GetUserListUseCase.java │ │ ├── GetUserListUseCaseImpl.java │ │ └── GetUserDetailsUseCaseImpl.java │ │ ├── executor │ │ ├── PostExecutionThread.java │ │ └── ThreadExecutor.java │ │ ├── repository │ │ └── UserRepository.java │ │ └── User.java ├── .classpath ├── AndroidManifest.xml ├── project.properties ├── proguard-project.txt └── .project ├── README.md ├── .gitattributes └── .gitignore /Data/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /Presentation/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /Domain/ic_launcher-web.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mxy1228/MVP/HEAD/Domain/ic_launcher-web.png -------------------------------------------------------------------------------- /Data/src/main/libs/gson-2.2.4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mxy1228/MVP/HEAD/Data/src/main/libs/gson-2.2.4.jar -------------------------------------------------------------------------------- /Data/src/main/libs/dexmaker-1.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mxy1228/MVP/HEAD/Data/src/main/libs/dexmaker-1.0.jar -------------------------------------------------------------------------------- /Domain/libs/android-support-v4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mxy1228/MVP/HEAD/Domain/libs/android-support-v4.jar -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | MVP 2 | === 3 | Android-MVP模式示例程序。 4 | 博客地址:http://blog.csdn.net/guxiao1201/article/details/40147209 5 | -------------------------------------------------------------------------------- /Domain/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Domain 4 | 5 | 6 | -------------------------------------------------------------------------------- /Presentation/testLibs/dexmaker-1.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mxy1228/MVP/HEAD/Presentation/testLibs/dexmaker-1.0.jar -------------------------------------------------------------------------------- /Data/src/main/libs/mockito-all-1.9.5.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mxy1228/MVP/HEAD/Data/src/main/libs/mockito-all-1.9.5.jar -------------------------------------------------------------------------------- /Domain/res/drawable-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mxy1228/MVP/HEAD/Domain/res/drawable-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /Domain/res/drawable-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mxy1228/MVP/HEAD/Domain/res/drawable-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /Data/src/main/libs/dexmaker-mockito-1.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mxy1228/MVP/HEAD/Data/src/main/libs/dexmaker-mockito-1.0.jar -------------------------------------------------------------------------------- /Data/src/main/libs/espresso-1.1-bundled.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mxy1228/MVP/HEAD/Data/src/main/libs/espresso-1.1-bundled.jar -------------------------------------------------------------------------------- /Domain/res/drawable-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mxy1228/MVP/HEAD/Domain/res/drawable-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Domain/res/drawable-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mxy1228/MVP/HEAD/Domain/res/drawable-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Presentation/testLibs/mockito-all-1.9.5.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mxy1228/MVP/HEAD/Presentation/testLibs/mockito-all-1.9.5.jar -------------------------------------------------------------------------------- /Presentation/src/main/res/drawable-hdpi/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mxy1228/MVP/HEAD/Presentation/src/main/res/drawable-hdpi/logo.png -------------------------------------------------------------------------------- /Presentation/testLibs/dexmaker-mockito-1.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mxy1228/MVP/HEAD/Presentation/testLibs/dexmaker-mockito-1.0.jar -------------------------------------------------------------------------------- /Presentation/testLibs/espresso-1.1-bundled.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mxy1228/MVP/HEAD/Presentation/testLibs/espresso-1.1-bundled.jar -------------------------------------------------------------------------------- /Presentation/src/main/res/drawable-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mxy1228/MVP/HEAD/Presentation/src/main/res/drawable-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /Presentation/src/main/res/drawable-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mxy1228/MVP/HEAD/Presentation/src/main/res/drawable-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /Presentation/src/main/res/drawable-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mxy1228/MVP/HEAD/Presentation/src/main/res/drawable-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Presentation/src/main/res/drawable-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mxy1228/MVP/HEAD/Presentation/src/main/res/drawable-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Data/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Data/src/main/.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 3 | org.eclipse.jdt.core.compiler.compliance=1.6 4 | org.eclipse.jdt.core.compiler.source=1.6 5 | -------------------------------------------------------------------------------- /Presentation/src/main/.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 3 | org.eclipse.jdt.core.compiler.compliance=1.6 4 | org.eclipse.jdt.core.compiler.source=1.6 5 | -------------------------------------------------------------------------------- /Domain/res/values-v11/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /Presentation/src/main/res/layout/activity_user_details.xml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /Presentation/src/main/res/layout/view_progress.xml: -------------------------------------------------------------------------------- 1 | 7 | 8 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /Domain/res/values-v14/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Presentation/src/main/res/layout/view_retry.xml: -------------------------------------------------------------------------------- 1 | 7 | 8 |