好久没有写博客了,中间断断续续用markdown写了一些知识点的总结,过段时间也整理整理发出来。
这个时间点,大三上学期过了小一半了,而这个项目是我大二上开始的一个项目。现在回顾起来,有诸多问题,希望在上线之前重新梳理一下,也当做是一些知识点的重新梳理,深入了解,优化之前的不足之处,也希望能够借此希望给大家一些经验。
APP的情况如下:大二刚上手,没有考虑架构问题、代码复用、命名规范和代码注释等问题,导致现在看起来整个项目臃肿不堪,后来的人很难接手。
命名规范的问题参考:http://keeganlee.me/post/android/20150709(转载)架构师,学习了很多。
整个应用采用MVP架构,这种架构在这里就不介绍了,上面链接的网站也有介绍,很详细。
这里做了简化,讲道理应该是APP负责界面的UI处理,Core层处理逻辑操作,Model层纯数据操作,然后还有一个API层处理网络请求。这个项目封装了OKhttp,所以把core层和API层做了合并,在core层请求数据处理数据。
app层依赖core层和model层(我把所有数据的操作,比如SP,SQL都放在model),core层依赖model层,model不依赖谁。
app层使用一些开源的库
compile 'com.android.support:recyclerview-v7:24.1.1' compile 'com.android.support:design:24.2.0' compile 'com.commit451:PhotoView:1.2.4' compile 'me.iwf.photopicker:PhotoPicker:0.1.8' compile 'com.facebook.fresco:fresco:0.14.0'
core层使用的开源的库
compile 'com.zhy:okhttputils:2.6.2' compile 'com.google.code.gson:gson:2.6.2'
做完整个大体的结构,现在是丰富每个层的具体结构: