工程封装整理

    最近在整理项目重构的时候,突然想到,为什么不封装一个常规工程都可以用的library呢?我花了整整一个星期的时间,完成了这个工作,下面就简单的总结一下吧。

    首先先整理项目里面常规的功能:三方登陆分享、网络请求、数据存储、图片加载、极光推送、bugly崩溃日志分析、Eventbus以及一些常用的工具类。因为整个项目是mvp的一个架构模式,通过这一星期的整理,又重新认识了这个模式,才发现之前的理解很多都是片面错误的。

整个工程的目录结构

    我想通过对应的文件夹,大概就能知道里面对应的功能点。先从三方登陆分享说起,我用的是mob的sharesdk,登陆分享遇到的问题,主要的功能代码在mob文件夹下面。网络请求我用的reretrofit+rxjava(目前主流吧),主要的功能代码在network文件夹下面,整个项目的mvp的架构模式,在mvp的文件夹下面,网络请求和mvp架构也算是自己整理总结的收获吧,在使用glide的时候也遇到了一些问题,详情可以看Glide V4 新版中GlideApp配置方法androidx下Glide使用报错,Events使用很简单,这里我就不细说了,在base文件夹下面的内容也是挺重要的,因为所有的界面里面的一些功能逻辑都是直接封装在base文件夹下面的。数据存储是我之前就封装好的一个远程依赖库,数据存储的GitHub地址。这些差不多就是base这个library里面所有的功能了,为什么要把这些功能放在base这个library里面,以为现在比较流行的是模块化开发,可能其它的module会用到这些方法,只要让module依赖这个library,里面的所有功能就都可以实现了,而推送和bugly本身就是针对整个项目而言的,所有我就把它们放在了app module里面了。基本上涉及到的功能我在app module里面都写了测试的代码。特别在从0到1开发新应用的时候,就省了好多的时间和精力,只要拿到对应第三方的appkey之后在base这个library对应替换掉就可以了,这样是不是一劳永逸的事,当然随着功能点增加,后续我也会继续扩充base这个library里面的功能。整个工程的地址链接。因为测试的时候多个环境切换很麻烦,频繁的卸载安装真的很麻烦,刚刚又把多环境切换的工作做完了,在打包的时候可以指定环境。因为我都是按照对应的功能点提交代码的,实在不清楚的可以看我提交的commit信息。

    一抬头已经凌晨一点多了,被自己小小感动了一下,这也算是我一周的辛苦积累吧,特意记录一下,希望可以给浏览的你一点帮助。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、简介 在泰国举行的谷歌开发者论坛上,谷歌为我们介绍了一个名叫Glide的图片加载库,作者是bumptech。这...
    天天大保建阅读 12,228评论 2 28
  • 7.1 压缩图片 一、基础知识 1、图片的格式 jpg:最常见的图片格式。色彩还原度比较好,可以支持适当压缩后保持...
    AndroidMaster阅读 7,380评论 0 13
  • 问题 在已经开发过几个项目的童鞋,如果这时需要重新开发一个新项目,是否需要自己重新搭建框架呢,还是从老项目中拷贝粘...
    8ba406212441阅读 43,488评论 84 381
  • 请允许我借鉴前辈们的东西~~~~ 感激不尽~~~~~ 以下为Android 框架排行榜 么么哒~ Android...
    嗯_新阅读 6,826评论 3 32
  • 渡湘江 唐 · 杜审言 迟日园林悲昔游, 今春花鸟作边愁。 独怜京国人南窜, 不似湘江水北流。 宁静致远 桑茶坑道...
    刘伟书法_沈阳阅读 3,153评论 5 14

友情链接更多精彩内容