如何自学Android编程?

这里写图片描述

你们期待的终于来了,我可以算作是Android自学界的鼻祖了,之前自学的故事与分享的知识、经验影响了无数人,如今几年过去了,我经常收到不少人的感谢信,很多当初看我的教程的初学者如今已经在Android开发小有成就,而且让我欣慰的是他们也依然延续我的分享精神,影响更多的人。

如果你现在依然是一个Android初学者,不妨到这里看下我的自学故事:

如何自学Android编程 https://www.zhihu.com/question/26417244

今天废话就不多说,就来给大家推荐一份详细的自学教程,帮助你从入门到进阶到精通。

准备

自学之路是一项很苦逼的差事,自学的人很多,但能真正坚持下去的很少,在准备自学Android之前你需要具备以下基本能力能帮助你坚持到最后。

1、对Android开发、对互联网感兴趣,兴趣是最好的老师,只有发自内心的感兴趣才能真正坚持下去;
2、强大的学习能力,既然自学那学习能力肯定是必备,要有很强的求知欲,持续不断的学习能力才有机会走的更远,注意,是持续不断的学习能力;
3、解决问题的能力,自学过程中肯定会遇到各种各样的坑,这个时候不要急躁,不要气馁,不要怕耗时间,一步一个脚印去解决问题,这会为你今后走上工作岗位带来极大的优势;
4、设定一个目标,比如我当初测试转行开发,自学Android的目标简单直接,因为开发比测试工资高,我转行就是为了多挣钱。我想大部分人的目标应该都跟我同感。

Java基础

Android开发是基于Java语言的,所以毫无疑问的是必须要掌握Java基础,如果你完全没有任何Java基础,这步是必须要好好学习的,如果已经有Java基础的,这步可略过。

对于很多初学者来说入门往往是最难的,如果只看书完全看不下去,也很难理解,所以强烈推荐初学者以书籍结合视频的方式学习Java基础,所以给你推荐:

  • 《Java语言程序设计》,优点是非常基础,适合初学者,建议只要看到前十四章就ok了,第十二章也可以略过。
    http://book.douban.com/subject/6529833/

  • Mars老师的Java4Android视频课程结合学习,便于初学者很好的理解与入门。
    http://pan.baidu.com/s/1c1beYo4

  • 如果每天至少坚持学习3-4小时的话,这一阶段差不多花费1–2个月之间都算正常,范围因人以及花费的时间而异。

Android入门资料

经过上面的学习相信你已经掌握了Java基础了,是时候开始正式进入Android学习的阶段了。

至于入门书籍我认为推荐一本适合你的就够了,而且大部分书籍内容大同小异,但是视频教程就就不一定讲解的内容都一样了,大家可自行选择视频教程。

Android开发工具

  • 科学上网
    科学上网可以说是程序员必备技能,身为Android开发者那更得会这项技能,不管你是使用Google也好,还是到Android官网查找资料,下载SDK都必须要翻墙。可以使用goagent也好,修改host,购买vps、vpn等等方式,这个技能不是本文重点,大家可自行搜索去配置。可以告诉大家的是对于新手来说最简单有效的方式是购买VPN,可以节省不少精力,至于哪个vpn比较好用不敢保证,我使用了两年的vpn个人感觉相对较稳定,感兴趣的可以到我博客主页去寻找。

  • Android Studio
    虽然目前的很多学习资料与书籍都是Eclipse为主,但是Google已经明确未来Android会抛弃Eclipse,所以强烈建议大家直接使用AS,学习的初期花点时间熟悉使用,上手很快就可以对照eclipse方面的教程转到AS了。当让我也在AS1.0刚发布的时候就已经出了一个针对新手的Android Studio+Gradle详细教程,是一个系列,帮助你们更快的入门。
    http://t.cn/RbH8Q3V

  • AndroidDevTools
    我是强烈建议Android开发者一定要学会科学上网的,但是如果你觉得暂时还不需要接触外面的世界,那么我的一个朋友搭建的网站,可以让你们无须翻墙即可下载使用官方SDK。
    http://www.androiddevtools.cn/

  • 模拟器Genymotion
    首先建议大家能不用模拟器都不要用,模拟器的启动速度简直是龟速,现在市面上安卓手机很便宜,打算做Android开发没个安卓手机真是说不过去。如果你非要用模拟器那就推荐你用Genymotion,目前来说最快的模拟器。具体可以看我下面的博客,最后还是要建议大家不要使用模拟器!!
    http://t.cn/R4RvAQd

  • Google
    问任何问题之前都要先去搜索引擎查一下,这会训练你的解决问题的能力,而等你以后工作,实际开发中可以知道,有一大半的时间你是在搜索度过的,很多问题都已经是前人遇到并总结的方案。对于新手来说可能百度勉强够用,但是建议一开始就养成使用Google的习惯,百度在娱乐八卦方面确实靠谱,但是技术方面查出来的东西基本千篇一律,有些答案甚至还会起到误导作用,直到有一天我的老大告诉我用Google,我才知道这个世界上原来还有另外一个搜索引擎,自此便成为脑残G粉,所以一定要用Google!一定要用Google!一定要用Google!!!(重要的事说三遍)

  • StackOverFlow
    用Google之后搜索出来的东西还是习惯性的点击中文结果,直到有一天我发现基本每次搜索排名第一的都是这个网站,于是尝试着点进去用我蹩脚的英语阅读,之后真是相见恨晚的感觉啊,上面几乎能搜到你遇到的绝大部分问题,某种程度上来说推荐用Google搜索的原因之一是因为排名靠前的答案基本都在StackOverFlow上。

  • GitHub
    现在是全球最知名的程序员开源社区,程序员几乎人手一个GitHub账号,在上面你可以找到各种各样牛人分享的开源项目,包括Google、Facebook、Twitter等开源的代码,简直是号称进阶必备,某种意义上看大牛的代码是最好的学习进阶方式。

