├── app ├── .gitignore ├── src │ ├── main │ │ ├── assets │ │ │ └── fonts │ │ │ │ ├── ac.ttf │ │ │ │ ├── gtw.ttf │ │ │ │ ├── Roboto-Bold.ttf │ │ │ │ ├── tae_sdk_login.ttf │ │ │ │ ├── Oswald-Stencbab.ttf │ │ │ │ ├── Roboto-ThinItalic.ttf │ │ │ │ └── RobotoCondensed-Regular.ttf │ │ ├── res │ │ │ ├── drawable │ │ │ │ ├── ic_bg_card.9.png │ │ │ │ ├── loading_bg.xml │ │ │ │ ├── sel_btn_reload.xml │ │ │ │ ├── drawer_item_bg.xml │ │ │ │ ├── net_error_loading_selector.xml │ │ │ │ ├── borad_label_bg.xml │ │ │ │ └── selector_toolbar_like.xml │ │ │ ├── mipmap-xxhdpi │ │ │ │ ├── ic_add.png │ │ │ │ ├── ic_time.png │ │ │ │ ├── bg_drawer.jpg │ │ │ │ ├── defalt_img.png │ │ │ │ ├── ic_android.png │ │ │ │ ├── ic_author.png │ │ │ │ ├── ic_arrow_back.png │ │ │ │ ├── ic_launcher.png │ │ │ │ ├── ic_menu_news.png │ │ │ │ ├── ic_menu_photo.png │ │ │ │ ├── ic_menu_video.png │ │ │ │ ├── msg_ic_data.png │ │ │ │ ├── msg_network.png │ │ │ │ ├── ic_drawer_about.png │ │ │ │ ├── ic_drawer_gank.png │ │ │ │ ├── ic_drawer_like.png │ │ │ │ ├── ic_drawer_zhihu.png │ │ │ │ ├── ic_toolbar_copy.png │ │ │ │ ├── ic_toolbar_save.png │ │ │ │ ├── msg_ic_loading.png │ │ │ │ ├── home_board_default.png │ │ │ │ ├── ic_drawer_setting.png │ │ │ │ ├── ic_drawer_wechat.png │ │ │ │ ├── ic_toolbar_like_n.png │ │ │ │ ├── ic_toolbar_like_p.png │ │ │ │ ├── ic_toolbar_share.png │ │ │ │ ├── msg_ic_loading_sel.png │ │ │ │ ├── viewpage_selected.png │ │ │ │ ├── classify_title_left.png │ │ │ │ ├── classify_title_right.png │ │ │ │ ├── home_banner_default.png │ │ │ │ ├── home_special_default.png │ │ │ │ ├── viewpage_noselected.png │ │ │ │ ├── home_viewpage_bottom_bg.png │ │ │ │ └── home_viewpage_default.png │ │ │ ├── mipmap-hdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ ├── ic_reload_normal.png │ │ │ │ └── ic_reload_press.png │ │ │ ├── mipmap-xxxhdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── values-v19 │ │ │ │ ├── dimens.xml │ │ │ │ └── styles.xml │ │ │ ├── anim │ │ │ │ ├── poplayout_up.xml │ │ │ │ └── poplayout_down.xml │ │ │ ├── layout │ │ │ │ ├── fragment_zhihu.xml │ │ │ │ ├── fragment_new_id.xml │ │ │ │ ├── item_newstab.xml │ │ │ │ ├── view_loading_loading.xml │ │ │ │ ├── fragment_main.xml │ │ │ │ ├── fragment_home.xml │ │ │ │ ├── view_loadding_no_data.xml │ │ │ │ ├── fragment_wx.xml │ │ │ │ ├── fragment_gank_girl.xml │ │ │ │ ├── fragment_gank_android.xml │ │ │ │ ├── view_fragment_home_banner_img.xml │ │ │ │ ├── item_home_barand.xml │ │ │ │ ├── item_girl.xml │ │ │ │ ├── fragment_gank.xml │ │ │ │ ├── view_drawer_header.xml │ │ │ │ ├── view_loadding_error.xml │ │ │ │ ├── dialog_loadding.xml │ │ │ │ ├── dialog_loadding_f.xml │ │ │ │ ├── activity_wx_web.xml │ │ │ │ ├── lazy_progress_layout.xml │ │ │ │ ├── fragment_news.xml │ │ │ │ ├── item_home_special.xml │ │ │ │ ├── activity_gank_girl.xml │ │ │ │ └── activity_main.xml │ │ │ ├── values-w820dp │ │ │ │ └── dimens.xml │ │ │ ├── menu │ │ │ │ └── main_menu.xml │ │ │ ├── values │ │ │ │ ├── attrs.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles_layout.xml │ │ │ └── layout-xlarge │ │ │ │ └── fragment_gank.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── android │ │ │ │ └── mvp │ │ │ │ ├── event │ │ │ │ ├── WxSearchEvent.java │ │ │ │ ├── DaLongEvent.java │ │ │ │ └── TabEvent.java │ │ │ │ ├── base │ │ │ │ ├── BaseModel.java │ │ │ │ ├── BasePresenterI.java │ │ │ │ ├── BaseViewI.java │ │ │ │ └── BasePresenter.java │ │ │ │ ├── presenter │ │ │ │ ├── contract │ │ │ │ │ ├── NewDetialContract.java │ │ │ │ │ ├── GankContract.java │ │ │ │ │ ├── WxContract.java │ │ │ │ │ ├── HomeContract.java │ │ │ │ │ └── NewsContract.java │ │ │ │ └── NewDetialPresenter.java │ │ │ │ ├── widget │ │ │ │ ├── loading │ │ │ │ │ ├── IVaryViewHelper.java │ │ │ │ │ ├── VaryViewHelperController.java │ │ │ │ │ └── VaryViewHelper.java │ │ │ │ ├── dialog │ │ │ │ │ ├── LoadingActivityDialog.java │ │ │ │ │ └── LoadingFragmentDialog.java │ │ │ │ └── view │ │ │ │ │ └── MyCardView.java │ │ │ │ ├── bean │ │ │ │ ├── GankHttpResponse.java │ │ │ │ ├── MyUrl.java │ │ │ │ ├── WXHttpResponse.java │ │ │ │ ├── HomeSpecial.java │ │ │ │ ├── HomePost.java │ │ │ │ ├── HomeBanner.java │ │ │ │ ├── M_Base.java │ │ │ │ ├── WXItemBean.java │ │ │ │ └── NewTabs.java │ │ │ │ ├── db │ │ │ │ ├── DbModel.java │ │ │ │ └── DbHelper.java │ │ │ │ ├── util │ │ │ │ ├── BuildConfig.java │ │ │ │ ├── ToastShow.java │ │ │ │ ├── MD5Util.java │ │ │ │ ├── DimenUtil.java │ │ │ │ ├── RxBus.java │ │ │ │ ├── KeyBoardUtils.java │ │ │ │ ├── MyConfig.java │ │ │ │ ├── MyItemTouchHelper.java │ │ │ │ └── SystemUiVisibilityUtil.java │ │ │ │ ├── ui │ │ │ │ ├── video │ │ │ │ │ └── FragmentVideo.java │ │ │ │ ├── zhihu │ │ │ │ │ └── fragment │ │ │ │ │ │ └── FragmentZhihu.java │ │ │ │ ├── gank │ │ │ │ │ └── adapter │ │ │ │ │ │ └── GankPagerAdapter.java │ │ │ │ ├── MyPagerAdapter.java │ │ │ │ ├── sayd │ │ │ │ │ └── adapter │ │ │ │ │ │ └── HomeBannerAdapter.java │ │ │ │ └── main │ │ │ │ │ └── FragmentFactory.java │ │ │ │ ├── model │ │ │ │ ├── GankModel.java │ │ │ │ ├── NewModel.java │ │ │ │ ├── WXModel.java │ │ │ │ └── HomeModel.java │ │ │ │ └── http │ │ │ │ ├── DPService.java │ │ │ │ ├── WeChatApis.java │ │ │ │ ├── ConstantValues.java │ │ │ │ ├── GankApis.java │ │ │ │ ├── WYApis.java │ │ │ │ └── ResultTag.java │ │ └── AndroidManifest.xml │ ├── test │ │ └── java │ │ │ └── com │ │ │ └── android │ │ │ └── mvp │ │ │ └── ExampleUnitTest.java │ └── androidTest │ │ └── java │ │ └── com │ │ └── android │ │ └── mvp │ │ └── ApplicationTest.java ├── libs │ └── tbs_sdk_thirdapp_v2.4.0.1073_36840_sharewithdownload_obfs_20161011_194834.jar └── proguard-rules.pro ├── Lib_Myrecyclerview ├── .gitignore ├── libs │ ├── clog-1.0.2.jar │ └── clog-1.0.2-sources.jar ├── src │ ├── main │ │ ├── res │ │ │ ├── drawable-xhdpi │ │ │ │ ├── loading_01.png │ │ │ │ ├── loading_02.png │ │ │ │ ├── loading_03.png │ │ │ │ ├── loading_04.png │ │ │ │ ├── loading_05.png │ │ │ │ ├── loading_06.png │ │ │ │ ├── loading_07.png │ │ │ │ ├── loading_08.png │ │ │ │ ├── refresh_img.gif │ │ │ │ ├── ptr_rotate_arrow.png │ │ │ │ ├── sample_footer_error.png │ │ │ │ ├── sample_footer_loading.png │ │ │ │ ├── sdk_ijk_progress_bar_logo.png │ │ │ │ └── venvy_sdk_progress_bar_anim_bg.png │ │ │ ├── drawable │ │ │ │ ├── venvy_video_sdk_ijk_progress_bar_bg.xml │ │ │ │ ├── sample_footer_loading_progress.xml │ │ │ │ ├── cube_loging.xml │ │ │ │ └── loading2.xml │ │ │ ├── layout │ │ │ │ ├── cube_ptr_simple_loading.xml │ │ │ │ ├── dp_header.xml │ │ │ │ ├── sample_common_list_footer_end.xml │ │ │ │ ├── sample_common_list_footer_network_error.xml │ │ │ │ ├── sample_common_list_footer_loading.xml │ │ │ │ ├── sample_common_list_footer.xml │ │ │ │ └── rocket_header.xml │ │ │ ├── values │ │ │ │ ├── colors.xml │ │ │ │ ├── strings.xml │ │ │ │ ├── cube_ptr_string.xml │ │ │ │ ├── dimens.xml │ │ │ │ └── cube_ptr_attrs.xml │ │ │ └── values-zh │ │ │ │ └── cube_ptr_string.xml │ │ ├── AndroidManifest.xml │ │ └── java │ │ │ └── com │ │ │ └── android │ │ │ └── dalong │ │ │ ├── loadview │ │ │ ├── OnListLoadNextPageListener.java │ │ │ └── HeaderSpanSizeLookup.java │ │ │ ├── ptr │ │ │ ├── PtrHandler.java │ │ │ ├── PtrUIHandler.java │ │ │ ├── PtrDefaultHandler.java │ │ │ ├── header │ │ │ │ └── DpHeader.java │ │ │ ├── PtrUIHandlerHook.java │ │ │ ├── PtrClassicFrameLayout.java │ │ │ └── util │ │ │ │ └── PtrLocalDisplay.java │ │ │ └── MyRefLayout.java │ ├── test │ │ └── java │ │ │ └── com │ │ │ └── android │ │ │ └── dalong │ │ │ └── ExampleUnitTest.java │ └── androidTest │ │ └── java │ │ └── com │ │ └── android │ │ └── dalong │ │ └── ExampleInstrumentedTest.java ├── proguard-rules.pro └── build.gradle ├── settings.gradle ├── pic ├── 01.png ├── 02.png ├── 03.png ├── 04.png ├── 05.png ├── 06.png ├── 07.png ├── gif01.gif └── gif02.gif ├── Photo_View ├── gradle.properties ├── src │ └── main │ │ ├── AndroidManifest.xml │ │ └── java │ │ └── uk │ │ └── co │ │ └── senab │ │ └── photoview │ │ ├── gestures │ │ ├── OnGestureListener.java │ │ ├── GestureDetector.java │ │ └── VersionedGestureDetector.java │ │ ├── scrollerproxy │ │ ├── IcsScroller.java │ │ └── ScrollerProxy.java │ │ └── log │ │ ├── LogManager.java │ │ └── Logger.java └── build.gradle ├── .idea ├── copyright │ └── profiles_settings.xml ├── libraries │ ├── clog_1_0_2_sources.xml │ ├── haha_2_0_2.xml │ ├── clog_1_0_2.xml │ ├── leakcanary_analyzer_1_4_beta2.xml │ ├── leakcanary_watcher_1_4_beta2.xml │ ├── tbs_sdk_thirdapp_v2_4_0_1073_36840_sharewithdownload_obfs_20161011_194834.xml │ ├── support_v4_24_2_0.xml │ ├── leakcanary_android_1_4_beta2.xml │ ├── tbs_sdk_thirdapp_v2_2_0_1096_36549_sharewithdownload_withoutGame_obfs_20160830_211645.xml │ ├── junit_4_12.xml │ ├── okio_1_8_0.xml │ ├── gson_2_6_1.xml │ ├── rxjava_1_1_5.xml │ ├── okhttp_3_3_1.xml │ ├── glide_3_7_0.xml │ ├── support_annotations_24_1_1.xml │ ├── support_annotations_24_2_0.xml │ ├── support_annotations_24_2_1.xml │ ├── analytics_6_0_9.xml │ ├── hamcrest_core_1_3.xml │ ├── retrofit_2_0_2.xml │ ├── butterknife_7_0_1.xml │ ├── eventbus_3_0_0_beta1.xml │ ├── design_24_2_0.xml │ ├── adapter_rxjava_2_0_2.xml │ ├── converter_gson_2_0_2.xml │ ├── cardview_v7_24_2_1.xml │ ├── appcompat_v7_24_2_0.xml │ ├── logging_interceptor_3_0_1.xml │ ├── systembartint_1_0_3.xml │ ├── autolayout_1_4_3.xml │ ├── recyclerview_v7_24_2_0.xml │ ├── rxandroid_1_2_0.xml │ ├── okhttputils_2_6_2.xml │ ├── rxbinding_0_4_0.xml │ ├── support_vector_drawable_24_2_0.xml │ ├── animated_vector_drawable_24_2_0.xml │ ├── multiline_collapsingtoolbar_1_2_2.xml │ ├── leakcanary_android_no_op_1_4_beta2.xml │ ├── support_v4_24_1_1.xml │ ├── support_compat_24_2_0.xml │ ├── support_core_ui_24_2_0.xml │ ├── support_fragment_24_2_0.xml │ ├── support_core_utils_24_2_0.xml │ └── support_media_compat_24_2_0.xml ├── runConfigurations.xml ├── modules.xml ├── compiler.xml └── gradle.xml ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── .gitignore ├── gradle.properties └── README.md /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /Lib_Myrecyclerview/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app', ':Photo_View', ':Lib_Myrecyclerview' 2 | -------------------------------------------------------------------------------- /pic/01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/pic/01.png -------------------------------------------------------------------------------- /pic/02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/pic/02.png -------------------------------------------------------------------------------- /pic/03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/pic/03.png -------------------------------------------------------------------------------- /pic/04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/pic/04.png -------------------------------------------------------------------------------- /pic/05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/pic/05.png -------------------------------------------------------------------------------- /pic/06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/pic/06.png -------------------------------------------------------------------------------- /pic/07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/pic/07.png -------------------------------------------------------------------------------- /pic/gif01.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/pic/gif01.gif -------------------------------------------------------------------------------- /pic/gif02.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/pic/gif02.gif -------------------------------------------------------------------------------- /Photo_View/gradle.properties: -------------------------------------------------------------------------------- 1 | POM_NAME=PhotoView Library 2 | POM_ARTIFACT_ID=library 3 | POM_PACKAGING=jar 4 | -------------------------------------------------------------------------------- /.idea/copyright/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /app/src/main/assets/fonts/ac.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/app/src/main/assets/fonts/ac.ttf -------------------------------------------------------------------------------- /app/src/main/assets/fonts/gtw.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/app/src/main/assets/fonts/gtw.ttf -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /Lib_Myrecyclerview/libs/clog-1.0.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/Lib_Myrecyclerview/libs/clog-1.0.2.jar -------------------------------------------------------------------------------- /app/src/main/assets/fonts/Roboto-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/app/src/main/assets/fonts/Roboto-Bold.ttf -------------------------------------------------------------------------------- /app/src/main/assets/fonts/tae_sdk_login.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/app/src/main/assets/fonts/tae_sdk_login.ttf -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_bg_card.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/app/src/main/res/drawable/ic_bg_card.9.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/app/src/main/res/mipmap-xxhdpi/ic_add.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_time.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/app/src/main/res/mipmap-xxhdpi/ic_time.png -------------------------------------------------------------------------------- /app/src/main/assets/fonts/Oswald-Stencbab.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/app/src/main/assets/fonts/Oswald-Stencbab.ttf -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/bg_drawer.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/app/src/main/res/mipmap-xxhdpi/bg_drawer.jpg -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/defalt_img.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/app/src/main/res/mipmap-xxhdpi/defalt_img.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_android.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/app/src/main/res/mipmap-xxhdpi/ic_android.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_author.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/app/src/main/res/mipmap-xxhdpi/ic_author.png -------------------------------------------------------------------------------- /Lib_Myrecyclerview/libs/clog-1.0.2-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/Lib_Myrecyclerview/libs/clog-1.0.2-sources.jar -------------------------------------------------------------------------------- /Photo_View/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/assets/fonts/Roboto-ThinItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/app/src/main/assets/fonts/Roboto-ThinItalic.ttf -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_arrow_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/app/src/main/res/mipmap-xxhdpi/ic_arrow_back.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_menu_news.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/app/src/main/res/mipmap-xxhdpi/ic_menu_news.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_menu_photo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/app/src/main/res/mipmap-xxhdpi/ic_menu_photo.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_menu_video.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/app/src/main/res/mipmap-xxhdpi/ic_menu_video.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/msg_ic_data.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/app/src/main/res/mipmap-xxhdpi/msg_ic_data.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/msg_network.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/app/src/main/res/mipmap-xxhdpi/msg_network.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_reload_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/app/src/main/res/mipmap-xhdpi/ic_reload_normal.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_reload_press.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/app/src/main/res/mipmap-xhdpi/ic_reload_press.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_drawer_about.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/app/src/main/res/mipmap-xxhdpi/ic_drawer_about.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_drawer_gank.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/app/src/main/res/mipmap-xxhdpi/ic_drawer_gank.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_drawer_like.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/app/src/main/res/mipmap-xxhdpi/ic_drawer_like.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_drawer_zhihu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/app/src/main/res/mipmap-xxhdpi/ic_drawer_zhihu.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_toolbar_copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/app/src/main/res/mipmap-xxhdpi/ic_toolbar_copy.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_toolbar_save.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/app/src/main/res/mipmap-xxhdpi/ic_toolbar_save.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/msg_ic_loading.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/app/src/main/res/mipmap-xxhdpi/msg_ic_loading.png -------------------------------------------------------------------------------- /app/src/main/assets/fonts/RobotoCondensed-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/app/src/main/assets/fonts/RobotoCondensed-Regular.ttf -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/home_board_default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/app/src/main/res/mipmap-xxhdpi/home_board_default.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_drawer_setting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/app/src/main/res/mipmap-xxhdpi/ic_drawer_setting.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_drawer_wechat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/app/src/main/res/mipmap-xxhdpi/ic_drawer_wechat.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_toolbar_like_n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/app/src/main/res/mipmap-xxhdpi/ic_toolbar_like_n.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_toolbar_like_p.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/app/src/main/res/mipmap-xxhdpi/ic_toolbar_like_p.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_toolbar_share.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/app/src/main/res/mipmap-xxhdpi/ic_toolbar_share.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/msg_ic_loading_sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/app/src/main/res/mipmap-xxhdpi/msg_ic_loading_sel.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/viewpage_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/app/src/main/res/mipmap-xxhdpi/viewpage_selected.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/classify_title_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/app/src/main/res/mipmap-xxhdpi/classify_title_left.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/classify_title_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/app/src/main/res/mipmap-xxhdpi/classify_title_right.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/home_banner_default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/app/src/main/res/mipmap-xxhdpi/home_banner_default.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/home_special_default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/app/src/main/res/mipmap-xxhdpi/home_special_default.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/viewpage_noselected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/app/src/main/res/mipmap-xxhdpi/viewpage_noselected.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/home_viewpage_bottom_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/app/src/main/res/mipmap-xxhdpi/home_viewpage_bottom_bg.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/home_viewpage_default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/app/src/main/res/mipmap-xxhdpi/home_viewpage_default.png -------------------------------------------------------------------------------- /Lib_Myrecyclerview/src/main/res/drawable-xhdpi/loading_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/Lib_Myrecyclerview/src/main/res/drawable-xhdpi/loading_01.png -------------------------------------------------------------------------------- /Lib_Myrecyclerview/src/main/res/drawable-xhdpi/loading_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/Lib_Myrecyclerview/src/main/res/drawable-xhdpi/loading_02.png -------------------------------------------------------------------------------- /Lib_Myrecyclerview/src/main/res/drawable-xhdpi/loading_03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/Lib_Myrecyclerview/src/main/res/drawable-xhdpi/loading_03.png -------------------------------------------------------------------------------- /Lib_Myrecyclerview/src/main/res/drawable-xhdpi/loading_04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/Lib_Myrecyclerview/src/main/res/drawable-xhdpi/loading_04.png -------------------------------------------------------------------------------- /Lib_Myrecyclerview/src/main/res/drawable-xhdpi/loading_05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/Lib_Myrecyclerview/src/main/res/drawable-xhdpi/loading_05.png -------------------------------------------------------------------------------- /Lib_Myrecyclerview/src/main/res/drawable-xhdpi/loading_06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/Lib_Myrecyclerview/src/main/res/drawable-xhdpi/loading_06.png -------------------------------------------------------------------------------- /Lib_Myrecyclerview/src/main/res/drawable-xhdpi/loading_07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/Lib_Myrecyclerview/src/main/res/drawable-xhdpi/loading_07.png -------------------------------------------------------------------------------- /Lib_Myrecyclerview/src/main/res/drawable-xhdpi/loading_08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/Lib_Myrecyclerview/src/main/res/drawable-xhdpi/loading_08.png -------------------------------------------------------------------------------- /Lib_Myrecyclerview/src/main/res/drawable-xhdpi/refresh_img.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/Lib_Myrecyclerview/src/main/res/drawable-xhdpi/refresh_img.gif -------------------------------------------------------------------------------- /Lib_Myrecyclerview/src/main/res/drawable-xhdpi/ptr_rotate_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/Lib_Myrecyclerview/src/main/res/drawable-xhdpi/ptr_rotate_arrow.png -------------------------------------------------------------------------------- /Lib_Myrecyclerview/src/main/res/drawable-xhdpi/sample_footer_error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/Lib_Myrecyclerview/src/main/res/drawable-xhdpi/sample_footer_error.png -------------------------------------------------------------------------------- /Lib_Myrecyclerview/src/main/res/drawable-xhdpi/sample_footer_loading.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/Lib_Myrecyclerview/src/main/res/drawable-xhdpi/sample_footer_loading.png -------------------------------------------------------------------------------- /Lib_Myrecyclerview/src/main/res/drawable-xhdpi/sdk_ijk_progress_bar_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/Lib_Myrecyclerview/src/main/res/drawable-xhdpi/sdk_ijk_progress_bar_logo.png -------------------------------------------------------------------------------- /app/src/main/res/values-v19/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 24dp 5 | 80dp 6 | 7 | -------------------------------------------------------------------------------- /Lib_Myrecyclerview/src/main/res/drawable-xhdpi/venvy_sdk_progress_bar_anim_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/Lib_Myrecyclerview/src/main/res/drawable-xhdpi/venvy_sdk_progress_bar_anim_bg.png -------------------------------------------------------------------------------- /app/libs/tbs_sdk_thirdapp_v2.4.0.1073_36840_sharewithdownload_obfs_20161011_194834.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xu649526275/MyMVPDemo/HEAD/app/libs/tbs_sdk_thirdapp_v2.4.0.1073_36840_sharewithdownload_obfs_20161011_194834.jar -------------------------------------------------------------------------------- /app/src/main/res/drawable/loading_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/anim/poplayout_up.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 9 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Fri Mar 10 12:49:49 CST 2017 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip 7 | -------------------------------------------------------------------------------- /.idea/libraries/clog_1_0_2_sources.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/anim/poplayout_down.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Lib_Myrecyclerview/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/sel_btn_reload.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/drawer_item_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/net_error_loading_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/borad_label_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Lib_Myrecyclerview/src/main/res/drawable/venvy_video_sdk_ijk_progress_bar_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | -------------------------------------------------------------------------------- /.idea/libraries/haha_2_0_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/java/com/android/mvp/event/WxSearchEvent.java: -------------------------------------------------------------------------------- 1 | package com.android.mvp.event; 2 | 3 | /** 4 | * desc 5 | * 6 | * @autor 徐文龙 7 | * @time 2016/9/20 14:56 8 | */ 9 | public class WxSearchEvent { 10 | 11 | public String searchStr; 12 | 13 | public WxSearchEvent(String searchStr) { 14 | this.searchStr = searchStr; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Lib_Myrecyclerview/src/main/res/layout/cube_ptr_simple_loading.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | -------------------------------------------------------------------------------- /Lib_Myrecyclerview/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #99c937 4 | #99c937 5 | #FF4081 6 | 7 | #F0F0F0 8 | #8A000000 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_zhihu.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/java/com/android/mvp/event/DaLongEvent.java: -------------------------------------------------------------------------------- 1 | package com.android.mvp.event; 2 | 3 | /** 4 | * Created by Administrator on 2017/3/16 0016. 5 | */ 6 | 7 | public class DaLongEvent { 8 | 9 | String name; 10 | 11 | public DaLongEvent(String name) { 12 | this.name = name; 13 | } 14 | 15 | public String getName() { 16 | return name; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /.idea/libraries/clog_1_0_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Photo_View/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.library' 2 | 3 | android { 4 | compileSdkVersion 24 5 | buildToolsVersion '25.0.0' 6 | 7 | defaultConfig { 8 | minSdkVersion 4 9 | targetSdkVersion 24 10 | versionCode 1 11 | versionName "1.0" 12 | } 13 | } 14 | 15 | dependencies { 16 | compile "com.android.support:support-v4:24.1.1" 17 | } 18 | 19 | -------------------------------------------------------------------------------- /app/src/main/java/com/android/mvp/event/TabEvent.java: -------------------------------------------------------------------------------- 1 | package com.android.mvp.event; 2 | 3 | import com.android.mvp.bean.NewTabs; 4 | 5 | import java.util.List; 6 | 7 | /** 8 | * Created by Administrator on 2016/10/17. 9 | */ 10 | 11 | public class TabEvent { 12 | 13 | public List tabs; 14 | 15 | public TabEvent(List tabs) { 16 | this.tabs = tabs; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 64dp 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/selector_toolbar_like.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/test/java/com/android/mvp/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.android.mvp; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * To work on unit tests, switch the Test Artifact in the Build Variants view. 9 | */ 10 | public class ExampleUnitTest { 11 | @Test 12 | public void addition_isCorrect() throws Exception { 13 | assertEquals(4, 2 + 2); 14 | } 15 | } -------------------------------------------------------------------------------- /.idea/libraries/leakcanary_analyzer_1_4_beta2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /.idea/libraries/leakcanary_watcher_1_4_beta2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/java/com/android/mvp/base/BaseModel.java: -------------------------------------------------------------------------------- 1 | package com.android.mvp.base; 2 | 3 | import com.android.mvp.http.Http; 4 | import com.android.mvp.util.NetUtil; 5 | 6 | /** 7 | * Created by Administrator on 2016/9/7 0007. 8 | */ 9 | public class BaseModel { 10 | 11 | 12 | public String getCache() { 13 | return NetUtil.isNetworkAvailable() ? Http.CACHE_CONTROL_AGE : Http.CACHE_CONTROL_CACHE; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /app/src/main/java/com/android/mvp/base/BasePresenterI.java: -------------------------------------------------------------------------------- 1 | package com.android.mvp.base; 2 | 3 | import android.content.Context; 4 | 5 | import rx.Subscription; 6 | 7 | /** 8 | * Created by Administrator on 2016/9/7 0007. 9 | */ 10 | public interface BasePresenterI { 11 | 12 | 13 | /** 14 | * 判断网络连接 15 | * */ 16 | boolean checkNetWork(Context context); 17 | 18 | void unsubcrible(); 19 | 20 | 21 | 22 | 23 | } 24 | -------------------------------------------------------------------------------- /.idea/libraries/tbs_sdk_thirdapp_v2_4_0_1073_36840_sharewithdownload_obfs_20161011_194834.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/androidTest/java/com/android/mvp/ApplicationTest.java: -------------------------------------------------------------------------------- 1 | package com.android.mvp; 2 | 3 | import android.app.Application; 4 | import android.test.ApplicationTestCase; 5 | 6 | /** 7 | * Testing Fundamentals 8 | */ 9 | public class ApplicationTest extends ApplicationTestCase { 10 | public ApplicationTest() { 11 | super(Application.class); 12 | } 13 | } -------------------------------------------------------------------------------- /.idea/libraries/support_v4_24_2_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /Lib_Myrecyclerview/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | RecyclerView 3 | 4 | The Header 5 | The Footer 6 | 7 | 8 | 正在加载中… 9 | 点击重新加载 10 | 已经到底了 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/leakcanary_android_1_4_beta2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /.idea/libraries/tbs_sdk_thirdapp_v2_2_0_1096_36549_sharewithdownload_withoutGame_obfs_20160830_211645.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/menu/main_menu.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Lib_Myrecyclerview/src/main/res/layout/dp_header.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Lib_Myrecyclerview/src/main/java/com/android/dalong/loadview/OnListLoadNextPageListener.java: -------------------------------------------------------------------------------- 1 | package com.android.dalong.loadview; 2 | 3 | import android.view.View; 4 | 5 | /** 6 | * Created by cundong on 2015/10/9. 7 | * RecyclerView/ListView/GridView 滑动加载下一页时的回调接口 8 | */ 9 | public interface OnListLoadNextPageListener { 10 | 11 | /** 12 | * 开始加载下一页 13 | * 14 | * @param view 当前RecyclerView/ListView/GridView 15 | */ 16 | public void onLoadNextPage(View view); 17 | } 18 | -------------------------------------------------------------------------------- /app/src/main/java/com/android/mvp/presenter/contract/NewDetialContract.java: -------------------------------------------------------------------------------- 1 | package com.android.mvp.presenter.contract; 2 | 3 | import com.android.mvp.base.BaseViewI; 4 | import com.android.mvp.bean.WYDetial; 5 | 6 | /** 7 | * Created by Administrator on 2016/10/31. 8 | */ 9 | 10 | public interface NewDetialContract { 11 | 12 | 13 | public interface View extends BaseViewI{} 14 | 15 | public interface Presenter{ 16 | 17 | public void getNewById(String id); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /.idea/libraries/junit_4_12.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Lib_Myrecyclerview/src/main/res/drawable/sample_footer_loading_progress.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /Lib_Myrecyclerview/src/test/java/com/android/dalong/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.android.dalong; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * @see Testing documentation 11 | */ 12 | public class ExampleUnitTest { 13 | @Test 14 | public void addition_isCorrect() throws Exception { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /app/src/main/java/com/android/mvp/widget/loading/IVaryViewHelper.java: -------------------------------------------------------------------------------- 1 | package com.android.mvp.widget.loading; 2 | 3 | import android.content.Context; 4 | import android.view.View; 5 | 6 | public interface IVaryViewHelper { 7 | 8 | public abstract View getCurrentLayout(); 9 | 10 | public abstract void restoreView(); 11 | 12 | public abstract void showLayout(View view); 13 | 14 | public abstract View inflate(int layoutId); 15 | 16 | public abstract Context getContext(); 17 | 18 | public abstract View getView(); 19 | 20 | } -------------------------------------------------------------------------------- /.idea/libraries/okio_1_8_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/gson_2_6_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/rxjava_1_1_5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/okhttp_3_3_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/glide_3_7_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/support_annotations_24_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/support_annotations_24_2_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/support_annotations_24_2_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_new_id.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /.idea/libraries/analytics_6_0_9.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/hamcrest_core_1_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/retrofit_2_0_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/butterknife_7_0_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/layout/item_newstab.xml: -------------------------------------------------------------------------------- 1 | 2 | 13 | 14 | -------------------------------------------------------------------------------- /.idea/libraries/eventbus_3_0_0_beta1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/design_24_2_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/java/com/android/mvp/bean/GankHttpResponse.java: -------------------------------------------------------------------------------- 1 | package com.android.mvp.bean; 2 | 3 | /** 4 | * Created by codeest on 2016/8/3. 5 | */ 6 | public class GankHttpResponse { 7 | 8 | private boolean error; 9 | private T results; 10 | 11 | public T getResults() { 12 | return results; 13 | } 14 | 15 | public void setResults(T results) { 16 | this.results = results; 17 | } 18 | 19 | public boolean getError() { 20 | return error; 21 | } 22 | 23 | public void setError(boolean error) { 24 | this.error = error; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /.idea/libraries/adapter_rxjava_2_0_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/converter_gson_2_0_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/java/com/android/mvp/db/DbModel.java: -------------------------------------------------------------------------------- 1 | package com.android.mvp.db; 2 | 3 | /** 4 | * Created by Administrator on 2016/9/27 0027. 5 | */ 6 | 7 | public class DbModel { 8 | public static final String NewTable="db_new"; 9 | public static final String NewId="NewTabId"; 10 | public static final String NewName="NewTabName"; 11 | public static final String NewType="NewTabType"; 12 | public static final String NewSelect="newsChannelSelect"; 13 | public static final String NewIndex="newsChannelIndex"; 14 | public static final String NewFixed="newsChannelFixed"; 15 | 16 | 17 | 18 | } 19 | -------------------------------------------------------------------------------- /.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /.idea/libraries/cardview_v7_24_2_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /.idea/libraries/appcompat_v7_24_2_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /.idea/libraries/logging_interceptor_3_0_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/libraries/systembartint_1_0_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/java/com/android/mvp/util/BuildConfig.java: -------------------------------------------------------------------------------- 1 | package com.android.mvp.util; 2 | 3 | /** 4 | * Created by Administrator on 2016/9/7 0007. 5 | */ 6 | public class BuildConfig { 7 | public static final boolean DEBUG = Boolean.parseBoolean("true"); 8 | public static final String APPLICATION_ID = "com.android.mvp"; 9 | public static final String BUILD_TYPE = "debug"; 10 | public static final String FLAVOR = ""; 11 | public static final int VERSION_CODE = 1; 12 | public static final String VERSION_NAME = "1.0"; 13 | // Fields from build type: debug 14 | public static final boolean LOG_DEBUG = true; 15 | } 16 | -------------------------------------------------------------------------------- /.idea/libraries/autolayout_1_4_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /.idea/libraries/recyclerview_v7_24_2_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /.idea/libraries/rxandroid_1_2_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Built application files 2 | *.apk 3 | *.ap_ 4 | 5 | # Files for the ART/Dalvik VM 6 | *.dex 7 | 8 | # Java class files 9 | *.class 10 | 11 | # Generated files 12 | bin/ 13 | gen/ 14 | out/ 15 | 16 | # Gradle files 17 | .gradle/ 18 | build/ 19 | 20 | # Local configuration file (sdk path, etc) 21 | local.properties 22 | 23 | # Proguard folder generated by Eclipse 24 | proguard/ 25 | 26 | # Log Files 27 | *.log 28 | 29 | # Android Studio Navigation editor temp files 30 | .navigation/ 31 | 32 | # Android Studio captures folder 33 | captures/ 34 | 35 | # Intellij 36 | *.iml 37 | .idea/workspace.xml 38 | 39 | # Keystore files 40 | *.jks 41 | -------------------------------------------------------------------------------- /.idea/libraries/okhttputils_2_6_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /Lib_Myrecyclerview/src/main/java/com/android/dalong/ptr/PtrHandler.java: -------------------------------------------------------------------------------- 1 | package com.android.dalong.ptr; 2 | 3 | import android.view.View; 4 | 5 | public interface PtrHandler { 6 | 7 | /** 8 | * Check can do refresh or not. For example the content is empty or the first child is in view. 9 | *

10 | * {@link PtrDefaultHandler#checkContentCanBePulledDown} 11 | */ 12 | public boolean checkCanDoRefresh(final PtrFrameLayout frame, final View content, final View header); 13 | 14 | /** 15 | * When refresh begin 16 | * 17 | * @param frame 18 | */ 19 | public void onRefreshBegin(final PtrFrameLayout frame); 20 | } -------------------------------------------------------------------------------- /app/src/main/java/com/android/mvp/presenter/contract/GankContract.java: -------------------------------------------------------------------------------- 1 | package com.android.mvp.presenter.contract; 2 | 3 | import com.android.mvp.base.BaseViewI; 4 | import com.android.mvp.bean.GankItemBean; 5 | 6 | import java.util.List; 7 | 8 | /** 9 | * desc 10 | * 11 | * @autor 徐文龙 12 | * @time 2016/9/21 14:34 13 | */ 14 | public interface GankContract { 15 | 16 | interface View extends BaseViewI>{ 17 | 18 | }; 19 | 20 | 21 | interface Presenter{ 22 | public void getGankGirl(int pageSize,int pageIndex); 23 | 24 | public void getGankTech(String tech,int pageSize,int pageIndex); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /.idea/libraries/rxbinding_0_4_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /.idea/libraries/support_vector_drawable_24_2_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/java/com/android/mvp/presenter/contract/WxContract.java: -------------------------------------------------------------------------------- 1 | package com.android.mvp.presenter.contract; 2 | 3 | import com.android.mvp.base.BaseViewI; 4 | import com.android.mvp.bean.WXItemBean; 5 | 6 | import java.util.List; 7 | import java.util.Map; 8 | 9 | /** 10 | * desc 11 | * 12 | * @autor 徐文龙 13 | * @time 2016/9/20 13:30 14 | */ 15 | public interface WxContract { 16 | 17 | 18 | public interface View extends BaseViewI>{ 19 | 20 | } 21 | 22 | public interface Presenter{ 23 | 24 | public void getWxHost(Map map); 25 | 26 | public void getWxHostSearch(Map map); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /app/src/main/res/layout/view_loading_loading.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 15 | -------------------------------------------------------------------------------- /.idea/libraries/animated_vector_drawable_24_2_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Lib_Myrecyclerview/src/main/res/values-zh/cube_ptr_string.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 下拉刷新 5 | 下拉刷新 6 | 释放更新 7 | 正在刷新数据中... 8 | 更新完成. 9 | 10 | 上次更新:  11 |  秒之前 12 |  分钟之前 13 |  小时之前 14 | 15 | -------------------------------------------------------------------------------- /.idea/libraries/multiline_collapsingtoolbar_1_2_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /Lib_Myrecyclerview/src/main/res/layout/sample_common_list_footer_end.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 16 | -------------------------------------------------------------------------------- /.idea/libraries/leakcanary_android_no_op_1_4_beta2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in D:\DalLong\Android\sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /Lib_Myrecyclerview/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in F:\Android\sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /Lib_Myrecyclerview/src/main/res/values/cube_ptr_string.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Pull Down 5 | Pull Down to Refresh 6 | Release To Refresh 7 | Updating... 8 | Updated. 9 | 10 | last update:  11 |  seconds ago 12 |  minutes ago 13 |  hours ago 14 | 15 | -------------------------------------------------------------------------------- /.idea/libraries/support_v4_24_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Lib_Myrecyclerview/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 6 | 0.66dp 7 | 4dp 8 | 10dp 9 | 14dp 10 | 22dp 11 | 36dp 12 | 40dp 13 | 60dp 14 | 72dp 15 | 16 | 12sp 17 | 14sp 18 | 16sp 19 | 20 | -------------------------------------------------------------------------------- /app/src/main/java/com/android/mvp/bean/MyUrl.java: -------------------------------------------------------------------------------- 1 | package com.android.mvp.bean; 2 | 3 | /** 4 | * desc 5 | * 6 | * @autor 徐文龙 7 | * @time 2016/9/9 14:22 8 | */ 9 | public class MyUrl { 10 | private String webUrl; 11 | private String webTitle; 12 | 13 | public MyUrl(String webUrl, String webTitle) { 14 | this.webUrl = webUrl; 15 | this.webTitle = webTitle; 16 | } 17 | 18 | public String getWebUrl() { 19 | return webUrl; 20 | } 21 | 22 | public void setWebUrl(String webUrl) { 23 | this.webUrl = webUrl; 24 | } 25 | 26 | public String getWebTitle() { 27 | return webTitle; 28 | } 29 | 30 | public void setWebTitle(String webTitle) { 31 | this.webTitle = webTitle; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /app/src/main/java/com/android/mvp/bean/WXHttpResponse.java: -------------------------------------------------------------------------------- 1 | package com.android.mvp.bean; 2 | 3 | /** 4 | * Created by codeest on 16/8/28. 5 | */ 6 | 7 | public class WXHttpResponse { 8 | 9 | private int code; 10 | private String msg; 11 | private T newslist; 12 | 13 | public int getCode() { 14 | return code; 15 | } 16 | 17 | public void setCode(int code) { 18 | this.code = code; 19 | } 20 | 21 | public String getMsg() { 22 | return msg; 23 | } 24 | 25 | public void setMsg(String msg) { 26 | this.msg = msg; 27 | } 28 | 29 | public T getNewslist() { 30 | return newslist; 31 | } 32 | 33 | public void setNewslist(T newslist) { 34 | this.newslist = newslist; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /.idea/libraries/support_compat_24_2_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/support_core_ui_24_2_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/support_fragment_24_2_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/support_core_utils_24_2_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 12 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /.idea/libraries/support_media_compat_24_2_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 19 | 20 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_home.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 10 | 11 | 12 | 16 | 17 | 18 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /app/src/main/res/layout/view_loadding_no_data.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 13 | 14 | 21 | 22 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_wx.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 11 | 15 | 16 | 17 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /app/src/main/res/values-v19/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 11 | 12 | 13 | 16 | 17 | 22 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_gank_girl.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 13 | 14 | 15 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_gank_android.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 14 | 15 | 16 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /app/src/main/res/layout/view_fragment_home_banner_img.xml: -------------------------------------------------------------------------------- 1 | 7 | 8 | 15 | 16 | 17 | 24 | 25 | -------------------------------------------------------------------------------- /app/src/main/res/values/attrs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /app/src/main/java/com/android/mvp/util/ToastShow.java: -------------------------------------------------------------------------------- 1 | package com.android.mvp.util; 2 | 3 | import android.content.Context; 4 | import android.widget.Toast; 5 | 6 | public class ToastShow { 7 | 8 | 9 | private Context context; 10 | public static Toast toast = null; 11 | 12 | public static ToastShow mToastShow; 13 | 14 | public ToastShow() { 15 | } 16 | 17 | public static ToastShow getInstance(Context context) { 18 | if (mToastShow == null) { 19 | toast = Toast.makeText(context, "", Toast.LENGTH_SHORT); 20 | mToastShow = new ToastShow(); 21 | } 22 | return mToastShow; 23 | } 24 | 25 | public void toastShow(String text) { 26 | if (toast == null) { 27 | toast = Toast.makeText(context, text, Toast.LENGTH_SHORT); 28 | } else { 29 | toast.setText(text); 30 | } 31 | toast.show(); 32 | } 33 | } -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | 3 | # IDE (e.g. Android Studio) users: 4 | # Gradle settings configured through the IDE *will override* 5 | # any settings specified in this file. 6 | 7 | # For more details on how to configure your build environment visit 8 | # http://www.gradle.org/docs/current/userguide/build_environment.html 9 | 10 | # Specifies the JVM arguments used for the daemon process. 11 | # The setting is particularly useful for tweaking memory settings. 12 | # Default value: -Xmx10248m -XX:MaxPermSize=256m 13 | # org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 14 | 15 | # When configured, Gradle will run in incubating parallel mode. 16 | # This option should only be used with decoupled projects. More details, visit 17 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 18 | # org.gradle.parallel=true -------------------------------------------------------------------------------- /Lib_Myrecyclerview/src/androidTest/java/com/android/dalong/ExampleInstrumentedTest.java: -------------------------------------------------------------------------------- 1 | package com.android.dalong; 2 | 3 | import android.content.Context; 4 | import android.support.test.InstrumentationRegistry; 5 | import android.support.test.runner.AndroidJUnit4; 6 | 7 | import org.junit.Test; 8 | import org.junit.runner.RunWith; 9 | 10 | import static org.junit.Assert.*; 11 | 12 | /** 13 | * Instrumentation test, which will execute on an Android device. 14 | * 15 | * @see Testing documentation 16 | */ 17 | @RunWith(AndroidJUnit4.class) 18 | public class ExampleInstrumentedTest { 19 | @Test 20 | public void useAppContext() throws Exception { 21 | // Context of the app under test. 22 | Context appContext = InstrumentationRegistry.getTargetContext(); 23 | 24 | assertEquals("com.android.dalong.test", appContext.getPackageName()); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Lib_Myrecyclerview/src/main/java/com/android/dalong/loadview/HeaderSpanSizeLookup.java: -------------------------------------------------------------------------------- 1 | package com.android.dalong.loadview; 2 | 3 | import android.support.v7.widget.GridLayoutManager; 4 | 5 | /** 6 | * Created by cundong on 2015/10/23. 7 | *

8 | * RecyclerView为GridLayoutManager时,设置了HeaderView,就会用到这个SpanSizeLookup 9 | */ 10 | public class HeaderSpanSizeLookup extends GridLayoutManager.SpanSizeLookup { 11 | 12 | private HeaderAndFooterRecyclerViewAdapter adapter; 13 | private int mSpanSize = 1; 14 | 15 | public HeaderSpanSizeLookup(HeaderAndFooterRecyclerViewAdapter adapter, int spanSize) { 16 | this.adapter = adapter; 17 | this.mSpanSize = spanSize; 18 | } 19 | 20 | @Override 21 | public int getSpanSize(int position) { 22 | boolean isHeaderOrFooter = adapter.isHeader(position) || adapter.isFooter(position); 23 | return isHeaderOrFooter ? mSpanSize : 1; 24 | } 25 | } -------------------------------------------------------------------------------- /Lib_Myrecyclerview/src/main/res/drawable/cube_loging.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /Lib_Myrecyclerview/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.library' 2 | 3 | android { 4 | compileSdkVersion 24 5 | buildToolsVersion '25.0.0' 6 | 7 | defaultConfig { 8 | minSdkVersion 14 9 | targetSdkVersion 24 10 | versionCode 1 11 | versionName "1.0" 12 | 13 | testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 14 | 15 | } 16 | buildTypes { 17 | release { 18 | minifyEnabled false 19 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 20 | } 21 | } 22 | } 23 | 24 | dependencies { 25 | compile fileTree(include: ['*.jar'], dir: 'libs') 26 | compile 'com.android.support:appcompat-v7:24.2.0' 27 | compile 'com.android.support:recyclerview-v7:24.2.0' 28 | testCompile 'junit:junit:4.12' 29 | compile files('libs/clog-1.0.2.jar') 30 | compile files('libs/clog-1.0.2-sources.jar') 31 | } 32 | -------------------------------------------------------------------------------- /app/src/main/java/com/android/mvp/ui/video/FragmentVideo.java: -------------------------------------------------------------------------------- 1 | package com.android.mvp.ui.video; 2 | 3 | import android.view.View; 4 | 5 | import com.android.mvp.base.BaseFragment; 6 | 7 | /** 8 | * Created by Administrator on 2016/9/29 0029. 9 | */ 10 | 11 | public class FragmentVideo extends BaseFragment { 12 | @Override 13 | protected void initData() { 14 | 15 | } 16 | 17 | @Override 18 | protected void initView(View RootView) { 19 | 20 | } 21 | 22 | @Override 23 | protected void initToolbar() { 24 | 25 | } 26 | 27 | @Override 28 | protected int getContentLayout() { 29 | return 0; 30 | } 31 | 32 | 33 | @Override 34 | public void setMenuVisibility(boolean menuVisible) { 35 | super.setMenuVisibility(menuVisible); 36 | if (this.getView() != null) 37 | this.getView() 38 | .setVisibility(menuVisible ? View.VISIBLE : View.GONE); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /Lib_Myrecyclerview/src/main/res/layout/sample_common_list_footer_network_error.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 13 | 14 | 22 | -------------------------------------------------------------------------------- /Lib_Myrecyclerview/src/main/java/com/android/dalong/ptr/PtrUIHandler.java: -------------------------------------------------------------------------------- 1 | package com.android.dalong.ptr; 2 | 3 | import com.android.dalong.ptr.indicator.PtrIndicator; 4 | 5 | /** 6 | * 7 | */ 8 | public interface PtrUIHandler { 9 | 10 | /** 11 | * When the content view has reached top and refresh has been completed, view will be reset. 12 | * 13 | * @param frame 14 | */ 15 | public void onUIReset(PtrFrameLayout frame); 16 | 17 | /** 18 | * prepare for loading 19 | * 20 | * @param frame 21 | */ 22 | public void onUIRefreshPrepare(PtrFrameLayout frame); 23 | 24 | /** 25 | * perform refreshing UI 26 | */ 27 | public void onUIRefreshBegin(PtrFrameLayout frame); 28 | 29 | /** 30 | * perform UI after refresh 31 | */ 32 | public void onUIRefreshComplete(PtrFrameLayout frame); 33 | 34 | public void onUIPositionChange(PtrFrameLayout frame, boolean isUnderTouch, byte status, PtrIndicator ptrIndicator); 35 | } 36 | -------------------------------------------------------------------------------- /app/src/main/java/com/android/mvp/util/MD5Util.java: -------------------------------------------------------------------------------- 1 | package com.android.mvp.util; 2 | 3 | import java.security.NoSuchAlgorithmException; 4 | 5 | public class MD5Util { 6 | 7 | /** 8 | * 字符串转化MD5 9 | * */ 10 | public static String ToMD5(String string) { 11 | java.security.MessageDigest alga; 12 | try { 13 | alga = java.security.MessageDigest.getInstance("MD5"); 14 | alga.update(string.getBytes()); 15 | byte[] digesta = alga.digest(); 16 | String str = bytes2Hex(digesta); // to HexString 17 | return str; 18 | } catch (NoSuchAlgorithmException e) { 19 | e.printStackTrace(); 20 | } 21 | return ""; 22 | 23 | } 24 | 25 | /** 26 | * 字节转MD5 27 | * */ 28 | private static String bytes2Hex(byte[] bts) { 29 | String des = ""; 30 | String tmp = null; 31 | for (int i = 0; i < bts.length; i++) { 32 | tmp = (Integer.toHexString(bts[i] & 0xFF)); 33 | if (tmp.length() == 1) { 34 | des += "0"; 35 | } 36 | des += tmp; 37 | } 38 | return des.toUpperCase(); 39 | } 40 | 41 | } 42 | -------------------------------------------------------------------------------- /app/src/main/java/com/android/mvp/ui/zhihu/fragment/FragmentZhihu.java: -------------------------------------------------------------------------------- 1 | package com.android.mvp.ui.zhihu.fragment; 2 | 3 | import android.view.View; 4 | 5 | import com.android.mvp.R; 6 | import com.android.mvp.base.BaseFragment; 7 | 8 | /** 9 | * desc 10 | * 11 | * @autor 徐文龙 12 | * @time 2016/9/19 16:11 13 | */ 14 | public class FragmentZhihu extends BaseFragment { 15 | 16 | 17 | @Override 18 | protected void initData() { 19 | 20 | } 21 | 22 | @Override 23 | protected void initView(View RootView) { 24 | 25 | } 26 | 27 | @Override 28 | protected void initToolbar() { 29 | 30 | } 31 | 32 | @Override 33 | protected int getContentLayout() { 34 | return R.layout.fragment_zhihu; 35 | } 36 | 37 | @Override 38 | public void setMenuVisibility(boolean menuVisible) { 39 | super.setMenuVisibility(menuVisible); 40 | if (this.getView() != null) 41 | this.getView() 42 | .setVisibility(menuVisible ? View.VISIBLE : View.GONE); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /app/src/main/res/layout/item_home_barand.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 12 | 13 | 17 | 24 | -------------------------------------------------------------------------------- /app/src/main/java/com/android/mvp/model/GankModel.java: -------------------------------------------------------------------------------- 1 | package com.android.mvp.model; 2 | 3 | import com.android.mvp.bean.GankHttpResponse; 4 | import com.android.mvp.bean.GankItemBean; 5 | import com.android.mvp.http.Http; 6 | 7 | import java.util.List; 8 | 9 | import rx.Observable; 10 | import rx.android.schedulers.AndroidSchedulers; 11 | import rx.schedulers.Schedulers; 12 | 13 | /** 14 | * desc 15 | * 16 | * @autor 徐文龙 17 | * @time 2016/9/21 14:37 18 | */ 19 | public class GankModel { 20 | 21 | 22 | /** 23 | * 获取妹子图片 24 | * */ 25 | public Observable>> getGirlList( int num,int page){ 26 | return Http.getInstance().getGankService().getGirlList(num,page).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()); 27 | } 28 | 29 | /** 30 | * 获取技术文章 31 | * */ 32 | public Observable>> getTechList(String tech, int num,int page){ 33 | return Http.getInstance().getGankService().getTechList(tech,num,page); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /Lib_Myrecyclerview/src/main/res/layout/sample_common_list_footer_loading.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 15 | 16 | 24 | 25 | -------------------------------------------------------------------------------- /app/src/main/java/com/android/mvp/base/BaseViewI.java: -------------------------------------------------------------------------------- 1 | package com.android.mvp.base; 2 | 3 | /** 4 | * Created by Administrator on 2016/9/7 0007. 5 | */ 6 | public interface BaseViewI { 7 | 8 | 9 | 10 | /** 11 | * 数据加载失败 12 | * tag==1,正常错误,可以只显示toast 13 | * tag=0,非正常错误,需要考虑显示错误界面 14 | * */ 15 | void showDataError(String errorMessage, int tag); 16 | 17 | /** 18 | *数据加载成功 19 | * */ 20 | void showDataSuccess(V datas); 21 | 22 | 23 | /** 24 | * 显示加载进度 25 | * */ 26 | void showProgress(); 27 | 28 | /** 29 | * 显示加载进度 30 | * */ 31 | void hideProgress(); 32 | 33 | /** 34 | * 点击重新加载 35 | * */ 36 | void onReload(); 37 | 38 | 39 | 40 | /** 41 | * 显示加载中视图 42 | * */ 43 | void showLoadingView(); 44 | 45 | 46 | /** 47 | * 显示无网络视图 48 | * */ 49 | void showNetErrorView(); 50 | 51 | /** 52 | * 没有加载到内容 53 | * */ 54 | void showEmptyView(String msg); 55 | 56 | 57 | /** 58 | * 显示内容View 59 | * */ 60 | void showContent(); 61 | } 62 | -------------------------------------------------------------------------------- /app/src/main/java/com/android/mvp/model/NewModel.java: -------------------------------------------------------------------------------- 1 | package com.android.mvp.model; 2 | 3 | import com.android.mvp.bean.WYDetial; 4 | import com.android.mvp.bean.WYNewsBean; 5 | import com.android.mvp.http.Http; 6 | 7 | import java.util.List; 8 | import java.util.Map; 9 | 10 | import rx.Observable; 11 | import rx.android.schedulers.AndroidSchedulers; 12 | import rx.schedulers.Schedulers; 13 | 14 | /** 15 | * desc 16 | * 17 | * @autor 徐文龙 18 | * @time 2016/10/10 14:58 19 | */ 20 | public class NewModel { 21 | 22 | 23 | /** 24 | * 获取新闻List列表 25 | * */ 26 | public Observable>> getNewsList(String type, String id, int pageIndex){ 27 | return Http.getInstance().getNewService().getNewsList(type,id,pageIndex ).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()); 28 | } 29 | 30 | 31 | public Observable> getNewsDetail(String id){ 32 | 33 | return Http.getInstance().getNewService().getNewsDetail(id).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /Lib_Myrecyclerview/src/main/res/layout/sample_common_list_footer.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 15 | 16 | 21 | 22 | 27 | 28 | -------------------------------------------------------------------------------- /Lib_Myrecyclerview/src/main/res/drawable/loading2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 9 | 12 | 15 | 18 | 21 | 24 | 27 | 30 | -------------------------------------------------------------------------------- /app/src/main/java/com/android/mvp/ui/gank/adapter/GankPagerAdapter.java: -------------------------------------------------------------------------------- 1 | package com.android.mvp.ui.gank.adapter; 2 | 3 | import android.support.v4.app.Fragment; 4 | import android.support.v4.app.FragmentManager; 5 | import android.support.v4.app.FragmentPagerAdapter; 6 | 7 | import java.util.List; 8 | 9 | /** 10 | * desc 11 | * 12 | * @autor 徐文龙 13 | * @time 2016/9/21 16:22 14 | */ 15 | public class GankPagerAdapter extends FragmentPagerAdapter { 16 | 17 | private List mFragmentList; 18 | private List mTitles; 19 | 20 | 21 | public GankPagerAdapter(FragmentManager fm, List fragmentList, List titles) { 22 | super(fm); 23 | mFragmentList = fragmentList; 24 | mTitles = titles; 25 | } 26 | 27 | @Override 28 | public Fragment getItem(int position) { 29 | return mFragmentList.get(position); 30 | } 31 | 32 | @Override 33 | public int getCount() { 34 | return mFragmentList.size(); 35 | } 36 | 37 | @Override 38 | public CharSequence getPageTitle(int position) { 39 | return mTitles.get(position); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 项目Demo 3 | 努力加载中 4 | 5 | 6 | //main drawer 7 | 点屏首页 8 | 知乎日报 9 | 微信精选 10 | 网易新闻 11 | 视频 12 | 干货集中营 13 | 关于 14 | 收藏 15 | 设置 16 | 打开 17 | 关闭 18 | 资讯 19 | 选项 20 | 21 | %1$s %2$s 22 | 23 | 社区热帖 24 | 食安定制食品分类 25 | 精选专题 26 | 27 | 28 | transition_animation_news_photos 29 | 30 | -------------------------------------------------------------------------------- /app/src/main/res/layout/item_girl.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 14 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_gank.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 21 | 22 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /app/src/main/res/layout/view_drawer_header.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 11 | 19 | 27 | -------------------------------------------------------------------------------- /app/src/main/java/com/android/mvp/model/WXModel.java: -------------------------------------------------------------------------------- 1 | package com.android.mvp.model; 2 | 3 | import com.android.mvp.base.BaseModel; 4 | import com.android.mvp.bean.WXHttpResponse; 5 | import com.android.mvp.bean.WXItemBean; 6 | import com.android.mvp.http.Http; 7 | 8 | import java.util.List; 9 | import java.util.Map; 10 | 11 | import rx.Observable; 12 | import rx.android.schedulers.AndroidSchedulers; 13 | import rx.schedulers.Schedulers; 14 | 15 | /** 16 | * desc 17 | * 18 | * @autor 徐文龙 19 | * @time 2016/9/20 13:24 20 | */ 21 | public class WXModel extends BaseModel{ 22 | 23 | 24 | /** 25 | * 微信精选 26 | * */ 27 | public Observable>> getWXHot(Map map){ 28 | return Http.getInstance().getWXService().getWXHot(map).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()); 29 | } 30 | 31 | 32 | /** 33 | * 微信精选搜索 34 | * */ 35 | public Observable>> getWXHotSearch(Map map){ 36 | return Http.getInstance().getWXService().getWXHotSearch(map).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /Photo_View/src/main/java/uk/co/senab/photoview/gestures/OnGestureListener.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2011, 2012 Chris Banes. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | *******************************************************************************/ 16 | package uk.co.senab.photoview.gestures; 17 | 18 | public interface OnGestureListener { 19 | 20 | void onDrag(float dx, float dy); 21 | 22 | void onFling(float startX, float startY, float velocityX, 23 | float velocityY); 24 | 25 | void onScale(float scaleFactor, float focusX, float focusY); 26 | 27 | } -------------------------------------------------------------------------------- /Photo_View/src/main/java/uk/co/senab/photoview/gestures/GestureDetector.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2011, 2012 Chris Banes. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | *******************************************************************************/ 16 | package uk.co.senab.photoview.gestures; 17 | 18 | import android.view.MotionEvent; 19 | 20 | public interface GestureDetector { 21 | 22 | boolean onTouchEvent(MotionEvent ev); 23 | 24 | boolean isScaling(); 25 | 26 | boolean isDragging(); 27 | 28 | void setOnGestureListener(OnGestureListener listener); 29 | 30 | } 31 | -------------------------------------------------------------------------------- /app/src/main/java/com/android/mvp/presenter/contract/HomeContract.java: -------------------------------------------------------------------------------- 1 | package com.android.mvp.presenter.contract; 2 | 3 | import com.android.mvp.base.BaseViewI; 4 | import com.android.mvp.bean.BrandBean; 5 | import com.android.mvp.bean.HomeBanner; 6 | import com.android.mvp.bean.HomePost; 7 | import com.android.mvp.bean.HomeSpecial; 8 | 9 | import java.util.List; 10 | import java.util.Map; 11 | 12 | /** 13 | * desc 14 | * 15 | * @autor 徐文龙 16 | * @time 2016/9/18 11:08 17 | */ 18 | public interface HomeContract { 19 | 20 | 21 | 22 | interface View extends BaseViewI> { 23 | 24 | 25 | public void onPostSuccess(List homePosts); 26 | 27 | public void onBannerSuccess(List homeBanner); 28 | 29 | public void onSpecialSuccess(List homeSpecial); 30 | 31 | public void onSpecialError(String Message,int errorTag); 32 | 33 | } 34 | 35 | interface Presenter{ 36 | /** 37 | * 首页Banner界面 38 | * */ 39 | public void getHomeBanner(); 40 | public void getBrand(); 41 | public void getPost(); 42 | public void getSpecial(Map map); 43 | } 44 | 45 | } 46 | -------------------------------------------------------------------------------- /app/src/main/java/com/android/mvp/widget/dialog/LoadingActivityDialog.java: -------------------------------------------------------------------------------- 1 | package com.android.mvp.widget.dialog; 2 | 3 | import android.app.Dialog; 4 | import android.content.Context; 5 | import android.view.Gravity; 6 | 7 | import com.android.mvp.R; 8 | 9 | 10 | public class LoadingActivityDialog extends Dialog { 11 | 12 | private Context context = null; 13 | 14 | private static LoadingActivityDialog customProgressDialog = null; 15 | 16 | public LoadingActivityDialog(Context context) { 17 | 18 | super(context); 19 | 20 | this.context = context; 21 | 22 | } 23 | 24 | public LoadingActivityDialog(Context context, int theme) { 25 | 26 | super(context, theme); 27 | 28 | } 29 | 30 | public static LoadingActivityDialog createDialog(Context context) { 31 | 32 | customProgressDialog = new LoadingActivityDialog(context, 33 | R.style.CustomProgressDialog); 34 | 35 | customProgressDialog.setContentView(R.layout.dialog_loadding); 36 | 37 | customProgressDialog.getWindow().getAttributes().gravity = Gravity.CENTER; 38 | 39 | customProgressDialog.setCanceledOnTouchOutside(false); 40 | // 41 | // customProgressDialog.setCancelable(false);//返回键 42 | 43 | return customProgressDialog; 44 | 45 | } 46 | 47 | } 48 | -------------------------------------------------------------------------------- /app/src/main/java/com/android/mvp/widget/dialog/LoadingFragmentDialog.java: -------------------------------------------------------------------------------- 1 | package com.android.mvp.widget.dialog; 2 | 3 | import android.app.Dialog; 4 | import android.content.Context; 5 | import android.view.Gravity; 6 | 7 | import com.android.mvp.R; 8 | 9 | 10 | public class LoadingFragmentDialog extends Dialog { 11 | 12 | private Context context = null; 13 | 14 | private static LoadingFragmentDialog customProgressDialog = null; 15 | 16 | public LoadingFragmentDialog(Context context) { 17 | 18 | super(context); 19 | 20 | this.context = context; 21 | 22 | } 23 | 24 | public LoadingFragmentDialog(Context context, int theme) { 25 | 26 | super(context, theme); 27 | 28 | } 29 | 30 | public static LoadingFragmentDialog createDialog(Context context) { 31 | 32 | customProgressDialog = new LoadingFragmentDialog(context, 33 | R.style.CustomProgressDialog); 34 | 35 | customProgressDialog.setContentView(R.layout.dialog_loadding_f); 36 | 37 | customProgressDialog.getWindow().getAttributes().gravity = Gravity.CENTER; 38 | 39 | customProgressDialog.setCanceledOnTouchOutside(false); 40 | // 41 | // customProgressDialog.setCancelable(false);//返回键 42 | 43 | return customProgressDialog; 44 | 45 | } 46 | 47 | } 48 | -------------------------------------------------------------------------------- /app/src/main/java/com/android/mvp/widget/view/MyCardView.java: -------------------------------------------------------------------------------- 1 | package com.android.mvp.widget.view; 2 | 3 | import android.content.Context; 4 | import android.support.v7.widget.CardView; 5 | import android.util.AttributeSet; 6 | 7 | import com.zhy.autolayout.AutoFrameLayout; 8 | import com.zhy.autolayout.utils.AutoLayoutHelper; 9 | 10 | /** 11 | * desc 12 | * 13 | * @autor 徐文龙 14 | * @time 2016/7/18 12:01 15 | */ 16 | public class MyCardView extends CardView { 17 | 18 | private final AutoLayoutHelper mHelper = new AutoLayoutHelper(this); 19 | public MyCardView(Context context) { 20 | super(context); 21 | } 22 | 23 | public MyCardView(Context context, AttributeSet attrs) { 24 | super(context, attrs); 25 | } 26 | 27 | @Override 28 | public AutoFrameLayout.LayoutParams generateLayoutParams(AttributeSet attrs) 29 | { 30 | return new AutoFrameLayout.LayoutParams(getContext(), attrs); 31 | } 32 | 33 | @Override 34 | protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) 35 | { 36 | if (!isInEditMode()) 37 | { 38 | mHelper.adjustChildren(); 39 | } 40 | super.onMeasure(widthMeasureSpec, heightMeasureSpec); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /app/src/main/res/values/styles_layout.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 10 | 18 | 19 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /app/src/main/java/com/android/mvp/http/DPService.java: -------------------------------------------------------------------------------- 1 | package com.android.mvp.http; 2 | 3 | 4 | import com.android.mvp.bean.BrandBean; 5 | import com.android.mvp.bean.HomeBanner; 6 | import com.android.mvp.bean.HomePost; 7 | import com.android.mvp.bean.HomeSpecial; 8 | import com.android.mvp.bean.M_Base; 9 | 10 | import java.util.List; 11 | import java.util.Map; 12 | 13 | import retrofit2.http.GET; 14 | import retrofit2.http.Header; 15 | import retrofit2.http.QueryMap; 16 | import rx.Observable; 17 | 18 | 19 | /** 20 | * Created by dalong on 2016/3/16. 21 | */ 22 | public interface DPService { 23 | 24 | 25 | /** 26 | * 首页Banner 27 | * */ 28 | @GET(ConstantValues.Home_Banner) 29 | Observable>> homeBanner(); 30 | 31 | 32 | /** 33 | * 首页 34 | * */ 35 | @GET(ConstantValues.Home_ProductBrand) 36 | Observable>> homeBrand(); 37 | 38 | /** 39 | * 热帖 40 | * */ 41 | @GET(ConstantValues.HOME_Posts) 42 | Observable>> homePost(); 43 | 44 | 45 | /** 46 | * 专题热门 47 | * */ 48 | @GET(ConstantValues.Home_SpecialTopic) 49 | Observable>> homeSpecial(@QueryMap Map map); 50 | 51 | 52 | } 53 | -------------------------------------------------------------------------------- /app/src/main/java/com/android/mvp/db/DbHelper.java: -------------------------------------------------------------------------------- 1 | package com.android.mvp.db; 2 | 3 | import android.content.Context; 4 | import android.database.sqlite.SQLiteDatabase; 5 | import android.database.sqlite.SQLiteOpenHelper; 6 | 7 | /** 8 | * Created by Administrator on 2016/9/27 0027. 9 | */ 10 | 11 | public class DbHelper extends SQLiteOpenHelper { 12 | 13 | private Context context; 14 | private static final String DB_NAME = "dalong.db"; 15 | private static final int DB_VERSION = 1; // 添加环信用户信息表 16 | 17 | 18 | public DbHelper(Context context){ 19 | super(context,DB_NAME,null,DB_VERSION); 20 | this.context=context; 21 | 22 | } 23 | 24 | 25 | @Override 26 | public void onCreate(SQLiteDatabase db) { 27 | db.execSQL("create table "+DbModel.NewTable+"(_id INTEGER PRIMARY KEY AUTOINCREMENT" + 28 | ","+DbModel.NewId+" text," + 29 | DbModel.NewName+" text," + 30 | DbModel.NewType+" text," + 31 | DbModel.NewSelect+" text," + 32 | DbModel.NewIndex+" text," + 33 | DbModel.NewFixed+" text)"); 34 | } 35 | 36 | 37 | @Override 38 | public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 39 | 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /app/src/main/java/com/android/mvp/http/WeChatApis.java: -------------------------------------------------------------------------------- 1 | package com.android.mvp.http; 2 | 3 | import com.android.mvp.bean.WXHttpResponse; 4 | import com.android.mvp.bean.WXItemBean; 5 | 6 | import java.util.List; 7 | import java.util.Map; 8 | 9 | import retrofit2.http.GET; 10 | import retrofit2.http.Query; 11 | import retrofit2.http.QueryMap; 12 | import rx.Observable; 13 | 14 | /** 15 | * Created by codeest on 16/8/28. 16 | */ 17 | 18 | public interface WeChatApis { 19 | 20 | String HOST = "http://api.tianapi.com/"; 21 | String MYKEY="a168a48492d240fae6fd2c6b6ea4e7b4"; 22 | // 23 | /** 24 | * 微信精选列表 25 | */ 26 | @GET("wxnew") 27 | Observable>> getWXHot(@Query("key") String key, @Query("num") int num, @Query("page") int page); 28 | @GET("wxnew") 29 | Observable>> getWXHot(@QueryMap Map map); 30 | /** 31 | * 微信精选列表 32 | */ 33 | @GET("wxnew") 34 | Observable>> getWXHotSearch(@Query("key") String key, @Query("num") int num, @Query("page") int page, @Query("word") String word); 35 | @GET("wxnew") 36 | Observable>> getWXHotSearch(@QueryMap Map map); 37 | } 38 | -------------------------------------------------------------------------------- /app/src/main/res/layout/view_loadding_error.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 11 | 12 | 16 | 17 | 24 | 25 |