首页 > 代码库 > 道阻且长 行则将至——android学习总结
道阻且长 行则将至——android学习总结
道阻且长 行则将至——Android学习总结
我是14年毕业的,我在想我是从什么时候开始做的android开发呢?是大二下学期的时候,那个时候跟在学长的屁股后面蹭一个软件设计大赛的比赛。那时,我们选的是android开发。想来是12年年中的时候吧。我在学校属于极其普通的那种类型,开窍的也晚。那个夏天,我断断续续的看了marks的视频,那会还用纸笔来边看视频边记笔记,那是追求的还不是掌握运用,追求的是记了多少笔记,看了几集视频(有没有感觉很幼稚)。那时对未来也是懵懂好奇,内在也是冲突而焦躁的。
后来学习Java,再之后学习软件工程,都有比较大的编码课后作业。记得当时春雨医生刚创业,感觉春雨医生的模式很好,自己就尝试实现了一套的流程(医生版+患者版javaee的后台+android版的app),当时还给起了个时髦的名字叫“健康助手”。当然这个代码肯定无法跟工业级的代码相比,只是实现了简单的登陆,搜索,增加,查询的功能,患者可以在app上问问题,医生可以在web上回答问题。没曾想,自己后来也进入了一家做移动医疗的互联网公司,感觉因果真的是非常奇妙的东西,曾经,我们做了很多看似没有关联的事情,谁有知道,未来有一天你再回头看,好多事情都被串起来了。
回忆了这么多,其实主要的还是想把之前做android开发的一些想法抽象一下,做一下总结。方便以后翻看。
android应用架构
年初的时候,自己就在搜集一些开源的app或者框架,阅读学习源码,也自己写了一套android应用框架,当然还有一些功能没有实现。并且我还在规划写一系列的《假如我是一名架构师》,写自己在android应用架构方面的所学所写。目测要逃票了。
框架地址:
https://github.com/zhujainxipan/FYForAndroid
大致实现了什么功能:
在基类中引入对MVP的支持
基类抽象:
BaseApplication的设计
BaseFragment的设计
BaseActivity的设计
网络基础层:
图片加载框架universal imageloader二次封装
网络请求框架volley二次封装(已集成gson)
数据层:
缓存管理
sharepreference封装
公共组件封装:
部分第三方控件,如筛选公共组件
webview组件封装
工具类:
常见工具类
书写框架带给我的思考
框架的设计目的是增加复用,方便项目的维护,统一项目开发风格,降低复杂度,提高效率。
其实不管是android应用开发,还是说web后台的开发,都随处可见框架的踪影。其实完全不必区分对待,在概念层面上,他们几乎都是完全对应,知识可以链接的。框架的存在可以帮助我们快速开发,框架往往提供了封装良好的工具类或者基类,或者在第三方集成上面,保证和系统有较低的耦合,方便未来更换第三方。
如果将来你有机会做后台的开发,其实完全可以以做android应用的思路去对应理解java后台的框架,在底层上,他们是可以一一对应的。不过在思维上的一个大的挑战是,服务端对网络知识要求比较高。这可能是客户端人员的短板。
android知识树
客户端是和用户交互比较多的开发,大概分为:
界面呈现相关
视图view、activity、fragment等
用户交互
click、手势、传感器等
网络调用
网络请求、推送、轮询、数据传输格式的选择(json、xml等等)
存储
数据库存储、文件存储、缓存系统等
进程、线程
多媒体相关
android常见数据库解决方案及原理
Android常用几个ORM框架:ORMLite、GreenDao、ormndroid、androrm等,本来也是打算去研究一下底层原理,不过苦于没有时间,目测也要逃票。
android插件化
插件化这块自己一直有心研究一下,同事也分享过,自己也断断续续的看过一些。本来打算写几篇博客,不过因为一些原因自己又要逃票了。
Framework层浅析
framework这块看过7章的《android内核剖析》,也是本来打算写几篇博客,不过因为一些原因自己又要逃票了。
http://www.woaipu.com/shops/zuzhuan/61406
http://www.znds.com/tv-967956-1-1.html
http://www.znds.com/tv-967958-1-1.html
http://www.woaipu.com/shops/zuzhuan/61406
http://www.znds.com/tv-967956-1-1.html
http://www.znds.com/tv-967958-1-1.html
道阻且长 行则将至——android学习总结