Android开发资源

了解这些资源你绝对会接触另一个世界,这些资源大部分都是我圈中好友总结分享的项目,绝对干货!

  • Google Android官方教程中文版
    http://t.cn/RvHtswy

  • Android 开发最佳实践
    一些优秀Android开发者总结留下来的经验,了解这些能让你的学习之路事半功倍。
    http://t.cn/RwgJoHm

  • Android开源汇总
    GitHub上总结的最全的Android各大开源项目,让你大开眼界!
    http://t.cn/R2LTQkN

  • Android Weekly
    了解最新的Android相关的技术有哪些,时刻了解紧跟技术趋势,建议加入邮箱订阅。
    http://androidweekly.net/

  • Android Weekly Cn
    我一个朋友做的国内版的Android Weekly,更符合国情。
    http://www.androidweekly.cn/

  • Android源码解析
    我的朋友Trinea发起的一个专注于开源项目源码解析及优秀开源项目的分享的网站
    http://p.codekk.com/

  • AndroidDeveloper
    我自己的公众号,算是打个广告吧,作为国内Android界的精神领袖,我经常也会在我的微信公众号上分享一些干货,大多为个人原创,时刻紧跟趋势,并且只分享对你们有用的干货,可以微信公众号搜索googdev关注。

国内优秀Android开发者的博客

这里筛选一些有质量的博客给大家,大都是你们的前辈,绝对一线的博客。

Android进阶书籍

当你Android开发已经上手之后,突然发现一直进步很慢,处于一个瓶颈了,这个时候你需要这些书籍。

  • Thinking In Java
    Java经典书籍,有中文版的,可能为了学习Android,你只掌握了Java基础,但是远远不够,你需要再重新系统的学习一下Java,这是一本值得反复看的书籍,针对有一定Java基础的人,会让你重新认识下Java。
    http://book.douban.com/subject/1474824/

  • Effective Java
    这是一本实用至上的书,78条建议,满满的干货。每一条都说明了为什么最好这样,Java进阶必备,目前为止看过这本书评价最好的一本。
    http://book.douban.com/subject/3360807/

  • App研发录
    从App架构的角度,重点总结了Android应用开发中常见的实用技巧和疑难问题解决方法,为打造高质量App提供有价值的实践指导,避免你在实际项目中踩坑,读完绝对有收获。
    http://book.douban.com/subject/26649050/

  • Android开发艺术探索
    这是一本Android进阶类书籍,采用理论、源码和实践相结合的方式来阐述高水准的Android应用开发要点,Android开发进阶值得拥有。
    http://book.douban.com/subject/26599538/

