「技术亦人生」端泽的技术学习百宝箱

Updated on 2016/2/14
谈思想,谈技术,吐槽,不定时持续性更新

概念

Android开发是一个非常宽广的领域,对开发者的要求不尽相同,包括但不限于以下几种:

  • 应用开发 世人皆知,声名显赫,优质App的开发少不了各种高精尖技术的支持,尤其以网络相关为大头,后端架构为魂骨(或者说这才是本身?!);与设计师还有产品经理相爱相杀,以打造用户体验一流的应用为至高目的
  • ROM定制 我们一般接触到的是各种国产UI、OS,每次开发布会言必称体验直追iOS,“超前”谷歌设计之举不胜枚举(双义,有一些确实是相当不错,让人眼前一亮;还有一些就十分呵呵了,笔者曾经见过某ROM对于一个“不重启机器切换字体”的实现方案为:粗暴改写TextView让它绘制时读配置加载字体文件……),造就各种应用兼容性问题;目前来看,Material Design仍旧十分不讨他们喜欢,誓要以自己的美学抗争到底
  • ODM 手机平板等Android设备的整机软硬件适配开发,不为人知的穷苦行当,从业基数很大。厂商产品背后默默无闻的、流血流泪的不收几块钱的功臣,虽然不知道就趋势来看是不是终将走向消亡,但目前来说影响到的中低端消费者量很大——只不过他们不知道而已。模块化细分,严整的项目日程管理(也就是对交付日期卡得很死),对技术没有高精尖需求,快、稳定即王道,某种意义上来说比较无聊。笔者将之命名为“知识密集型制造业”,其中的老程序员可能熟知某个部分从软到硬的大部分细节,但愣是写不出一个像样的应用。与芯片厂商关系密切
  • 特定SDK开发 非常专一,为以上领域提供服务,像是面向开发者的友盟、通讯界的触宝、语音界的讯飞,做得好就好,做得不好……碍于客观因素好像还是得用?
  • 芯片厂商 以MTK、高通为代表。偏底层,对ODM及ROM定制提供技术支持(也有可能是坑人)。MTK的服务做得更全更贴心,满天飞的 Feature option完爆高通,针对硬件设备、sim卡、手机出货版本而起作用的MTK plugin也颇有可取之处,但相对而言代码与高通的相比就不是那么的干净了——这其实构不成问题,到了ODM及ROM定制手上总得一番大改特改的。
  • 游戏开发 不熟悉,似乎很好玩的样子。

在在这里不会划地为牢,所有领域的相关内容都有可能出现。


入门

看上去很基础的东西全都放在这里。注意基础!=简单,只不过说明这是在技术之道上进一步爬升所必备的基石而已。而且这里的简单同时具有相对性,上一节提到了数个不同的领域,可能对于这一领域来说很基础的东西,在另一个领域中的开发者一生都不会用到——我不是在开玩笑。

预科

Android是个很复杂的东西,不注重补足大局观的程序员很容易一叶障目。如果时间紧迫不妨先跳过此节,但推荐今后还是应该补足一下

  • Web 我认为当下几乎所有程序员都应该具有一些Web知识才是合理的。
    很多知识在Android中是有直接演化利用的,比如说UI上符合CSS的万物皆框概念。
    常备教程网站:W3school菜鸟教程
    都是很优秀的网站,区别是前者历史更悠久(许多无节操国人的书籍大段大段抄上面的内容我会乱说?),后者内容更丰富(有种看完后就变成了全栈工程师的错觉,其中也包括Android)。
    教材有上野宣《图解HTTP》,日本友人的书真心不错
  • Git 因为Android本身就是用它来做版本控制的,又因为它已经通行世界,所以是必学技能
    基本用法可以从上面提到的菜鸟教程学到,书籍上 蒋鑫的《Git权威指南》似乎是一本全了
  • Linux 我不推荐你在PC下开发,因为我自己就是一个血淋淋例子
    王军的《Linux系统命令及Shell脚本实践指南》很符合我浅尝辄止而又给你宏观认识的心态。
  • Android build
    Android build系统主要包含make,python,shell
    可以看看这篇理解 Android Build 系统
    Android make是GNU make的子集。有一本能够从网上下得到的很棒的教材 陈皓的《跟我一起写Makefile》
    Shell 随便看看就好,可以参考笔者的这篇上手文章:光速上手Shell——简单批量文件操作为例
    Python 不熟
  • Java Android开发的主力语言,把这个学深一点会有意想不到的好处。
    Bruce Eckel 《Java编程思想》一本全,但是读起来确实很耗时;李刚的“疯狂”系列也凑合的
  • 设计模式 面向对象思想精华
    程杰的《大话设计模式》,主要是用来过眼瘾的,告诉你代码可以写得这么漂亮,但技术及情况未到的时候,你基本用不上设计模式
  • 英文
    以我目之所见,基本欧美整体素质超前不知多少年。这是确保你能够接触前沿并持续学习的重要保障。
  • 业务
    因人而异,有一些工作任你技术秒杀天下,不懂业务就是白搭。

