android项目总结、阶段小结

距离上一个项目大体完成已经有一段时间了,一直说总结一下却一直拖着,最近已经开始php的学习了,觉得实在不能再拖了,需要对上一个阶段总结一下,然后好好的开始下一个阶段了。

项目架构

项目的架构参考的是简洁架构(我最早就是在这个文章看到的介绍,真正使用已经是15年9月低了),表现层使用的是MVP。

0级分层.png

1级分层.png

实践的结果还是十分满意的,项目的结构很清晰,各层各司其职,井井有条。并且我开始习惯写接口,使用抽象的逻辑先完成整个框架的搭建,具体的实现分成一个一个的任务,可以让实现具体功能的人不用理解整个复杂的业务流程,也能保证开发的顺利进行。大大保证了项目的质量和开发的效率。

当然中间也有崎岖探索,随着一步步的实践,自己的理解也慢慢加深。当初开始使用的时候和后期项目差不多完成的时候,我又看了很多项目和架构的文章代码。领域驱动设计、mvvm、变形的mvp、插件化开发、跨平台等等。

到此我才越来越觉得编程思想的相通,越来越多的看到的东西并不是android圈或者纯android开发者的讨论了,很多web开发者的文章讨论。在web中早已经使用的IOC、数据绑定、mvvm等等再android开发中也渐渐的开始讨论到越来越多、使用的越来越多。

而这些在我近期开始php学习的时候也愈发显现出来,让我可以更快的接收概念理解上手。

第三方轮子

因为是小公司,所以基础库都是一些主流的轮子。

  • 图片库使用谷歌推荐的glide,facebook的fresco也很不错,但是我现在没有时间去研究它;
  • 网络库使用retrofit+okhttp(缓存使用okhttp自带的缓存处理,可以参考我之前的文章);
  • 响应式编程RxJava(给我带来了新的编程思考方式,Everything is a stream.)
  • 依赖注入的dagger2,刚开始的时候真的是一头雾水,因为不太明白依赖注入是个什么东西,做web开发的同学应该对依赖注入司空见惯了吧。特别是我前一段时间封装sdk,抽离dagger,又开始大量new对象的时候,更是觉得dagger的舒服。
  • 数据库greendao,你需要建一个java工程写一些配置约束的代码,然后就可以帮你生成dao和model,真是太方便了,没有反射效率也高。
  • 事件总线使用的是androidEventBus,注意不是greenrobot的eventbus。
  • 印象笔记的android-job用来处理后台事件,它会根据android版本的不同来调用obScheduler, GcmNetworkManager 或者 AlarmManager。
  • 还有一些小库如:处理日志logger、键值对存储的Hawk、注解绑定事件和方法的butterKnife,都是很好用的。
  • 室内定位服务组件:室内定位、室内地图、室内导航,有业务需求的欢迎联系我。

一些项目总结

  • 架构不是来限制你的,是来帮助你的,所以千万不要本末倒置,要活学活用。(在初期基本是邯郸学步,有样学样,即便是感觉这样做很不爽了,也还在坚持这样做。不过后来终于想通了,按照自己的想法理解开始改造,最后结果是:随着业务的不断扩大复杂,终于明白为什么有些要那么做,哈哈,不过也有很多改的对的,总之就是要知行合一!)
  • 父级P类不用写resume和pause方法,因为很多情况是不需要这两个方法的;
  • 父级P写setView(设置view接口)和initData,这两个是所有P都要实现的,所以写到父级;为什么不合并这两个,因为对象的初始化在setView中,是一次就够了,但是initData不一定,比如可能要在onNewIntent中调用。
  • 每个module配置自己的混淆文件,方便管理,在application的pro_guard_rules配置也可以,但是当module不用时appliction会产生冗余配置还要处理。
  • 每个module配置自己的依赖,为了高内聚,并且打包的时候并不会重复打包不同module之间的相同引用。
  • 所有的跳转都要走navigator,(navigator是统一处理页面跳转的类)

一些好用的东西

  • 使用AndroidStudio进行开发,有很多朋友的公司还在使用eclipse开发,听着就替他揪心。

AndroidStudio插件

  • .ignore ,当然同系的软件都可以用,想PhpStorm、IntelliJ、WebStorm等。
  • Android ButterKnife Zelezny (AndroidStudio插件)这个是配合 ButterKnife使用的,让你从findviewbyid中解脱,当然如果你使用databinding的话,也不用findviewbyid了。。
  • GsonFormat 让你从写json相关的实体类中解脱
  • WakaTime 这是他的网站,统计你各种编程的时间。

AndroidStudio使用

  • 配置使用代码模板,团队模板要统一。
  • commed+f12 查看结构
  • F3 代码加书签,commed+F3
  • alt+commed+t 配置代码包裹
  • commed+alt+B 查看方法的实现
  • commed+U 查看方法的抽象方法(接口写多了,这一对还是很常用的)

chrome插件

  • Postman 一款功能强大的网页调试与发送网页HTTP请求的Chrome插件。
  • ChromeADB
  • OneTab 可以帮你把打开的很多网页收起来存着,很方便。在windows上用chrome打开太多页面会很占资源变卡,但是在mac上感觉还好。(顺便推荐mac pro做开发,真的好用)
  • Octotree 浏览github代码的时候,左侧可以树桩浏览目录结构,十分方便。
  • JSONView 格式化json数据
  • 有道词典 英语不好的,经常查单词太慢,用这个还是很好用的。
  • Vysor 同步android手机画面,并且可以控制,记得大学答辩的时候用的一个延迟好大,这个延迟很低。

其他

  • versioneye 项目中引用了很多第三方库,他可以提醒你哪些库可以升级了,我的项目所有依赖都配置在dependencies.gradle中,我把这个文件上传上去就识别了,但是库好像不全。。其他项目像php的也都可以使用。
  • mac软件推荐到 www.ifunmac.com,虽然是要收费的,但是不贵还是很值的,省去了找软件的时间,并且更新很快。
  • No Sleep 让你的mac不sleep
  • 如果你在找一个地方写博客的话,我推荐简书。
  • 笔记是积累,博客是沉淀,我一直在用为知笔记,mac版的不如windows的好用,你也可以尝试印象笔记等。我也试过mdwikitiddlywiki.com,但是感觉不如为知笔记好用,主要效率就差很多。位置笔记各个平台上也都有客户端让你的体验更好。
  • fabricTwitter的移动应用开发平台。我在androidStudio装插件一直登陆不上。。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 201,681评论 5 474
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,710评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 148,623评论 0 334
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,202评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,232评论 5 363
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,368评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,795评论 3 393
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,461评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,647评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,476评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,525评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,226评论 3 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,785评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,857评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,090评论 1 258
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,647评论 2 348
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,215评论 2 341

推荐阅读更多精彩内容