如何自学Android编程?

来源:互联网 发布:手机淘宝店铺头像 编辑:程序博客网 时间:2024/06/07 19:48

原文地址:http://mp.weixin.qq.com/s?__biz=MzA4NTQwNDcyMA==&mid=402135493&idx=1&sn=c2e040f95551082cbe2bdf7182dc3e9f#rd


如何自学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开发详细资料,这篇博客影响了无数Android开发者,可谓Android开发必备,某种意义上来说,自学Android有这篇博客足够了。

http://t.cn/Rz79nfR


  • 《第一行代码》

郭霖大神的最新力作,全书由浅入深、系统全面地讲解了Android软件开发的方方面面,而且是针对Android 4.0进行讲解的,非常适合Android入门。

http://book.douban.com/subject/25942191/


  • Mars老师的Android开发视频教程

http://marschen.com/portal.php


  • 极客学院Android开发视频教程

http://www.jikexueyuan.com/path/android/


  • 慕课网的Android视频教程

http://www.imooc.com/course/list?c=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开发者的博客


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


  • stormzhang的博客

http://stormzhang.com/


  • 郭霖的博客

http://blog.csdn.net/guolin_blog


  • Trinea的博客

http://www.trinea.cn/


  • 魏祝林的博客

http://blog.csdn.net/android_tutor


  • 恺风(Wei)之Android专栏

http://blog.csdn.net/column/details/flowingflying02.html


  • 张鸿洋的博客

http://blog.csdn.net/lmj623565791


  • 张兴业的博客

http://blog.csdn.net/xyz_lmn


  • 更多国内优秀开发者的博客

http://t.cn/RPniqXI


  • 国外著名优秀开发者博客

http://t.cn/RPni7a0


国内外优秀Andorid团体博客


  • Android Developers Blog (Android开发者官方博客,须翻墙)

http://android-developers.blogspot.tw/


  • 美团点评技术团队

http://tech.meituan.com/


  • 腾讯全端 AlloyTeam 团队 Blog

http://www.alloyteam.com/


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


AndroidApp源码推荐


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


  • iosched

iosched项目是Google I/O的官方app,绝佳的学习项目。

https://github.com/google/iosched


  • android-UniversalMusicPlayer

也是Google官方作品,代码量不大、注释清晰,简单但全功能的音乐播放器。

https://github.com/googlesamples/android-UniversalMusicPlayer


  • android-topeka

这个项目是Google前段时间刚发出来,通过这个app,你还可以学到如何设计你app的交互和视觉以更好的和MaterialDesign搭配。

https://github.com/googlesamples/android-topeka


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


  • 9GAG

9GAG是我个人的开源练习项目,教你使用Studio、Gradle以及一些流行的开源库快速开发一个不错的Android客户端。

https://github.com/stormzhang/9GAG


  • AnimeTaste

代码家开源的一个线上关注动画的一个App,同样适合初学者学习。

https://github.com/daimajia/AnimeTaste


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

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 管子太多每次洗澡都是冷水怎么办 热水冷水装反了怎么办 大树被高锰酸钾灌溉了怎么办会死吗 防盗门门被锁了怎么办 门被里面反锁了怎么办 门里面被锁了怎么办 被锁在门里怎么办 门锁住了没钥匙怎么办 车被别人锁住了怎么办 汽车轱辘被锁了怎么办 小车轮胎被锁了怎么办 国防光缆无明显标识被挖断怎么办 临工210挖掘机柴油进气怎么办 汽车抛光蜡干了怎么办 洗碗铁丝球吃了怎么办 牙套铁丝吃肚子怎么办 小铁丝吃到肚子怎么办 绿色抛光膏干了怎么办 不锈钢被盐酸弄黑了怎么办 不锈钢被草酸洗了怎么办 不锈钢洗菜盆被草酸腐蚀了怎么办 汽油发电机加了柴油怎么办 装载机发动机加入齿轮油怎么办 印尼的FromE错了怎么办 寄快递被弄坏了怎么办 福田口岸手表被扣怎么办? 网页显示与服务器连接失败怎么办 唯品会中发货无法清关怎么办 国际快递被海关扣了怎么办 我想开一家物流公司手续怎么办? 物流公司把我的货弄丢了怎么办 物流公司压司机工资怎么办 立元增压泵不出水怎么办 高浊度pac不沉怎么办 集水池中沉积大量污泥怎么办 电脑qq截图不好使怎么办 捡了个手机需要指纹怎么办 手机锁屏锁住了怎么办 三星屏锁忘记了怎么办 文字下面有蓝色直线怎么办 苹果x不能截屏了怎么办