FlyTour 新闻客户端是 Android MVP+Dagger2+Retrofit+RxJava+组件化项目框架

  • 支持 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 关系图:

在这里插入图片描述

《设计思想解读开源框架》

第一章、 热修复设计

  • 第一节、 AOT/JIT & dexopt 与 dex2oat

  • 第二节、 热修复设计之 CLASS_ISPREVERIFIED 问题

  • 第三节、热修复设计之热修复原理

  • 第四节、Tinker 的集成与使用(自动补丁包生成)

    第二章、 插件化框架设计

  • 第一节、 Class 文件与 Dex 文件的结构解读

  • 第二节、 Android 资源加载机制详解

  • 第三节、 四大组件调用原理

  • 第四节、 so 文件加载机制

  • 第五节、 Android 系统服务实现原理

    第三章、 组件化框架设计

  • 第一节、阿里巴巴开源路由框——ARouter 原理分析

  • 第二节、APT 编译时期自动生成代码&动态类加载

  • 第三节、 Java SPI 机制

  • 第四节、 AOP&IOC

  • 第五节、 手写组件化架构

    第四章、图片加载框架

  • 第一节、图片加载框架选型

  • 第二节、Glide 原理分析

  • 第三节、手写图片加载框架实战

    第五章、网络访问框架设计

  • 第一节、网络通信必备基础

  • 第二节、OkHttp 源码解读

  • 第三节、Retrofit 源码解析

    第六章、 RXJava 响应式编程框架设计

  • 第一节、链式调用

  • 第二节、 扩展的观察者模式

  • 第三节、事件变换设计

  • 第四节、Scheduler 线程控制

    第七章、 IOC 架构设计

  • 第一节、 依赖注入与控制反转

  • 第二节、ButterKnife 原理上篇、中篇、下篇

  • 第三节、Dagger 架构设计核心解密

    第八章、 Android 架构组件 Jetpack

  • 第一节、 LiveData 原理

  • 第二节、 Navigation 如何解决 tabLayout 问题

  • 第三节、 ViewModel 如何感知 View 生命周期及内核原理

  • 第四节、 Room 架构方式方法

  • 第五节、 dataBinding 为什么能够支持 MVVM

  • 第六节、 WorkManager 内核揭秘

  • 第七节、 Lifecycles 生命周期


    本文包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中…

    《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!
    LiveData 原理**

  • 第二节、 Navigation 如何解决 tabLayout 问题

  • 第三节、 ViewModel 如何感知 View 生命周期及内核原理

  • 第四节、 Room 架构方式方法

  • 第五节、 dataBinding 为什么能够支持 MVVM

  • 第六节、 WorkManager 内核揭秘

  • 第七节、 Lifecycles 生命周期

    [外链图片转存中…(img-uMC5rtYA-1714965569342)]
    本文包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中…
    [外链图片转存中…(img-wQFIuhw8-1714965569343)]
    《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!

  • 25
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值