登录

去注册 忘记密码?

登录

注册

去登录

  • 扫码关注公众号
  • 发送“我爱安卓
  • 即可获取验证码

注册

解锁回答区域

  • 扫码关注公众号
  • 发送“我爱安卓

若你登陆,将永久解锁;
若未登录,仅本机解锁。

解锁回答区域

获取注册验证码

  • 扫码关注公众号
  • 发送“我爱安卓
  • 即可获取验证码

基于Mvp的通用项目框架

zhongxiong00   2018-10-18 18:43   收藏

SimpleProject

SimpleProject让开发者快速搭建一个Android项目,里面使用的技术有
1.mvp设计模式
2.Tinker热修复
3.今日头条适配方案
4.Glide图片加载
5.Okhttp网络请求
6.下拉刷新,上拉加载更多
如果你也打算在你的项目中使用这些技术,可以直接使用此项目作为基础框架


baselib

baselib是一个代码库,里面的代码是与业务完全无关的,可以把他作为一个通用库,作为自己的代码基础库


gradle.properties

gradle.properties文件配置一些不同环境下的url或者其他字符串常量:
DEBUG环境
DEBUG_BASE_SERVER_URL=""
Release环境
RELEASE_BASE_SERVER_URL=""
然后在productFlavors下面引用即可


LaunchApplication
LaunchApplication是Application的代理类,因为使用了Tinker热修复,具体参考:Tinker热修复集成指南
里面有一些工具的初始化,具体请自行阅读代码


适配

屏幕适配采用的是今日头条的适配方案。
在AndroidManifest.xml文件中配置UI设计图的宽度dp值即可完成自动适配
参考:今日头条适配方案的封装


图片加载

使用ImageLoaderUtils加载图片即可


多渠道打包

多渠道打包采用的walle,渠道信息的读取请使用ChannelUtils
walle打包参考:Walle多渠道打包Python工具


H5

采用腾讯X5WebView内核,所有的交互方法写在H5Interactive类中,为了使X5Webview不那么臃肿,具体实现放在H5InvokeAndroidProxy代理类。
交互方式参考:Android与H5安全交互方式


Mvp设计模式

Activity继承BaseActivity即可
Fragment继承BaseFragment即可
BaseActivity,BaseFragment放置一些公共业务,如果想封装一些UI相关的Activity,Fragment,都继承这两个
项目里面已经封装有loading相关,标题栏相关,开发者根据需要选择继承即可。
继承关系如下图:
enter image description here
enter image description here

项目地址:https://github.com/zhongxiong00/SimpleProject