如何自学 Android 编程?
14年的帖子没想到已经成为“自学Android”话题最火的帖子了,转眼间我都已经自学Android差不多4年多的时间了,评论里说文中很多博客链接打不开了,是因为我博客换了自己的域名,之前GitHub默认的域名访问不了了,目前已更正。还有人比较关心我现在的发展情况,目前依然在薄荷工作,担任Android开发主管一职,把Android团队带的如火如荼,而且由于工作出色,目前还耽误公司新业务的技术负责人角色,新的机会,同样也是新的挑战吧,我依然会继续加油的!
另外评论里很多人问了不少问题,没时间一一回答,建议大家关注我的微信公众号:AndroidDeveloper,里面有你们想要的内容,15年由于工作转型很忙,更新的技术分享较少,16年打算补偿回来,16年也准备把一些知识系统的整理分享下,大家可自行选择关注。
===============================
泻药。我想我是有资格来回答你的问题的,我算是彻底的从编程白痴一步步学习过来的。
之前写了一篇博客 Android学习之路 被疯狂转发,带起了一阵学习Android的大风,我不晓得具体影响了多少人,但是这篇博客已经成为Android新手学习必备的资料。很多人问我是怎么一路过来的,姑且借这个机会说说我的故事吧。
===============================
内容有点长,大家姑且当做励志小说来看吧,对这些经历不感兴趣的可以直接看最后“如何自学Android”部分
===============================
- 大学
目前为止可以说我的大学是我这辈子过的最爽的时期,大一开始就逃课,好点的理由是我对大学那些课程完全没兴趣,其实本质上是因为高考太压抑了,大学之后没人管了,开始无止境的放纵自己。毫不夸张的说大学四年上的课应该没有逃的课多。逃课最直接的影响就是挂科,从大一挂到大三,专业课数学分析特么每年都挂,后来听说补考考不过要重修,还得交钱,这特么让家里人知道还了得,于是发愤图强,最终补考每门都以优秀的成绩过了。
相信英语四级应该是大学必考吧,英语四级这辈子我都忘不了,我考了三次才过,每次考试说是裸考都褒奖了,大学英语全是吃高中的底子,第一次没过,少了十几分,第二次他妈睡觉睡过了,就没有去考,现在想想当时的自己真是脑残,终于在第三次勉强过了。现在想想幸亏当时过了,之后毕业找工作时英语四级是最低要求。做编程这行,英语真的挺重要的,大学的时候一定得想办法把四级给过了。
现在想想大学和编程唯一相关的课程就是C语言了,但是对于我们专业是属于全校公开课,最终这门课虽然考过了,但是连i++ 和++i我都弄不明白,可想而知你们应该能猜到我是怎么过的。
由于高中就开始打篮球,大学时毫无疑问就入了学院篮球队,而且担任队长,所以大一、大二过来基本就是一大半是在篮球场度过的,也是因为篮球征服了我现在的老婆。大二下学期周围的人都在玩Dota,于是也开始了游戏之路,篮球也基本放弃了,那时候玩的疯狂,记得最长的一次和同学在网吧连续包夜两星期,不过白天是回来睡觉的,不然估计早猝死在网吧了。
转眼间大四了,这一年终于在我老婆的监督下不再挂科了,而且在毕业前的最后一次评比竟然拿到了三等奖学金,真是受宠若惊啊,后来钱也被狐朋狗友们拿去腐败了。周围的同学都在准备考研,我却唯独对考研没兴趣,自始至终都没有为考研花过一分钱,买过一本书。后来证明我的决定是正确的,周围的小伙伴放弃的放弃,考不上的考不上,考上的后面也没见混的有多好,当然如果能考上好的学校还是很有帮助的。
- 毕业
三月份的时候一家IT测试培训机构来做宣讲会(具体什么名字我就不说了,免得认为是广告),听完之后就说培训之后包就业,培训地点在大上海的最中心,当然是自费,但是可以工作之后分期付款。那时候哪知道测试是干嘛的,更不懂IT是干嘛的,回来就查了下这个机构确实存在,网站也有的,知道不是骗子遍决定来上海试一试。当时下定决定要来上海培训之后,几个狐朋狗友毫不犹豫的跟着我一起来了,总共应该是7个人,决定之后没几天便毅然而然的背着大包小包来到上海,我们之中一部分是一次性付费,另一部分是分期。后来证明我们当时来上海的决定是正确的。
- 培训之路
培训的日子还是蛮轻松的,一周就上四天课,朝九晚五,毕竟大家家庭都不富裕,家里辛苦攻读了四年大学,毕业还要再交钱去培训,打心里大家都很愧疚。一开始卯足了劲要好好学习,但是坚持了没多久就有点放松了,但是好歹也是都有学习的。
培训的时候算是接触了点编程吧,课程有C语言、Oracle、Linux,然后其他都是软件测试的理论,其实都是非常基础的东西,算是带你入行吧,Orace就学习一些基本SQL语句,Linux就学了几个命令,但是起码知道原来电脑可以干这么多事,之前还一直以为电脑就是用来看电影、聊天、打游戏的呢。现在回头看给我一周的时间我可以看完整个培训课程,但是当时的培训周期要四个月。
- 第一份工作--SunNet
- 真正接触编程
三个月的时间顺利转正,之后的某一天偶然得知公司一开发人员工资比我高2000,其实也就比我早毕业一年而已,才知道原来开发和测试工资差距这么大,于是当时就下定决心要转行做开发,所以说起我从测试转行开发的原因是因为钱,一开始说因为兴趣坚持下来的都是扯淡。。。
- 编程之路
但是web开发远没有学习一门语言这么简单,后来才知道web开发涉及到html, css, javascript, ajax, database等,范围太广了,于是为了效率,我只能每一项掌握住基础,于是网上搜索找到 w3school 在线教程 这个好东西,里面的东西都是基础的,我把教程整理到手机里,每天上下班的地铁上,吃饭的时候,回家的时候等等利用一切时间来学习,也是差不多大概2周的时间掌握了html, css, js的一点基础,接下来准备正式学习.NET的时候,被我们老大知道我正在学习开发,我们老大叫Aaron,是一位典型的程序员,比较胖,人品超好,知道后不建议我学习.NET,说.NET出来都十来年了,已经很成熟了,很多人在学校都有.NET教程,现在学习已经比别人晚了。现在移动开发刚崭露头角,也没多少人会,建议我直接学习移动开发。真是一句点醒了我啊!!
- 移动开发
这次有经验了,知道了iPhone开发首先肯定得有一门编程语言的,了解到是Objective-C,于是又从公司借了一本OC的书(公司书很多,老大每月都会买来好多书,虽然看的人很少),又花了将近一周的时间来了解了基本语法,因为之前学了C#,这次没完全看完的情况下想直接上手实践。正打算学习的时候,才知道iOS开发必须得在mac上才可以,也就是说我得自己有台mac电脑,虽然当时公司是有的,但是回家的时候不能继续学习练习,肯定影响效率的,一台mac对于当时的我简直是奢侈品,虽然现在也依然是奢侈品,但当时根本不可能买得起。于是只有放弃iPhone开发转向Android(后来才知道有虚拟机这东西。。。)
- Android学习之路
那个时候的测试任务仍然很重,于是我只能挤出时间来做这个项目,基本是每晚以及周末都会自动加班来完成这个项目,现在看来那个项目真是太简单不过了,快的话一周都不要就可以搞定了,但在当时我摸爬滚打了一个多月总算搞定了。
做完这个项目自己有了点信心,但当时自己的主要任务还是测试,自己开发的时间是少之又少,于是下定决心离职找一个专门做Android的工作。说明原因之后老大很理解,也是建议我想做开发的话就放手去找一个专门做开发的职位,这样进步会比较快。
第一份工作能遇到我的老大Aaron,真是我的福分!
- 薄荷
12年5月中入职薄荷,你们以为我到了薄荷之后Android之路就一帆风顺?错了,路更艰难。我是薄荷入职的第一位Android工程师,薄荷在那时候只做iOS平台的App,事实证明这种做法不可取,包括BOSS后面也亲自说投资人来投资的时候一看数据这么少,后面做了Android平台之后用户数据才慢慢上来,毕竟还是Android用户基数大。
来薄荷的第一个任务是做联想TV的一个视频App,很蛋疼,折腾联想的SDK,遥控器等,好歹App功能比较简单,试用期间完成的还不错,就这样顺利转正了。转正之后做了第一个Android App,叫减肥食物库,功能与页面全部Copy iOS版的App。这个时候一大堆没做过的东西全部涌来了,网络库、http、api对接、组件定制等等,那个时候没有像现在各种资料、开源库一大堆,公司也没人能给指导,只有硬着头皮慢慢来,为了能把进度赶上去,上线前夕曾经连续在公司通宵三天三夜,累了就在公司趴一会,这辈子就经历过这一次,虽然项目最终也拖延,但总算在接受范围之内上线,这在当时是第一个试水Android平台的App,可惜的是上线之后表现不好,没有达到预期的效果。
- Ruby、Rails
学习Ruby以及Rails是我目前为止遇到的最大的困难。Ruby是一种动态语言,Ruby On Rails是一种流行快速开发web的框架。学习ruby不同地方在于要学习Linux,代码基本全是在终端进行,没有IDE,没有编译检查,习惯各种命令行。这对于一个刚开始进行开发的人来说真的是太困难了。那个时候从内心也有抵触,学习领悟能力也超差,我能感觉到公司领导层对我已经不是很满意了,现在想想那时候公司没能开除我真是得感谢我们的CTO,一个很有耐心、敢于给新人机会的人。中间遇到非常大的困难,还好得到薄荷ruby工程师小伙伴们的帮助,一直鼓励我,遇到问题总是不厌其烦,在基础、经验、能力不行的情况下,我总得克服这种困难,让别人看出我的态度。于是学习Ruby、Rails的那段时间我每天都是做最后一班公交车回去,我记得好像是11:40. 这个状态持续一个月,包括周末,从未间断。
这一个月我在公司的主要任务就是学习,没有给安排任何事情,偶尔帮同事修修电脑,调下电话线,为此我非常感谢薄荷,感谢我的CTO Vincent,恐怕这在任何一家公司都不能这样给一个人单独的学习时间吧。一个月之后,学习的终于有点起色,开始实际做Rails项目,做后台,写api,虽然效率很低,代码很烂,但是在做Ruby的过程跟着我们CTO学了不少设计上的东西,面向对象的思想,设计模式等都在这个阶段接触的,自此我已经习惯各种终端操作,熟悉一些Linux基本命令,喜爱Ubuntu,参加了Ruby Conf 2012大会,喜欢Sublime,接触Git,GitHub,搭建了自己的Blog。我感谢做Ruby的这段时间,他让我接触了不一样的世界,心态完全变了,变得更开放,更乐于分享。
- 回归Android
回归Android开发的我一个人开发新的App,单枪匹马,经过之前的一系列挫折,突然感觉再没有更困难的了,一个人摸索架构、克服难题,App一推出便一直快速疯狂的增长,目前薄荷App总用户数已经破千万,公司也顺利融资,业务发展越来越好。
- 后话
- 总结
1. 如果你是非科班毕业想要转行编程,看了我的经历你一定很有信心与动力,我能,你一样能,何况我中间走了这么多弯路;
2. 如果你接触过一些数据结构、编程语言之类的,想要学习编程,想题主这种,你更应该有信心,你比那些非科班的人已经多了一些基础,你要做的只是坚定信念,坚持走下去;
3. 不要感慨上天的不公平,一路走来很悲催,走了太多的弯路,遇到了太多的困难,都是我这辈子难以忘记的坎坷,但同时我是幸运的,我的前任老大Aaron以及现任CTO都深深的影响着我后来的职业发现,我在薄荷的一些小伙伴们对我的帮助,我女朋友无数个日夜的理解与支持,上帝在给你制造坎坷的时候总会对你有些眷顾;
4. 如果你准备或已经在做开发的人员,没有信心或动力,又或是对未来迷茫的时候,姑且当做一篇励志小说来看,你要做的就是做好你当下在做的事,相信你的付出一定能有所收获;
- 建议
1. 每天花1小时看书,难的不是1小时,难的在坚持;
2. 最好不要挂科,因为挂了你还是得花时间补回来;
3. 英语对编程来说很重要,试着习惯英语阅读;
4. 数据结构和算法要学好,这算是对编程来说最重要的课了,以后不见得能用得上,但用的时候起码你有印象;
5. 大三或者大四一定要去实习,对于编程来说经验还是比较重要的,实习经历比你那些理论要有效的多;
6. 找个女朋友吧,不是说工作了你就找不到了,而是工作之后从事编程很少有时间和精力去接触别的女孩,所以可以的话在毕业前找个可以同甘苦的女朋友吧;
7. 第一份工作很重要,因为你会受一些周围同事、公司氛围的影响,我为自己遇到Aaron、Vincent而感到幸运,他们俩是我目前为止最尊重的两个人;
- 如何自学android编程
1. Android学习之路 前面说过我的这篇博客是Android新手必备资料;
2. 书不在多,适合你就好,这里推荐一本Android和两本Java书籍吧;
《第一行代码》:郭霖大神的著作,我是看过郭神博客过来的;
《Thinking In Java》:Java经典书籍,不必说;
《Effective Java》:Java进阶必备书籍;
3. 有些人一开始看书也有困难,没关系,那就去网上看视频,结合视频和书一起看,边看边敲,推荐下Mars老师视频,包括java基础以及Android篇都有: Java4Android.zip_免费高速下载
极客学院的视频: 零基础Android学习路径图
口味不同的人可去各大网站自行搜索适合自己的教学视频。
4. 多去混GitHub,目前最流行的开源社区,多参与开源项目,慢慢试着读牛人们的代码,时机到的时候自己也可以为开源社区贡献力量,可以这样说在GitHub上认真混一年,比你在大学四年学的东西要多的多;
5. 关注一些Android界不错的博客:
我(stormzhang)的博客: http:// stormzhang.com/
Trinea的博客: Trinea
代码家的博客: 代码家
6. 善于利用搜索引擎,从用Google做起,学会英文关键字搜索,有问题第一时间想到去搜索而不是去请教别人;
大家都有了以上相同的教程,但是人和人之间的区别在于:别人有颗更强大的内心,可怕的是比你聪明的人比你还要更努力!!
当你下定决心,准备前行的时候,剩下的只有坚持了。。。
===============================
我是华丽的分割线
===============================
我是很少在知乎上正经回答问题的,没想到这个回答引起这么多人关注,引起了很多人的共鸣,收获了这么多点赞,这里针对很多人的私心以及评论做点补充吧:
1. 回答中提到了培训之路,很多人要推荐培训机构,其实一方面当时没有经验,也比较迷茫,迫不得已才去培训试一试的,后来过来后其实培训学不了什么东西,我后来转行Android完全是自学,和培训一点关系都没,所以不推荐去培训,最终得靠自己;
2. 有人问我单独开发的app是什么,我现在公司名是薄荷科技,app也叫薄荷,你可以去各大市场搜索“薄荷”,排名第一的应该就是,从架构到实现一直都是一个人在做,总用户现在差不多过千万了,当然现在已经不是一个人在开发了,现在带领一个小团队在做,你可以下载体验下,不过现在依然有很多不足之处,我们一直在努力改进;
3. 文中提到我学习了很多语言,很多人比较疑问,是都需要学这些语言么?当然不是,我是因为走了不少弯路,有些语言为了工作不得不去学的,不过后来证明学的这些东西对自己是有很大帮助的,但是如果你确定了方向建议你直奔主题,现在社会需要一门精而不是门门通的人才,现在有很多“全栈工程师”的概念,其实都是在建立在一门精的基础上才去别的领域发展的,所以不要妄想一开始就成为“全栈”,还有如果你对当前做的事很抵触,觉得一直纠结在功能上,但是又没法去改变的时候,不妨竭尽全力把当前做的事做好,后面你会发现有事情做自己不知不觉总是会进步的;
4. 很多人找到我博客,搜索到我被Facebook邀请,具体见这篇博客 被Facebook邀请的前因后果 , 虽然这算是对自己技术能力的一个认可吧,但是在技术上远没有大家想象的那么牛逼,我一直在努力提升自己的技术,但是仍然有很多需要学习的,自己也一直在坚持学习,现在也一直想靠自己的技术来改变自己的生活,起码不拼爹(主要是拼不了),但是后来才感觉到技术并不是一切,千万别陷进无止境的技术坑里,有很多事情比技术更重要,这个就等待大家自己慢慢发掘领悟吧。。。 编辑于 2016-03-21 353 条评论 感谢 分享 收藏 • 没有帮助 • 举报 • 作者保留权利 185 Hugo ,寻 Android 实习. http://imxie.cc 185 人赞同 就看天气V2.0更新并且开源
1. [Rxjava]( GitHub - ReactiveX/RxJava: RxJava )
2. [RxAndroid]( GitHub - ReactiveX/RxAndroid: RxJava bindings for Android )
3. [Retrofit]( GitHub - square/retrofit: Type-safe HTTP client for Android and Java by Square, Inc. )
4. [GLide]( GitHub - bumptech/glide: An image loading and caching library for Android focused on smooth scrolling )
5. [ASimpleCache]( GitHub - yangfuhai/ASimpleCache: a simple cache for android and java )
项目地址:
Github: GitHub - xcc3641/SeeWeather: RxAndroid+Retrofit+Glide+Matrial Design Weather App
截图:
---------------------------------分隔线------------------------------------------
>>>>
准备
想借自己这款“就看天气”说说自己接近半年来的Android开发之路,也算是自己这段时间的学习总结和知识沉淀。
自己是重庆某高校大三学生,软件工程学院。在学校大一的时候学习的是C++(当然这个特别难懂的语言着实打击了我一阵子,所以没有学好),大二在学校学了Java。在Java学习过程中,比大一时候要轻松很多,就我个人而言,认为学习Java比C++要轻松,然而还是不明白学校为什么还是要把C++的学习放在大一。
决定学习Android是自己很早的想法了,但是真正落实去做是放在了大二暑假。
这之前自己做了如下准备:
▼ 一台配置不错的台式(SSD+8G内存)
▼ Java基础知识
▼ 极客学院Vip账号(非广告,当然你还有其他选择,比如慕课网的视频也不错)
▼《第一行代码》
一个好的电脑确实是必需品,现在写Android应该都开始用Android Studio了吧,这个IDE配上SDD+8G内存你才能优雅的写代码~
Android学习之前真的要把Java基础学好,这样你学Android的时候才不会特别痛苦。掌握基础之后再学Android,还可以边学习Android边复习Java,一举两得。
现在很多网上的视频教程,我个人最开始是跟着极客学院视频走的,而且还加上翻《第一行代码》这本书。虽然这本书是用的Eclipse,但是你用AS重写是完全没有问题的。
>>>>
实战只有在实际操作中你才能知道自己哪些方面的知识欠缺,才会知道开发过程中会遇到哪些恶心的BUG,才会主动的去思考,搜索方案去解决这个问题。而且在自己实践中,也获得了很多开发应用的乐趣。而自己特别喜欢这种创造带给自己的快乐,也是这样才让我喜欢去敲代码吧。
每个天气类应用逻辑就是特别简单,但是这个小应用也能让你明白很多Android的知识。整理了下自己开发这款的思路:
▼ 获取省会列表
自己获取省会城市列表是应用本地数据库,该数据库里包含了省——市——乡三级,Android里用SQLite进行数据库处理操作,最后用ListView显示出来。
这里会学到的知识就是:SQLite,Cursor,简单的ListView+Adapter。
▼ 获取天气信息
这里获取天气信息是从获取到用户要查什么城市名称后跟地址组合发送给“和风天气”API,它会返回给我一个JSON数据。
这里会学到的知识是:Android的网络通信。这里我自己用的是android-async-http库。
▼ 处理天气信息
获取到返回的JSON数据后,需要对这个JSON进行解析,这里我用的是Gson这个库,并且用SharedPreferences进行保存。
这里会学到的知识是:Json数据的处理,SharedPreference常用库的应用。
▼ 更新UI
从SharedPreference获取指定数据,并实现UI更新。
这里会学到的知识是:对Android线程的理解。
>>>>
应用就看天气---个人向天气类应用
#断断续续写了2个月
#实战+资料+看书+整理 这样的自我学习模式很有效果
#已经在豌豆荚,魅族应用,http://Fir.im等平台上线,
#希望你们喜欢而且能够做出自己喜欢的应用
编辑于 2016-02-21 81 条评论 感谢 分享 收藏 • 没有帮助 • 举报 • 禁止转载 97 郭大大 ,安卓狗,大三狗,准码农 97 人赞同 无人邀请自答。先自我介绍,大学本科半科班,通信工程,今年大三,一年半的安卓开发经验,准搜狐安卓实习生。
我开始学安卓也是从《安卓疯狂讲义》开始,但是回过头我还是觉得那本书不是很好,我推荐的是,如果有编程经验,先学好java,了解基本的知识,然后开始看《第一行代码》(只推荐前半部分),然后去Android developer看谷歌的training,有了基本的认识后,再去看Android的API,了解下基本的控件和属性,然后实践。再然后就可以看看慕课,视频难度都不大,对着学,然后理解很关键哦。最后的话,就是去做几个demo,认识一些大牛,然后去找个公司实习,不牛逼都难。
进阶的话可以看下《开发艺术探索》,《设计模式》等等书籍,然后了解自定义view和事件分发,内存管理等等。
..............................手动分割
有人看,所以我补充一下,学技术有即时反馈还是挺重要的,不然容易自我松懈,所以可以去帮别人做些demo啊,自己做些小工具什么的,也很有成就感。然后最后可以去实习,然后经验够了之后,就可以去做小公司的全职了,上段时间去做半全职,一天200也是挺爽的,毕竟吃住在学校,嘿嘿。还可以有个大的项目经验 ,所以边学边用,很重要。
--------------手动分割
部分知友想知道实习部分,我觉得自己学永远不知道自己多菜(当然我当年不玩知乎),所以有公司做安卓的要你就行,我第一份实习是暑期实习,也就1800不包吃住,不过学到了很多东西,涨了很多见识,也奠定了自己做IT的决心,所以实习很重要哦。希望大家都找到合适的实习。
附上进阶方法 Android 开发有什么进阶的书么? — 郭大大 的回答 - 知乎
http://www. zhihu.com/question/4662 3798/answer/102703593
附上好用的工具
Android开发时你遇到过什么相见恨晚的工具或网站? — 郭大大 的回答 - 知乎
http://www. zhihu.com/question/2714 0400/answer/103053468
求赞。。。。 编辑于 2016-05-28 68 条评论 感谢 分享 收藏 • 没有帮助 • 举报 • 作者保留权利 553 G军仔 ,走在 Android 开发路上...... 553 人赞同 Android_Data 这是我一边学习 Android 开发一边收集整理的一份旨在帮助 Android 初学者快速入门以及找到适合自己学习的资料 。
说起我之所以收集这份资料,是因为我在 GitHub 上面看到一份有关于初学者学习 iOS 资料 trip-to-iOS , 当我看到这份资料的时候,内心开始不停的感叹,如果我学习 iOS 开发那这份资料对我来说是多么好的学习资料,可是由于学习 iOS 开发的成本极高,加上当时家庭经济条件不允许,所以我选择了 Android 开发,于是我就对自己说我要在自己学习 Android 开发过程中,将对自己学习 Android 开发有帮助的资料都收集起来,到时候也要分享给更多 Android 初学者来学习。
我刚开始学习 Android 的时候,我在网上搜了好多资料,其中有些资料对初学者来说已经是非常好,例如:
可以这么说上面几份资料就是带我入门的资料,非常值得大家一看,这些资料上面回答的人都有推荐过了,我在这里就不做更多介绍。
- stormzhang 分享的 Android学习之路
- Tikitoo 分享的 我是如何自学Android,资料分享
- 胡凯发起官方教程翻译的 序言 | Android官方培训课程中文版(v0.9.5)
好了,别的不多说,要说的上面的人基本都说了,直接上资料截图
总结
希望我收集到的这份资料能够帮助到一些 Android 开发初学者,如果我这份资料有什么不足的地方,也请大家指出来,这份资料我还会继续不停完善,希望我能与大家一起学习
最后资料链接地址
发布于 2016-02-26 46 条评论 感谢 分享 收藏 • 没有帮助 • 举报 • 作者保留权利 58 李淡然 ,保持童心 58 人赞同
- GitHub
- 简书
先交待本人背景。985,211小硕一头,本硕专业与计算机没有关系,计算机知识主要是本科和硕士阶段自学的,具体有熟悉c,掌握java,了解计算机组成原理,计算机网络,操作系统等。今年初开始自学android,目的是跳出所在的体制内单位,追求自己的梦想。
感悟一:迅速上手。快速地对Android开发技术有一个整体的把握,写出几个小Demo,是很好的正向激励,能增加自学的动力。个人的做法是“囫囵吞枣”。集中20天时间将《Android编程权威指南》从头到尾撸了一遍,并做了详细的笔记,方便复习看,因为一遍下来很多知识点都是似懂非懂,通过阅读笔记可以在反复体会中掌握消化。如果没有做笔记,很难做到快速对全书进行复习。随着复习次数增加,我基本可以做到半天时间复习一遍。
感悟二:保持专注。定下决心后,不要再左顾右盼。本人刚开始学两个月的时候,碰到了Android市场的萎缩,有业内朋友建议我学前端开发或者大数据,云计算,当时确实很心动,但后来通过思考,感到Android开发只是从泡沫期进到了稳定期,很多趁着风口入行,水平差的人将被淘汰,真正技术好的开发者还很缺。另外,Android开发只是一个平台,里面的许多技术都是通用的,或者技术是专门的,所解决的问题是其他领域也有的。这样,从更一般的角度看Android开发,心情就平静下来了。
感悟三:起点要高。由于是大龄自学者,就业上处于劣势,我的策略是,从开始就坚持高标准,走技术路线,跳出初级开发的层次。为此,学了很多源码解析的文章,如okhttp,dagger,eventbus,rxjava,volley等,一开始也是看不懂,做好笔记反复看,渐有所获。Google的官方文档中training部分基本看完,正在看guide部分。对于自定义view,handler,aidl等技术难点采取死磕战术,通过科学上网,在Google上搜索一切能够搜索到的相关文章,逐一阅览,精诚所至金石为开,逐渐的也有点自己的想法了。
感悟四:整理好信息源。最近感觉国内技术博客成井喷状态,99%的都很水,妄想以其昏昏,使人昭昭。经过一段时间的摸索,自己整理出如下信息源,一看官方文档,二看看github上的codepath点这里,三看stackoverflow,四看medium,五看google搜索。经过这五步,目前还没有发现解决不了的问题。
发布于 2016-06-22 48 条评论 感谢 分享 收藏 • 没有帮助 • 举报 • 作者保留权利 28 EZLippi ,乐于造轮子http://www.ezlippi.com 28 人赞同- 谷歌官方的教程Getting Started,也有中文版Android入门基础:从这里开始
- 可以看看Storm的Android学习之路,都是零基础入门,有一定的参考价值
- 有问题善用Google搜索,不要用百度,百度搜出的技术资料千篇一律,搜不到自己想要的,上谷歌最简单的办法是修改host文件,最新免费Host可以从hosts – 蜂巢's Blog获得,最好使用Goagent的升级版GitHub - XX-net/XX-Net: 接力GoAgent工具----Anti-censorship tools,配置好之后一劳永逸,使用chrome浏览器插件SwitchyOmega自动切换代理。
- 有空可以看看Android开源项目汇总Trinea/android-open-project · GitHub,可以看看值得推荐的android开源框架,挑一两个不错的框架研究下其源代码,相信会提升一个台阶
- 开源项目源码解析codeKK 开源项目源码分析,对比较流行的一些Android开源框架进行源码分析,适合初学者学习
- codota http://www.codota.com/ 这里可以搜索你想要的代码
- android最佳实践:futurice/android-best-practices · GitHub
- 关注最新Android动向http://androidweekly.net/
- 整理了各种代码,库http://android-arsenal.com/
- Github上热门的开源项目Trending Java repositories on GitHub today · GitHub
- 如果还有精力可以去stackoverflow看看android标签的排名靠前的问题Highest Voted 'android' Questions
- 上面的基本够了,太多了反而精力分散
你也看到了,@stormzhang,@Tikitoo已经分享了非常多的资料,我相信这些资料绝对够你看的了。
一个月之前我还并未接触过安卓编程(很抱歉,虽然安卓非常非常非常的火,但是我一直对它不感冒,尽情说我没眼光好了),就上个月10号,虽然我明确跟公司说了我不做安卓,可是我依然被分来做安卓了,公司还说了一年之内你就在这别想换了;虽然我明确跟我师傅说了我不想做安卓,师傅还是甩给了我一个文件管理器的项目让我自己做,我只能默默接受。其实我师傅还是挺牛逼的啊,可是牛逼的人都是很忙的啊,所以我就一切只能靠自己的了啊!到目前,我已经基本做出了这个文件浏览器,实现的功能也不算简单(当然对Android高手来说is nothing),还在继续完善当中(现在就在加班改代码)。
这么快上手有秘诀么?其实考虑到我以前做过很久的Java开发这应该算是慢的了。实际上,我至今对安卓编程还什么兴趣(继续骂我没眼光好了),所以还没看过安卓方面的书,只是浏览过官方网站的教程(写的挺好的),然后直接进入项目开发了。学习编程的方式非常多,此处是一些我以往的学习经验,期望能对你有所帮助:
Java
之所以Java列在第一个,是因为这是我最拿得出手学的最好的。
Java的学习是通过网上看视频学习的,这点我是非常应该感谢尚学堂、传播智客这些培训机构的,特别是马士兵马老师的视频教程确实帮到了我不少。看视频学习的一大好处在于,可以一步一步的跟着视频去做,入门很容易,导致后来我学习很多东西的时候都第一反应是去找视频教程,现在我的电脑里躺着几十G的视频教程,不过只有一小部分看过,因为当你入门以后,再想深入学习一门技术的时候,这些视频要么已经帮不到你了,要么你会感觉看视频学习太慢了。不过,随着Java学习的深入,读了一些书,比如《Algorithm》和《深入理解Java虚拟机》,我在Java的学习上已经非常系统了。
总结:Java的学习我是一步一个台阶,慢慢地系统学习过来的,所以Java学的非常系统,基础非常扎实。
Python
Python是在网上看了《Dive Into Python 3》入门的,入门以后因为当时想做一个网站,所以又看了《The Django Book》学习了python的web框架,这两本书都来自于网络。后来又用到Python做一些爬虫、数据分析之类的杂活,也都是参考了一些网络上的博客教程。
总结:Python的学习就是有需要了,就去谷歌找网络教程参考学习。网络上的博客教程,非常的多,也非常的杂,要想找到好的教程需要一些筛选。此外,只靠网络教程,想要系统的学习较难,至今我对于协程、装饰器都理解的很肤浅,相较而言,Python就没有Java那么精通了。
Ruby
对于Ruby的学习就比较奇葩了,因为我从未学习过Ruby。之所以了解Ruby,仅仅是因为当时我看到了松本行弘的《松本行弘的程序世界》就想拿来看看大师眼里的编程世界的。不过,Ruby的语法糖与Python非常相似,所以即使我从未学过Ruby,看Ruby相关的书毫无压力,在读《松本行弘的程序世界》的过程中还看了《Ruby元编程》这本书。虽然我从未学过Ruby,我倒是觉得对Ruby的了解程度超过了Python。
总结:Ruby的学习是通过看书,看好书,看大师写的好书学习的,因为这些书写的更为接近语言的核心,所以对Ruby的了解不比对Java差,但是Ruby的实战经验就没有Python多,写点什么的时候反而倾向于Python了。
Javascript
这个就有点类似于Ruby的学习了,断断续续看了《Javascript权威指南》大半,不过没经过什么实际修炼,不过尔尔。
C# Android
这两样属于工作驱动学习,工作压来之前我都是一窍不通的。来公司以后,公司先给我分的任务是做一个单片机项目的上位机,因为要用串口通信,Windows下串口通信还是C#最简单,现学现卖,也是一个月搞定了,C#确实太像Java。现在又被强派来做安卓,虽然不会但有Java基础以后参考官网教程和Github上的源码,问题也不大。
总结:工作驱动模式下的学习,总是可以很快的进步,因为目的明确,不需要完整学习编程语言。所以,如果学习的时候,试着做一个项目,更有助于进步,也有助于提升学习的兴趣和信心。
C C++
好吧,虽然大学第一次接触编程就是C语言,但是我至今不敢说精通这门语言,C++就更不敢提自己懂了。这两门语言一度给我的编程之路蒙上阴影,虽然至今我依然没完全看透语言,但已经不重要了。若是楼主的C和C++学的好,入手Java问题不大,再入手Android问题更不大。
总结:虽然有老师教,有教科书看,可是至今很多程序员和我一样,对这两门很重要的编程语言依然是没学透。
Closure
好吧,我承认,这个我才刚开始学。
所以,学习方式有很多,随着你的学习目的不同,可以选择不同的方式,但是这几种方式有些东西是一样的:
决心。编程这个行业,很可能掉进这个坑就是一辈子的事,所以请慎重。对于那些做了很久以后才觉得编程这个行业无聊、累人、没有前途的人,我表示惋惜,不是惋惜他们不识货,是惋惜他们当初怎么就还没看明白就跳进坑里了。
时间。学习编程肯定会花去很多时间的,也许要比做其他所有事情花去的时间都会多一些,因为编程确实是一件困难的事。如果编程成为一个工作,公司还会经常要求你加班(比如我,周末还加班)。
动手。编程没有捷径,唯一的进步方式就是动手去敲代码。当有一天你的手上敲的满是老茧(一定要是敲代码敲出来的!),离高手就不远了。
所以吧,所以我要总结的都在开头了。 发布于 2014-11-02 8 条评论 感谢 分享 收藏 • 没有帮助 • 举报 • 作者保留权利 383 Tikitoo ,微信号:AndroidMate;分享Android 开发… 383 人赞同 之前回答的这个问题:《 零基础 Android 开发可能吗? - Tikitoo 的回答》,已经明确回答了,因为我之前是有Java 基础的,对于题主来说,有C,C++,数据结构基础,这是学编程的基本功,况且C++ 和Java 都属于面向对象程序语言,学过C++,再学Java,也是很容易的,他们有很多地方相通的,学了Java 再学Android,就事半功倍了,当然,您也可以基于NDK(使用C,C++开发Android)的,但由于我不是太了解,就不详细说了;
之前我写的一篇文章《我是如何自学Android,资料分享》,讲了怎么入门学Android;
最近知乎上有网友问我怎么自学Android,其实说实在的,我学的也一塌糊涂,当然在学习过程也积累了一些知识,对于以前没接触过Android的朋友,或者刚入门Android 的朋友,这篇文章作为入门,那是再合适不过了,希望对刚入门Android的朋友有帮助,接下来,就不罗嗦啦。
本文主要有以下几个步骤:
1. Java 基础;
2. 搭建Android 开发环境;
3. 了解Android 运行原理以及一个工程项目结构;
4. 如何系统学习Android;
5. 推荐一些实用的资源
6. 总结
首先呢?当然要有Java 基础;
我大学的专业就是Java,但由于没学好,刚开始学Android 的时候,挺吃力的,后来又去补Java 基础去了;
因为Android SDK 是基于Java 开发的,使用的语言是Java,如果有了Java 基础,学Android 就会事半功倍;比如在Android 中要使用到的接口,抽象类,类型转换,继承,覆盖,匿名内部类,多线程,这些都是Java 语言的,如果以前没有基础过,学Android 会很郁闷的;
当然如果你有C++ 基础,当然也可以基于NDK 开发,可以不使用Java;
对于没有Java 基础的朋友,我推荐一些资料:
Mars 的Java4Android:Java4Android.zip_免费高速下载
极客学院推出的Android 专题:Android安卓开发环境搭建
搭建环境
Android 开发IDE选择,有Eclipse,IntelliJ IDEA,Android Studio(基于IntelliJ IDEA 社区版开发的),Eclipse 和 Android Studio 是免费的;
对于初学者我推荐使用Eclipse,因为Eclipse 成熟,遇到问题,搜索也容易找到答案;以后可以尝试不同的IDE;
搭建环境的步骤:
- Eclipse安装;
- Android SDK安装(Android 开发工具包);
- ADT安装(Eclipse 的插件,使Eclipse 能够开发Android);
- 创建AVD(在电脑创建一个虚拟手机);
详细步骤:Android开发之旅:环境搭建及HelloWorld
在这里会有很多工具,可能刚入门的会比较模糊,可以参考:Android 开发,各种工具
如果最终虚拟的手机屏幕能够显示主界面,则表示成功;
了解Android 运行原理,一个工程的项目结构
-
项目结构推荐慕课网的视频教程:Android 项目结构介绍
-
Android项目目录结构介绍
- Android开发之旅:HelloWorld项目的目录结构
系统学习Android
有了上面的学习,对Android 也有了初步的认识,接下来可以系统地学习Android 啦,网上资料也很多啦,书籍也很多,视频也很多,我觉得首先要《官方API Guide》;然后手上准备一本书,可以当做字典,不会可以看看;如果看官方文档,有难度,看书进度太慢,可以看视频,跟着视频学,做一下东西,有什么不会的问题,可以Google 搜索;
如果说到细的知识点,比如四大组件,UI,多媒体处理,信号连接,数据存储,我在这里就不多介绍了;主要介绍了一些学习资料;
官方文档
官方指南:Introduction to Android | Android Developers
Android API:Android API| Android Developers
官方中文文档: 序言 | Google Android官方培训课程中文版(v0.5)
书推荐
《Head first Android Developer》;
《Pro Android》;
视频教程
Mars——Android 开发视频教程
黎活明——8天快速掌握Android视频
慕课网——Android 开发视频
极客学院——Android开发,安卓开发教程,android教程,安卓软件开发教程,安卓开发视频教程,安卓开发环境搭建
博客推荐
android开发大牛博客
hellogv的专栏 - 博客频道
Android_Tutor的专栏 - 博客频道
Storm' blog
恺风(Wei)之Android专栏
老罗的Android之旅 - 博客频道
网站推荐
ImportNew - 专注Java & Android 技术分享
Android - 博客 - 伯乐在线
Android开发中文站关注Android,关注开发者
总结
-
当然Github 上有很多开源的项目,多看看源码,自己才能快速提升;《Android开源项目分类汇总》,这里几乎汇总了github 上所有的开源项目,可以自己找些慢慢学;
-
然而学习是乏味的事,坚持到最后是不易的;
-
要善于利用搜索引擎,遇到不会的问题,要使用Google 搜索;对了,作为一个开发者,要学会自备梯子;
-
还有学Android,要时刻关注Android 的最新动态,比如最新发布的Android 5.0 棒棒糖版,去了解他的新特性;
-
加一些QQ 群,有不会可以问问,相互交流;
最近在维护一个公众号:安卓同学(AndroidMate),分享一些自己Android 开发的心得。
编辑于 2016-03-16 17 条评论 感谢 分享 收藏 • 没有帮助 • 举报 • 作者保留权利 9 Gityuan ,http://gityuan.com,… 9 人赞同 (1).我的学习态度:
自学编程一年,这两天是我第一次感觉到压力。我该怎么办? - Gityuan 的回答
(2).我的学习方法:
如何自学Android? - Gityuan的文章 - 知乎专栏 编辑于 2016-05-01 3 条评论 感谢 分享 收藏 • 没有帮助 • 举报 • 作者保留权利 28 严来忠 28 人赞同 Android应用开发使用Java语言,所以要先学好Java基础,Java的面向对象,集合,多线程,IO流知识是必须的,还有xml。
1. 不是很建议看视频,逛论坛,效率比较低;
2. 多敲代码,有基础后可以使用一些第三方库,不必自己造轮子,以后开发多了慢慢深入了;
3. Github是个好地方,有很多Demo,资料
4. Android更新很快,建议学习新的API
下面分享些参考资料:
inferjay/AndroidDevTools · GitHub (Android开发涉及到的工具、教程合集)
Google Java编程风格指南
序言 | Google Android官方培训课程中文版(v0.7)
Android学习之路
《Android学习指南》目录 « { Android学习指南 }
Android API Guides (eoeAndroid wiki)
关于学习软件开发方面我的一个答案:
要怎么努力,才可以应聘类似知乎、拉勾这样互联网站的软件开发工程师? - 严来忠的回答
张龙的圣思园Java教学视频感觉很不错,有一课是讲学习方法的,可以看看
有个博客,写了写张龙视频的学习笔记,后面也有Android的------- AHuier_Techblog :如果我不在写代码,你就 @me
编辑于 2015-01-22 3 条评论 感谢 分享 收藏 • 没有帮助 • 举报 • 作者保留权利 46 又名耶稣 ,Android Developer 46 人赞同 其它类似问题的答案,粘过来给你。
我也是通过自学走向Android开发的,我来回答下。
1.要对移动开发有热情,而不仅仅是为了找份工作。有热情才能保证持续的学习和在实际编码中的精益求精,不然在编程的道路上走不长。
2.Android应用层开发是用的Java语言,所以熟悉Java语言是必须的。如果以前没编程基础,推荐毕向东老师的Java视频。如果有编程基础,推荐李刚的《疯狂Java讲义》。国外的《Java编程思想》不适合初学者,《Java核心讲义》翻译不太好,不推荐。
3,掌握Android基础知识,推荐郭霖的《第一行代码》,相信我,这是最适合入门的Android书籍。
4,掌握Android进阶知识,推荐郭霖的CSDN博客,主要看关于View的绘制流程、Touch事件分发、Handle机制等。
5,熟悉常用的设计模式,先开始熟悉几个很常用的就够了,比如单例,观察者等等。
学到这,Android应用开发基本入门了,学习曲线也不是很陡,加油↖(^ω^)↗。 修改 发布于 2014-10-31 5 条评论 感谢 分享 收藏 • 没有帮助 • 举报 • 作者保留权利 28 包建峰 ,Android开发求职中 28 人赞同 首先来说下我的背景以及这大半年来我的自学情况吧:
1.本科通信工程,非计算机科班,大一学过C语言基础,后来因为专业课程需要,学了一点汇编以及Matlab。这部分经历我认为对于我后来的编程学习只有基础语法理解方面的帮助。
2.去年11月中开始系统学习编程语言,由于想做Android开发,所以入门语言选择了Java。
3.11月中到12月中,边看传智播客的一套视频边敲里面的练习。
4.12月中到1月中,20天左右时间看了《编程之美》,并用Java实现书里百分之五十左右的算法题,剩下的题由于难度太大 或者比较复杂,当时没有深入研究下去。
5.1月中到2月中,选择了网易公开课里面的《斯坦福大学公开课—编程方法学》这套视频,同样是边看视频,边完成里面的Assignment。在这里感谢帅帅同学@王帅 推荐这套视频。里面的Assignment题都是经典题目,对于初学者来说非常适合。
6.2月底开始学习Android语言,花了1个月左右的时间,照着《第一行代码》里面的例子,敲代码进行实现。
--------------------------------------------
由于在学习编程之前就有两个小产品的构思,所以也没有想自己基础是否打扎实了,先试着去实现,看看能不能做出个可用的产品来。截止到目前为止,两个小产品都已经开发完毕了,其中一个“苹果序列号查询”已经在小米、豌豆荚、Google Play、魅族Flyme等应用市场上线并且有了一版更新(4月14日上线,到目前为止下载量已经超过1000),它是下面这个样子的:
关于开发“苹果序列号查询”具体实现逻辑介绍,请移步(最近好像需要): JeffinBao - Android开发,读书,见人,行事
另一个是我的个人简历应用,仿照地图搜索的样式做的,它是下面这个样子的:
关于开发“JeffinBaoCV”这个个人简历应用的介绍,也请移步: JeffinBao - Android开发,读书,见人,行事
-----------------------------------------
很多知友在其他答案中已经列了很多资料了,我自己也是通过他们介绍的资料的其中一部分来进行学习的,所以资料方面,就不多说了,想说两点看似无关但我认为又比较重要的点:
1. 有自己很强烈想要实现出来的想法
我在学习编程之前,上面两个应用的初步构想就已经在我脑中了,所以这半年多特别是今年2月底开始学习Android以来,我都是按照怎么去实现我脑中的想法去学习Android的。没有对于想要实现的东西有着强烈的愿望,我想我是很难坚持下来的。最终把自己的想法实现后,这种开心和一直进步的感觉,也是很鼓舞人心的。
2. “软实力”的加强
Android应用呈现给用户最多的是界面,所以界面是否美观是用户会不会选择去用的一个重要因素。对于工程师来说,如何提高自己的审美,进而把自己对美的理解融入到应用当中是很重要的。这不是说工程师一定要具备专业设计师的能力,这不太现实。但是如何保持界面整洁,在字体、颜色、排版上如何规范与统一,都是工程师需要在平时去提高的。
---------------------------------------------
写了这么多,不知道有没有帮助到题主,下面我也想安利下自己的应用以及在求职中的自己:
1.小米、豌豆荚、魅族Flyme、Google Play、锤子应用商店上搜索“苹果序列号查询”,有任何问题,欢迎反馈给我丫。
2.第二个应用做的是个人简历—JeffinBaoCV,没有上线,感兴趣的朋友可以通过下面链接下载(由于身边手机不多,可能在小屏幕低版本系统的手机上会有适配问题,如果有,也欢迎反馈给我丫,多谢): 百度云 请输入提取密码 .(提取码:9x6d)
3.下面是跟我有关一些主页的链接:
个人主页: JeffinBao - Android开发,读书,见人,行事
主要用于写技术文章和一些自己认为写得比较好的文章,刚开始用jekyll引擎不久,所以内容比较少。
GitHub主页: JeffinBao (Jeffin.Bao) · GitHub
主要用于托管自己的代码,寻找一些好的开源项目来学习使用。
如果你对我感兴趣,请私信我或者通过下面邮箱联系我吧,谢谢!
邮箱:bjf13609846991@gmail.com 编辑于 2015-11-17 13 条评论 感谢 分享 收藏 • 没有帮助 • 举报 • 作者保留权利 16 王明雨 ,膜拜结交各路互联网流量高手,私信 16 人赞同 给大家预览一下我们正在做的Android学习成长方面的事情,希望有识之士能加入我们 ^_^
编辑于 2015-05-08 4 条评论 感谢 分享 收藏 • 没有帮助 • 举报 • 作者保留权利 5 李晨 ,互联网大叔一枚,营销/摄影 5 人赞同
开发android,需要哪些技能基础。
①Java基础知识 ②Linux基础知识 ③数据库基础知识 ④网络协议 ⑤Android基础知识 ⑥服务器端开发知识①Java基础知识
安卓学习视频的话老罗的视频还是不错的
我当初是报的培训学校学的,都是学校老师讲的,课下有时候听一些视频课程,最多的还是自己敲代码,多看官方文档,多敲代码,那段时间天天除了上课就是敲代码,改bug。
推荐几个不错的学习网站给你,可以自己学习下。
csdn(中文IT社区)它是集新闻、论坛、群组、Blog、文档、下载、读书、Tag、网摘、搜索、.NET、Java、游戏、视频、人才、外包、第二书店、《程序员》等多种项目于一体的大型综合性IT门户网站,源码只是其中的一项,但是很实用 里边有很多大牛。
DevStore(全球首家开发者服务商店)是一个开发者服务整合类平台,DevStore汇集国内外500余款开发者服务,每个服务都有相对应的服务评测报告。开发者可以在这里提交服务、下载源码、评测、对服务进行对比并进行评论等等。
开源中国成立于2008年8月,是目前国内最大的开源技术社区,经过不断改进,已经形成了由开源软件库、代码分享、资讯、翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台,为中国广大开发者提供丰富多样的软件下载,源码托管等功能。
自学的话平时就多看一些官方文档,帮助文档也是一个很好的参考资料,多看看,平时多敲代码,多看看注释多看规范,看完之后去敲代码主要是在实践过程中发现错误,多做项目自然多遇见问题,遇见问题解决问题,下次自然就知道怎么解决,在实践中发现真理。
当然可以的话有一个老师还是很好的,但是要记得要是的作用只是引导,师傅领进门修行在个人。
发布于 2014-11-03 添加评论 感谢 分享 收藏 • 没有帮助 • 举报 • 作者保留权利 82 zhang jing ,计算机不只是编程,还有诗和远方 82 人赞同 泻药,不知道邀请人是出于什么样的心态才会邀请我回答这个问题。我学安卓时间很短,现在水平属于才入门的水平。由于我也是零基础开始学的,说说我觉得怎么学比较容易入门吧。首先,要知道安卓开发用的是java语言,有java基础的就容易多了,特别是对象,类,继承,多态,I/O,多线程等基础知识。像我当初是先自学了java,之后才开始学安卓的,有了这个前提条件之后就是如何快速入门了,我推荐郭霖大神的第一行代码(绝对不是打广告,真心觉得适合入门)。
看这本书,最好是跟着书上的例子,一个一个地敲一遍,这样才有效果,多敲几个例子之后应该对安卓开发基本上有一个概念了,看完这本书,也有了安卓开发的一些基础了。
有一定基础之后,就需要进阶了,我推荐疯狂安卓讲义,那上面的例子特别多,全部敲一遍下来,基础会更加扎实。(这次就不上图了)。由于我自己也是学到这,后面我就不敢瞎说了,以上仅仅是我个人观点,不喜勿喷,谢谢。
发布于 2016-05-22 26 条评论 感谢 分享 收藏 • 没有帮助 • 举报 • 作者保留权利 6 花椒 ,android developer 6 人赞同 http:// developer.android.com/ 发布于 2014-10-31 3 条评论 感谢 分享 收藏 • 没有帮助 • 举报 • 作者保留权利 13 fyales Shen ,谦谦君子,温润如玉 13 人赞同 先简单介绍一下自己,原专业机械,现在在一家不大不小的公司做安卓开发,我今年才毕业,所以也提供不了什么太好的建议,以供参考。
首先,你得精通一门语言,开发安卓当然得会java。建议看完《java编程思想》。看的越深入越好。另外稍微花几天功夫了解下xml和操作系统。接下来就可以边开发应用程序边学习了。一开始你不需要多深入的了解,要学会基础的知识,如控件的使用,广播,意图等等。切忌眼高手低,在实践中加深对android的了解。在你了解了Android基本知识后,可以自己动手写两个小程序试试。这时候也可以稍微深入了解下Android更深入一点的知识,另外你也可以多关注一些Androud开源的项目,这个你可以参考我的同事@Trinea负责维护的Android开源库,你也可以向他问更深入的问题。答主现在也在学习中,最后,也是最重要的一点,向周围的人学习,这真的很重要 发布于 2014-11-02 4 条评论 感谢 分享 收藏 • 没有帮助 • 举报 • 作者保留权利 3 史岩 3 人赞同 如果英文还可以,有足够的逻辑思维和编程能力,初学看官方tutorials入门,解决问题看官方文档和google一下stack overflow是最佳途径。最重要的是解决问题的能力和基于经验知识做出正确判断的能力,而不是知识和经验本身。以前我认为这条准则只适用于编程,后来发现几乎适用于我工作上遇到的一切问题。 发布于 2016-02-06 添加评论 感谢 分享 收藏 • 没有帮助 • 举报 • 作者保留权利 2 祈雨蓝 ,Android 开发。 2 人赞同 浏览一遍
Getting Started
(非官方中文翻译)
序言 | Google Android官方培训课程中文版(v0.7)
参与官方的开发者培训活动
Google Study Jams
视频非官方中文翻译
https://www. youtube.com/channel/UCL juNN8rWxfEaaSq975PrWw/playlists
然后动手吧,什么不会的看API文档 发布于 2015-02-05 添加评论 感谢 分享 收藏 • 没有帮助 • 举报 • 作者保留权利 6 Sayori ,程序媛 6 人赞同 推荐两本书吧
Android编程权威指南,国外的书翻译过来的,写的很好,代码风格也很好,用小的项目demo把知识点串起来。
第一行代码,csdn超人气博主的书,还不错,博客写的也很好
from: https://www.zhihu.com/question/26417244#answer-39501644
更多相关文章
- HelloWorld及Android项目结构介绍-JavaGG
- 【移动生活】Google项目副总裁安迪・鲁宾谈Android
- AIDL使用学习(一):基础使用学习
- 【Android基础】讲讲Android的事件分发机制
- Android小项目之--电话与短信服务(附源码)
- cocos2d for android 项目的部署