正餐

  • 工具及SDK等 公欲善其事,必先利其器
    Android Studio、Gradle、ProGuard,你可以在Studio中文社区以及stormzhang的《安卓学习之路》找到一些有用的东西
    SDK等资源下载则推荐AndroidDevTools,你同样可以在上面找到好些教材
  • 教材
    首推Android官网教程,问题则在于被墙以及满目英文读起来总是不那么顺畅(英文达人请无视)。你可看看AndroidDevTools上的中译版本,但并不是很全的样子
    书籍方面推荐两本互为补充,郭霖的《第一行代码Android》外国某培训机构出品《Android编程权威指南》,其他的不推荐——这是笔者在学校时翻阅了整个图书馆十多本入门书的经验之谈,当然现在有可能已经出现了良作,所以辩证看待此点即可

进阶

关于现在的自己处在什么水平?
这里有一篇来自Futurice的热门文章可以作为对照参考:Best practices in Android development
你也可以看我的译文:「译」Android最佳实践指南——GitHub Star 7000+

目前看过的比较好的书有:

  • 任玉刚《Android开发艺术探索》对重点知识讲解的较为深入而通透,就是初版错误有点多,记得去作者博客上看看勘误,别掉坑里去了。
  • 徐宜生《Android群英传》挺薄的,许多东西就是随便说上几句的感觉,对绘图与5.0新特性讲得比较多。
  • 包建强《App研发录》目前最全的Crash查找手册,重思想的书

优质网站

GitHub 无须介绍
稀土掘金 干货多,呈上升趋势

厉害的人

完成入门以后,除了不断的写代码在实践中提升自我以外,囿于一个人的眼界问题,还是会有许多不明了甚或根本就未遇到的问题。这时一些乐于分享的前辈就是极好的学习对象了,以下列出的前辈可能既写博客又写书还做开源,请自行挖掘。以下排名依个人推荐度分先后:

  • 王垠 王垠的博文给人以思考,打破迷信和盲从
  • 酷壳 几乎由陈皓个人维护,令人惊叹
  • 任玉刚 《Android开发艺术探索》作者,该书十分良心,进阶必读,其博文倾向于探讨更高级的内容
  • harvic 博文很多,写得很好,主点突出一个“学习过程”
  • Lucida Google工程师,值得学习
  • 郭霖 《第一行代码Android》的作者,活跃于CSDN,博文思路清晰,图文并茂内容详实。更偏重实际代码一些
  • 鸿洋 内容丰富,更新迅速,更偏重实际代码一些
  • 代码家daimajia GitHub上拥有众多优秀开源项目的高手
  • Trinea 微信codek2, Focus on Android, Java, Open Source, Performance Optimization

完整项目

完全明了一整个项目的实现过程是十分宝贵的体验。有助于增长软件开发的大局观以及各种细节。

  • EverMemo The simplest memo app.很简单的应用,代码质量不错,非常适合学习,印象中就是对于Loader的使用存在一点问题,多注册了观察者。
  • Notes Material Design Notes App.与EverMemo同类型,使用大量开源库+MVP设计模式。
  • AnimeTaste AnimeTaste(品赏艾尼莫)是国内首个关注独立动画的网站。 移动版聚焦更新的全球独立动画的传播,让您随时随地能观看动画,分享快乐给更多好友。品味动画,重拾幻想。与EverMemo一样同属代码家出品,他好像比较喜欢纯Activity应用。
  • 简诗 A beautiful app 简诗 for recording anything in your life with traditional Chinese style.自定义控件做得很不错。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,980评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,178评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,868评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,498评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,492评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,521评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,910评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,569评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,793评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,559评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,639评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,342评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,931评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,904评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,144评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,833评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,350评论 2 342

推荐阅读更多精彩内容