-
支持 loading 加载数据
-
支持透明 loading 的加载数据
-
支持显示无数据
-
支持网络网络错误显示
-
支持 Fragment 的懒加载
-
支持最基本的下拉刷新、上拉加载更多
-
支持自定义 HeadView 和 FootView
-
支持自动刷新
-
支持启用、禁用下拉刷新
-
支持启用、进攻上拉加载更多
-
通用小菊花样式 DaisyRefreshLayout
-
通用小箭头样式 ArrowRefreshLayout
FlyTour 1.1.0 2019-03-34
-
增加了功能组件日期选择器 lib_time_picker
-
MVP 功能的一些优化
FlyTour 1.0.0 2019-01-26
- 初始版本,以车辆运动轨迹大数据采集为功能简单的实现了组件化和 MVP 的基本功能
功能演示
- 新闻下来刷新、无数据、无网络、新闻详情展示
- 新闻类型添加、新闻添加
主要功能
核心公共组件 lib_common
七的核心公用基类
public abstract class BaseActivity extends RxAppCompatActivity implements BaseView {
…
}
public abstract class BaseMvpActivity<M extends BaseModel,V,P extends BasePresenter<M,V>> extends BaseActivity {
…
}
public abstract class BaseRefreshActivity<M extends BaseModel, V extends BaseRefreshView, P extends BaseRefreshPresenter<M, V, T>, T> extends BaseMvpActivity<M, V, P> implements BaseRefreshView {
}
-
BaseFragment
-
BaseMvpFragment
-
BaseRefreshFragment
-
BaseAdapter
功能特色:
public boolean enableToolbar() {
return true;
}
public int onBindToolbarLayout() {
return R.layout.common_toolbar;
}
- 支持 loading 加载数据
public void showInitLoadView() {
showInitLoadView(true);
}
public void hideInitLoadView() {
showInitLoadView(false);
}
- 支持透明 loading 的加载数据
@Override
public void showTransLoadingView() {
showTransLoadingView(true);
}
@Override
public void hideTransLoadingView() {
showTransLoadingView(false);
}
- 支持显示无数据
public void showNoDataView() {
showNoDataView(true);
}
public void showNoDataView(int resid) {
showNoDataView(true, resid);
}
public void hideNoDataView() {
showNoDataView(false);
}
- 支持网络网络错误显示 ``` public void hideNetWorkErrView() {
showNetWorkErrView(false);
}
public void showNetWorkErrView() {
showNetWorkErrView(true);
}
- 支持 Fragment 的懒加载
private void lazyLoad() { //这里进行双重标记判断,必须确保 onCreateView 加载完毕且页面可见,才加载数据 if (isViewCreated && isViewVisable) { initData(); //数据加载完毕,恢复标记,防止重复加载 isViewCreated = false; isViewVisable = false; } } //默认不启用懒加载 public boolean enableLazyData() { return false; }
上拉下拉功能组件 lib_refresh_layout
-
支持最基本的下拉刷新、上拉加载更多
-
支持自定义 HeadView 和 FootView
-
支持自动刷新
-
支持启用、禁用下拉刷新
-
支持启用、进攻上拉加载更多
-
通用小菊花样式 DaisyRefreshLayout
-
通用小箭头样式 ArrowRefreshLayout
项目架构
-
集成模式:所有的业务组件被“app 壳工程”依赖,组成一个完整的 APP;
-
组件模式:可以独立开发业务组件,每一个业务组件就是一个 APP;
-
app 壳工程:负责管理各个业务组件,和打包 apk,没有具体的业务功能;
-
业务组件:根据公司具体业务而独立形成一个的工程;
-
功能组件:提供开发 APP 的某些基础功能,例如打印日志、下拉刷新控件等;
-
Main 组件:属于业务组件,指定 APP 启动页面、主界面;
-
Common 组件:属于功能组件,支撑业务组件的基础,提供多数业务组件需要的功能
MVP 架构
这是整个项目的 mvp 结构图:
- Activity 关系图:
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此我收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
143)]
[外链图片转存中…(img-HIi0D4Ot-1715599151144)]
[外链图片转存中…(img-kEMk0CRD-1715599151146)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!