优雅的Android MVP敏捷开发框架 - FDroid

网友投稿 945 2022-10-24

优雅的Android MVP敏捷开发框架 - FDroid

优雅的Android MVP敏捷开发框架 - FDroid

FDroid

优雅的Android MVP开发框架 ———— FDroid

特性

网络请求:基于RxJava+Retrofit+Gson+FDroid的封装,支持对网络请求结果的统一处理、请求结果回调到UI线程、自动判断网络连接状态、自动管理生命周期、模拟后台返回数据、自定义请求头、请求响应日志打印、每个阶段都可扩展等。 MVP模式:利用泛型深度解耦,为项目省掉一半代码;您不需要知道MVP实现细节,轻松使用MVP进行项目开发; 模板开发:无需编写MVP的各层代码,利用Android Studio Template一键生成具有View+Contract+Presenter的Activity。模板-:FDActivity 强大的控制层:进行网络请求时,显隐等待对话框;使用FastTask类轻松进行耗时操作,自动回调到UI线程; 有用的FDFragment:支持缓存rootView,防止重复加载布局;拥有是否对用户可见的操作; L/T/SP类:对Log、Toast和SharedP进行的有趣封装;Log支持显示打印的位置;全局管理log和Toast的显隐; 丰富的工具包:RxBus、SyncFun等。

使用步骤

Step 1.在项目根build.gradle中添加maven仓库

allprojects { repositories { //... maven { url 'https://jitpack.io' } }}

Step 2.在项目app的build.gradle中添加依赖

dependencies { // 基于AndroidX版本 api 'com.github.feimenggo:fdroid:4.0.3' // 非AndroidX版本(不再维护) api 'com.github.feimenggo:fdroid:3.3.1'}

Step 3.自定义Application继承FDApp.java

public class BaseApp extends FDApp { @Override protected void config() { // 此处可以进行您项目其它库的初始化 }}

Step 4.[可选]为了便于在父类做统一的操作,可以自定义BaseActivity/BaseFragment分别继承自FDActivity.java和FDFragment.java

public abstract class BaseActivity> extends FDActivity {}public abstract class BaseFragment> extends FDFragment {}

Step 5.编写MVP文件,可以使用FDActivity模板一键生成。下面展示MVP三层代码和一次操作的执行流程

Contract层代码

public interface TestContract { interface View extends FDView { void getUserName(String username); } abstract class Presenter extends FDPresenter { public abstract void getUserName(); }}

Presenter层代码

public class TestPresenter extends TestContract.Presenter { @Override public void getUserName() { // 步骤二 // 这里进行具体的业务 // ... // 简单模拟获取到的用户名是“小飞” String username = "小飞"; // 回调结果给View层 mView.getUserName(username); }}

View层代码

public class TestActivity extends FDActivity implements TestContract.View { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_test); // 步骤一 // 调用Presenter层,获取用户名 mPresenter.getUserName(); } @Override protected TestContract.Presenter initPresenter() { return new TestPresenter(); } @Override public void getUserName(String username) { // 步骤三 // 显示获取的用户名 Toast.makeText(this, "用户名是" + username, Toast.LENGTH_SHORT).show(); }}

Step 5.恭喜,您完成了FDroid入门任务。

接下来,你的任务有自定义FDApi编写网络请求、学习使用L/T/SP工具类、全局对话框的使用等等。教程正在制作。。。

一键生成MVP模板

FDActivity模板:FDActivity.zip

Android Studio Template的使用,请自行度娘哦。

License

Copyright 2017 feimengLicensed under the Apache License, Version 2.0 (the "License");you may not use this file except in compliance with the License.You may obtain a copy of the License at http://apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing, softwaredistributed under the License is distributed on an "AS IS" BASIS,WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.See the License for the specific language governing permissions andlimitations under the License.

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:EshineASPNet-基于ASP.Net敏捷开发开源框架
下一篇:feign 调用第三方服务中部分特殊符号未转义问题
相关文章

 发表评论

暂时没有评论,来抢沙发吧~