baseFrame

1. 简介

baseFrame是基于MVP架构搭建的Android脚手架,旨在快速开发一个Android项目。

baseFrame采用Activity+Fragment模式,其中Activit里面只能做两件事:1.承载Fragment;2. 处理一些Activit级别的事务。所有的业务逻辑和View处理等操作都应该收敛到Fragment里面(如果能写在Presenter里面是最好的)。

在MVP架构下,主要分为三部分:1. View;2.Model;3.Presneter。而在baseFrame里面,View和Presenter两部分已经封装完毕,我们只需要在接入时实现对应的父类或者接口即可,Model需要我们自己来实现。在本repository中,我已经写了一个Demo以供参考。

2. 基本使用

我打算从两个方面来介绍baseFrame的基本使用。

(1).View

View层主要有三个类,分别为:BaseActivity,BaseFragment,RecyclerViewFragment。

首先,如果我们新建一个Activity,要求该Activity必须继承于BaseActivity,同时要求实现三个方法,分别为:getLayoutId、getFragmentContainerId、buildCurrentFragment。这三个方法主要作用是用来加载一个Fragment。当然,也支持动态替换Fragment--replaceFragment。所以,在BaseActivity里面,不需要我们去管理Fragment。

其次,如果我们想要新建一个Fragment,要求该Fragment必须继承于BaseFragment。在BaseFragment里面,允许添加Presenter,所有的业务逻辑包括Model访问都应该放在Presenter里面。同时,为了大家使用RecyclerView方便,baseFrame里面还实现了一个RecyclerViewFragment,集体使用可以参考本repository。

(2).Presenter

最后就是Presenter,它是整个脚手架里面最重要的部分,因为我们主要的逻辑都放在里面的。我们在分离Presenter时,有一个原则,一个View或者ViewGroup对应Presenter,这个Presenter处理有关这个View或者ViewGroup所有的逻辑。

Presenter有4个周期,生命周期的流程是:onCreate -> onBind -> onUnBind -> onDestroy,其中onCreate和onDestroy两个生命周期只能被回调一次。在BaseFragment`BaseRecyclerAdapter里面均已正确实现生命周期的回调,所以我们定义Fragment和RecyclerAdapter时,不用关心Presenter的生命周期。

3. 导入方式

TODO,有待更新。

4. 感谢

android 开源 脚手架,baseFrame相关推荐

  1. 的Android组件、工具、框架大全(转) android 学习 android 例子 android 开源项目

    2015最流行的Android组件.工具.框架大全(转) 转自:2015最流行的Android组件.工具.框架大全 Android 是目前最流行的移动操作系统之一. 随着新版本的不断发布, Andro ...

  2. 关于Android开源库分享平台,(GitClub)微信小程序的开发体验

    七八月份的深圳一直在下雨,总有人说雨天适合窝在家看书,对于程序开发者来说更是难得的学习机会.我们502工作室的小伙伴利用这个时间学习了一下微信小程序开发,并上线了一个GitClub小程序,目前功能有些 ...

  3. Android开源项目分类汇总-转载

    太长了,还是转载吧... 今天在看博客的时候,无意中发现了@Trinea在GitHub上的一个项目Android开源项目分类汇总,由于类容太多了,我没有一个个完整地看完,但是里面介绍的开源项目都非常有 ...

  4. 直接拿来用!最火的Android开源项目(一)

    2019独角兽企业重金招聘Python工程师标准>>> 摘要:对于开发者而言,了解当下比较流行的开源项目很是必要.利用这些项目,有时能够让你达到事半功倍的效果.为此,CSDN特整理了 ...

  5. Android开源控件ViewPager Indicator的使用方法

     1月16日厦门 OSC 源创会火热报名中,奖品多多哦   摘要 Android开源控件ViewPager Indicator的使用介绍 ViewPagerIndicator 目录[-] 1. V ...

  6. Android开源项目SlidingMenu本学习笔记(两)

    我们已经出台SlidingMenu使用:Android开源项目SlidingMenu本学习笔记(一个),接下来再深入学习下.依据滑出项的Menu切换到相应的页面 文件夹结构: 点击Bluetooth能 ...

  7. Android开源项目分类汇总[转]

    Android开源项目分类汇总 如果你也对开源实现库的实现原理感兴趣,欢迎 Star 和 Fork Android优秀开源项目实现原理解析 欢迎加入 QQ 交流群:383537512(入群理由需要填写 ...

  8. Android 开源库获取途径整理

    最新内容请见原文: http://www.trinea.cn/android/android-open-project-summary/ 介绍目前收藏 Android 开源库比较多的 GitHub 项 ...

  9. Android 开源项目集合

    2019独角兽企业重金招聘Python工程师标准>>> 上百个Android开源项目分享,希望对android开发有帮助. Android PDF 阅读器 http://source ...

最新文章

  1. python使用matplotlib可视化线图(line plot)、并自定义设置可视化图像线条的类型(specify the line style of a plot in matplotlib)
  2. 新5 年时间服务器从 0 到 200,一个创业公司的架构野蛮生长史头疼哈
  3. python:数据操作小技巧
  4. eclipse远程开发
  5. gradle下载的依赖包位置 及 修改
  6. 一张图告诉你E-R图怎么画
  7. php rpoplpush,RPOPLPUSH命令_视频讲解_用法示例-redis编程词典-php中文网
  8. 北大青鸟消防设备类型编码_探测器该如何编码?即报警区域、探测区域的真正用途...
  9. 无名轻聊V1.1在线聊天室源码
  10. zabbix 监控TCP状态连接数
  11. 【Vue2.0】— 全局事件总线GlobalEventBus(十九)
  12. 05章项目: QuickHit快速击键
  13. 大多数元素python_学Python必知的20个技巧,掌握它们,准没错
  14. CSS面试题汇总(四)
  15. 关于Android学习的三个终极问题
  16. airpods版本号_怎么看airpods版本号 苹果airpods查看固件版本教程
  17. Zeppelin解释器的REST API接口
  18. RUST语言的编程范式
  19. 鸿蒙系统别的手机厂商可以用,鸿蒙有望适配国内其他手机厂商,别再黑了
  20. 未能从程序集“xxx, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”中加载类型“yyy”。

热门文章

  1. go-micro 写 rpc 接口
  2. Qt编译报错“Error: cannot open ...main.obj.10836.32.jom for write” 的解决方法
  3. Spring入门这一篇就够了
  4. macOS安装Redis
  5. Linux查看系统资源占用
  6. 政府大数据之资源目录管理
  7. 史上最全的光模块介绍,看这一篇就够了!
  8. java cloneable 用途_java中的clon()和cloneable接口浅析(转)
  9. Ceph 的基础数据结构 [Pool, Image, Snapshot, Clone]
  10. LCD显示器参数详解