安卓开发框架(MVP+主流框架+基类+工具类)--- 开篇
来源:互联网 发布:java面向对象增删改查 编辑:程序博客网 时间:2024/05/20 21:22
前言
近期研究了几个主流开源框架的使用,有Retrofit(网络请求),RxJava(异步操作),GreenDAO(数据库操作),Fresco(图片加载),EventBus(事件通信),ButterKnife(资源绑定)。这些都是开发中常用的框架,所以决定用上它们,配合MVP开发模式、基类、工具类搭建一个比较通用的开发框架,以便日后开发新项目时,可在其基础上进行快速开发。
这个系列的博客计划会有9篇左右(底部有传送门),将记录以上各个模块的要点与用法。记录的过程中,会贴上个人认为比较好的学习地址,一些讲得不太精彩的知识点,各位可以到这些地址进行学习。
Demo
简介
在该开发框架的基础上,简单写了个demo进行演示(内含详细的代码注释),配合相应的文章能更好地理解各个模块。
- 大家可以在里面选取一些觉得有用的模块去用(比如一些工具类,封装类,基类等)
- 也可以直接在它基础上进行调整和新项目开发(比如替换部分框架,修改包名项目名后直接开发等)
demo地址:https://github.com/LJYcoder/DevBase
demo大致的流程如下:
1. 使用Retrofit+Rxjava请求豆瓣电影API,获取“正在上映”和“即将上映”的电影数据。
2. 将数据通过两个Fragment以列表的形式进行展示,其中图片的显示使用Fresco进行加载。
3. 点击列表项,使用GreenDAO将该电影插入到本地数据库中,并且刷新Toolbar右侧收藏的数量。
4. 点击Toolbar右侧的收藏,进入“我的收藏”页面,使用GreenDAO从本地数据库中获取数据并展示。
5. 点击列表项,则将该电影从数据库中移除并刷新列表展示,同时使用EventBus通知上个页面刷新Toolbar右侧的收藏数量。
6. 以上过程中,使用ButterKnife进行视图绑定,按照MVP模式进行开发,穿插使用了各种基类、工具类。
demo运行图:
包结构
项目代码整体分为5个包,如下图所示:
其中,
app包:存放全局性文件。如Application类,常量类等。
model包:存放数据处理/模型的文件。如实体类,数据库相关文件,网络请求相关文件等。
presenter包:存放业务逻辑服务相关的文件。
**util包
传送门
本系列其他模块的传送门:
安卓开发框架(MVP+主流框架+基类+工具类)— MVP模式
安卓开发框架(MVP+主流框架+基类+工具类)— Retrofit+RxJava
安卓开发框架(MVP+主流框架+基类+工具类)— GreenDAO
安卓开发框架(MVP+主流框架+基类+工具类)— Fresco
安卓开发框架(MVP+主流框架+基类+工具类)— EventBus
安卓开发框架(MVP+主流框架+基类+工具类)— ButterKnife
安卓开发框架(MVP+主流框架+基类+工具类)— 基类
安卓开发框架(MVP+主流框架+基类+工具类)— 工具类
第一次写博客,欢迎 顶 和 star,给我鼓励与支持,谢谢~
- 安卓开发框架(MVP+主流框架+基类+工具类)--- 开篇
- 安卓开发框架(MVP+主流框架+基类+工具类)--- MVP模式
- 安卓开发框架(MVP+主流框架+基类+工具类)--- 工具类
- 安卓开发框架(MVP+主流框架+基类+工具类)--- 基类
- 安卓开发框架(MVP+主流框架+基类+工具类)--- Retrofit+RxJava
- 安卓开发框架(MVP+主流框架+基类+工具类)--- GreenDAO
- 安卓开发框架(MVP+主流框架+基类+工具类)--- Fresco
- 安卓开发框架(MVP+主流框架+基类+工具类)--- EventBus
- 安卓开发框架(MVP+主流框架+基类+工具类)--- ButterKnife
- 安卓主流框架整理
- 浅谈安卓框架mvp
- 安卓主流框架整理(更新中)
- 简述安卓框架发展史二(mvp,mvvm)
- 安卓MVC vs MVP 框架
- 安卓开发框架
- 安卓开发框架
- Java主流开发框架
- MVP快速开发框架
- Linux常用命令及常用法记录
- docker-compose最新版安装
- POJ 3259 虫洞(bellman-Ford)
- mybatis处理集合、循环、数组和in查询等语句的使用
- MySQL实现跨服务器查询
- 安卓开发框架(MVP+主流框架+基类+工具类)--- 开篇
- Mac环境下破解SecureCRT for Mac 7.3.1
- 视频大数据产品-物联网、视频、大数据、三维、移动
- java集合类之随机访问和顺序访问
- Spring Boot 使用 WebSocket 实现消息推送 及 WebSocket原理
- java-享元模式
- 模板钩子方法的学习
- Antlr4-python3-runtime在ubuntu上的安装
- iOS面试会问什么?