├── settings.gradle ├── app ├── src │ └── main │ │ ├── res │ │ ├── values │ │ │ ├── strings.xml │ │ │ ├── colors.xml │ │ │ └── styles.xml │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ └── layout │ │ │ ├── fragment_music.xml │ │ │ └── activity_book.xml │ │ ├── java │ │ └── com │ │ │ └── luliang │ │ │ └── devmvp │ │ │ ├── mvp │ │ │ ├── base │ │ │ │ ├── IBasePresenter.java │ │ │ │ ├── IBaseView.java │ │ │ │ ├── IDevMvpCallBack.java │ │ │ │ ├── BasePresenter.java │ │ │ │ ├── BaseModel.java │ │ │ │ ├── BaseActivity.java │ │ │ │ └── BaseFragment.java │ │ │ ├── model │ │ │ │ ├── MMusicImpl.java │ │ │ │ └── MBookImpl.java │ │ │ ├── contract │ │ │ │ ├── CMusic.java │ │ │ │ └── CBook.java │ │ │ ├── presenter │ │ │ │ ├── PMusicImpl.java │ │ │ │ └── PBookImpl.java │ │ │ ├── view │ │ │ │ ├── fragment │ │ │ │ │ └── MusicFragment.java │ │ │ │ └── activity │ │ │ │ │ └── BookActivity.java │ │ │ └── bean │ │ │ │ └── BookBean.java │ │ │ ├── api │ │ │ ├── Url.java │ │ │ ├── DevMvpService.java │ │ │ └── DevMvpApi.java │ │ │ ├── DevMvpApplication.java │ │ │ └── utils │ │ │ ├── ToastUtils.java │ │ │ ├── rxhelper │ │ │ ├── RxTransformer.java │ │ │ ├── RxObservable.java │ │ │ └── RxException.java │ │ │ ├── GsonUtils.java │ │ │ └── LogUtils.java │ │ └── AndroidManifest.xml └── build.gradle ├── MvpActivity ├── template_blank_activity.png ├── root │ ├── AndroidManifest.xml.ftl │ ├── src │ │ └── app_package │ │ │ ├── MvpModel.java.ftl │ │ │ ├── MvpContract.java.ftl │ │ │ ├── MvpPresenter.java.ftl │ │ │ └── MvpActivity.java.ftl │ └── res │ │ └── layout │ │ └── activity_main.xml.ftl ├── globals.xml.ftl ├── template.xml └── recipe.xml.ftl ├── MvpFragment ├── root │ ├── AndroidManifest.xml.ftl │ ├── res │ │ └── layout │ │ │ └── fragment_layout.xml.ftl │ └── src │ │ └── app_package │ │ ├── MvpModel.java.ftl │ │ ├── MvpContract.java.ftl │ │ ├── MvpPresenter.java.ftl │ │ └── MvpFragment.java.ftl ├── globals.xml.ftl ├── template.xml └── recipe.xml.ftl ├── config.gradle └── README.md /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | devMvp 3 | 4 | -------------------------------------------------------------------------------- /MvpActivity/template_blank_activity.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiangLuDev/DevMvp/HEAD/MvpActivity/template_blank_activity.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiangLuDev/DevMvp/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiangLuDev/DevMvp/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/java/com/luliang/devmvp/mvp/base/IBasePresenter.java: -------------------------------------------------------------------------------- 1 | package com.luliang.devmvp.mvp.base; 2 | 3 | /** 4 | * Created by lu on 2016/8/30. 5 | */ 6 | public interface IBasePresenter { 7 | void onDestroy(); 8 | } 9 | -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/java/com/luliang/devmvp/mvp/base/IBaseView.java: -------------------------------------------------------------------------------- 1 | package com.luliang.devmvp.mvp.base; 2 | 3 | /** 4 | * Created by Liang_Lu on 2017/11/30. 5 | */ 6 | public interface IBaseView { 7 | void showLoading(); 8 | void hideLoading(); 9 | } 10 | -------------------------------------------------------------------------------- /MvpFragment/root/AndroidManifest.xml.ftl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/java/com/luliang/devmvp/mvp/base/IDevMvpCallBack.java: -------------------------------------------------------------------------------- 1 | package com.luliang.devmvp.mvp.base; 2 | 3 | /** 4 | * Created by Liang_Lu on 2017/9/8. 5 | */ 6 | 7 | public interface IDevMvpCallBack { 8 | 9 | void onSuccess(T t); 10 | 11 | void onFail(String reason); 12 | } 13 | -------------------------------------------------------------------------------- /MvpActivity/root/AndroidManifest.xml.ftl: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MvpFragment/root/res/layout/fragment_layout.xml.ftl: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /MvpActivity/root/src/app_package/MvpModel.java.ftl: -------------------------------------------------------------------------------- 1 | package ${packageName}.mvp.model; 2 | 3 | import ${packageName}.mvp.base.BaseModel; 4 | 5 | /** 6 | * Created by Liang_Lu on 2017/12/21. 7 | * @author LuLiang 8 | * @github https://github.com/LiangLuDev 9 | */ 10 | 11 | public class ${ModelName} extends BaseModel { 12 | 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_music.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /MvpFragment/root/src/app_package/MvpModel.java.ftl: -------------------------------------------------------------------------------- 1 | package ${packageName}.mvp.model; 2 | 3 | import ${packageName}.mvp.base.BaseModel; 4 | 5 | 6 | /** 7 | * Created by Liang_Lu on 2017/12/21. 8 | * @author LuLiang 9 | * @github https://github.com/LiangLuDev 10 | */ 11 | 12 | public class ${ModelName} extends BaseModel { 13 | 14 | } 15 | -------------------------------------------------------------------------------- /app/src/main/java/com/luliang/devmvp/api/Url.java: -------------------------------------------------------------------------------- 1 | package com.luliang.devmvp.api; 2 | 3 | /** 4 | * Created by Liang_Lu on 2017/6/6. 5 | */ 6 | public class Url { 7 | public static final String BASE_URL = "http://api.zhuishushenqi.com"; 8 | 9 | 10 | public static final String BOOK_CLASSIFY = "/cats/lv2/statistics"; 11 | 12 | 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/java/com/luliang/devmvp/mvp/model/MMusicImpl.java: -------------------------------------------------------------------------------- 1 | package com.luliang.devmvp.mvp.model; 2 | 3 | import com.luliang.devmvp.mvp.base.BaseModel; 4 | 5 | 6 | /** 7 | * Created by Liang_Lu on 2017/12/21. 8 | * 9 | * @author LuLiang 10 | * @github https://github.com/LiangLuDev 11 | */ 12 | 13 | public class MMusicImpl extends BaseModel { 14 | 15 | } 16 | -------------------------------------------------------------------------------- /MvpActivity/root/res/layout/activity_main.xml.ftl: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | <#if isTitleBar> 10 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /MvpFragment/root/src/app_package/MvpContract.java.ftl: -------------------------------------------------------------------------------- 1 | package ${packageName}.mvp.contract; 2 | 3 | import ${packageName}.mvp.base.IBasePresenter; 4 | import ${packageName}.mvp.base.IBaseView; 5 | 6 | /** 7 | * Created by Liang_Lu on 2017/12/21. 8 | * @author LuLiang 9 | * @github https://github.com/LiangLuDev 10 | */ 11 | 12 | public interface ${ContractName} { 13 | 14 | interface ${IPresenterName} extends IBasePresenter { 15 | 16 | } 17 | 18 | interface ${IViewName} extends IBaseView { 19 | 20 | } 21 | } -------------------------------------------------------------------------------- /MvpActivity/root/src/app_package/MvpContract.java.ftl: -------------------------------------------------------------------------------- 1 | package ${packageName}.mvp.contract; 2 | 3 | import ${packageName}.mvp.base.IBasePresenter; 4 | import ${packageName}.mvp.base.IBaseView; 5 | 6 | 7 | /** 8 | * Created by Liang_Lu on 2017/12/21. 9 | * @author LuLiang 10 | * @github https://github.com/LiangLuDev 11 | */ 12 | 13 | public interface ${ContractName} { 14 | 15 | interface ${IPresenterName} extends IBasePresenter { 16 | 17 | } 18 | 19 | interface ${IViewName} extends IBaseView { 20 | 21 | } 22 | } -------------------------------------------------------------------------------- /app/src/main/java/com/luliang/devmvp/mvp/contract/CMusic.java: -------------------------------------------------------------------------------- 1 | package com.luliang.devmvp.mvp.contract; 2 | 3 | import com.luliang.devmvp.mvp.base.IBasePresenter; 4 | import com.luliang.devmvp.mvp.base.IBaseView; 5 | 6 | 7 | /** 8 | * Created by Liang_Lu on 2017/12/21. 9 | * 10 | * @author LuLiang 11 | * @github https://github.com/LiangLuDev 12 | */ 13 | 14 | public interface CMusic { 15 | 16 | interface IPMusic extends IBasePresenter { 17 | 18 | } 19 | 20 | interface IVMusic extends IBaseView { 21 | 22 | } 23 | } -------------------------------------------------------------------------------- /app/src/main/java/com/luliang/devmvp/api/DevMvpService.java: -------------------------------------------------------------------------------- 1 | package com.luliang.devmvp.api; 2 | 3 | import com.luliang.devmvp.mvp.bean.BookBean; 4 | 5 | import java.util.Map; 6 | 7 | import io.reactivex.Observable; 8 | import retrofit2.http.GET; 9 | import retrofit2.http.POST; 10 | import retrofit2.http.Path; 11 | import retrofit2.http.Query; 12 | 13 | /** 14 | * Created by Liang_Lu on 2017/9/1. 15 | */ 16 | 17 | public interface DevMvpService { 18 | 19 | 20 | @GET(Url.BOOK_CLASSIFY) 21 | Observable bookClassify(); 22 | 23 | } 24 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_book.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 |