AndroidUI设计

  • Material Design
    在开发一款Android App之前,你需要了解下Android平台的设计规范,这里有Google最新推出的Material Design中文翻译版。
    http://t.cn/RLrJg33

  • Google 官方也出了一个支持库 Android Design Support Library,具体用法见链接。
    http://t.cn/R2orZH9

  • Sketch 3
    这个工具只推荐给对UI感兴趣的开发者,这是一个专为设计移动端 UI 的设计工具,作为开发者,不用懂那么复杂的 PS 使用,也可以做非常专业设计。
    https://designcode.io/sketch

Android App源码推荐

当你已经做Android开发一段时间,并苦于进入瓶颈,这个时候阅读一些优秀App的源码是最好的学习进阶方式,借鉴一些优秀App源码的设计能获益很大。

Google的项目有些时候对于初学者有点困难,下面就推荐两个完整的轻量的学习项目。

Android新技术

你需要了解Android有以下新兴的技术与框架,有些也许还不成熟,但是你应该去了解下,也许就是未来的方向。

  • Kotlin
    作为 Android 领域的 Swift,绝对让你如沐新风。抛弃沉重的 Java 语法,Kotlin 融入了很多现代编程语言的思想,作为开发者,接受新的语言,了解新语言的发展趋势,更有利于开阔你的思路和加深对语言的理解。
    http://t.cn/R2DK0SL

  • React Native
    Facebook推出的针对移动应用的跨平台解决方案,目前还不成熟,但是由于Facebook推出,光环效应引起不少目光,这是不是未来暂且还没结论,但是有必要了解学习下。
    http://t.cn/RbHmtOk

  • MVP
    MVP越来越多的被Android社区所讨论,有点是能够让代码更清晰,但同时也会增加很多类,写起来更麻烦,不过对于一些不是很庞大的项目却是非常适合的。这里提供一个最先采用MVP模式的开源项目:
    https://github.com/pedrovgs/EffectiveAndroidUI

  • MVVM
    因为官方支持 DataBinding,把 MVVM 直接带到 Android 中。它非常高效的开发效率,让你只关心你的数据和业务,从此数据绑定会更加常见。
    http://t.cn/RbHmnhE

  • 插件化
    一般App上线之后出现bug需要重新提交新版本才能解决,这个就太慢了,由于iOS的审核原因,插件化在iOS开发常见,阿里业务方面这个特别需要,比如双十一出了bug,不能眼睁睁的看着bug出现不管吧,所以阿里系衍生出了一系列热修复的框架,dexposed、AndFix,具体可以见这里详解。
    http://lirenlong.github.io/hotfix/

  • RxJava
    最近响应式编程框架RxJava越来越受大家待见,RxJava让你异步任务更简洁方便,以我对技术的敏感性认为RxJava可能会越来越普遍,推荐大家学习。这里有一系列详细的资料教你学习。
    https://github.com/lzyzsd/Awesome-RxJava

当你下定决心,准备前行的时候,剩下的只有坚持了!

最后

不少人给我留言说希望我加打赏功能,打赏功能是微信内测功能,目前还没有被邀请。尾部加入了打赏二维码,我觉得我的这篇分享值得让你们打赏。

我自学一路走来收藏的不少有用的电子书、视频、资料什么的,如果你们需要的话我考虑整理下发给你们,但是需要花点时间,想要的请打赏支持下我。

这篇文章值得你转发、收藏并打赏么?

这里写图片描述

博主有话说

这篇文章是偶然所得,感觉质量很高,又怕这么好的文章在茫茫网海中莫名丢失,所以贸然的转了过来。

本人十分尊重作者辛苦的收集工作,我对这篇博文所做的工作只是转载和排版,对于上面的微信打赏的图片,仍然是原作者的二维码,本人没有修改也没有删除,大家觉得有用就支持一下,本人也会略表支持,多少都是心意。

特意写这么一段是怕以后引起误会,冒着有可能被误会的风险转了过来实在是觉得这篇文章不错,很多博客大神的文章我也一直在看,里面也推荐了两本安卓开发的进阶书籍,本来有段时间我是非常渴望找到一本进阶的书籍想看的,但是看了下两本书的目录,又觉得书中的内容大多已经在csdn上那些大神的博客中看过了,所以一开始是没打算买的。

后来看到豆瓣下有人贴了《Android开发艺术探索》作者的博客链接,点进去看了下,里面有篇博文是《给Android程序员的一些面试建议》,看完感觉博主写的十分诚恳和真实,同时也再次让我感觉到了自己跟大神的差距,于是便决定买了他的那本书。

话扯远了,希望大家在android开发的路上越走越远。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值