我的话:学习一个新东西,找对方法很重要,在将近一周的从零开始的摸索中,终于在知乎上找到了正确的学习方法,特此粘贴下来,以便收藏回顾和交流学习。另外,推荐陈小峰的Android开发指南中文版,方便新手同胞们学习。(谷歌中输入关键字一搜就能找到~)。这是我的第一个博文,为安卓而写,自勉!

真的要学的话,强烈推荐官方:Develop | Android Developers 把API Guides看完之后,再看Training。

我翻过一些android的书籍,说实在都不如官方来得好。官方文档的内容讲得相当严谨并且全面,不像有些书,话还没说明白直接就给你看代码了,这样学起来肯定效率不高。同时我觉得官方挺好的地方就是,有很多扩展内容,能让你只知其然并且知其所以然。
但是使用全英的教程作为入门,对于英语不好的朋友来说可能会相当苦逼。阅读API Guides的时候左边有导航,其实那些英文单词,例如Activity、service等等,很多都是安卓的组件,对于这些新概念,因此我建议你可以先百度下那些组件是个什么东西,对它先有个大概的认识,比如Activity你百度之后就知道它大概是个容器,还有生命周期等等,这个时候再返回去啃下整篇的官方Activity文档。在读的过程中,一定要做笔记,最好是开个博客,看完一段文字如果觉得有知识点就自己做个小小的总结写在博客里。因为你总有需要回头温习知识的时候,等到温习的时候再回去看这些英文文档,效率会较低,如果已经做过中文笔记,很快就能领略到要点。
其实阅读英文有一个很好的地方我最近才发现:因为是英文,所以你要理解的话必须一个单词一个单词的看,认真地理解。这样的结果就是,看过的东西印象特别深刻。如果是中文的,可能会看得很快但是细节没仔细学好。
阅读完API Guides后,看Training就完全没压力了,Training更像是一种对之前所有知识的总结以及实践。
其实总得要来说,我觉得是,用中文的资料进行大概的了解,然后学习还是要靠官方文档。
以官方为主的原因是,现在又很多书用的是较老的API,以至于你在eclipse敲代码的时候它会画个横线告诉你不建议再使用这个东西了。其实安卓真的还算年轻,很多东西都是在3.0之后才开始正式规范起来的。但是它发展又特别快,等到别人读完官方内容再写本书出来给你看,那本书可能又已经过时了。还有一点,是之前我同学去面试3G门户二面时被问到的问题:“在使用适配器的时候,getView()该注意些什么?”。因为之前对于适配器的学习都是在百度之中学习的,网上的教程只是很粗糙地实现了功能,因此我对于这个问题没有答案。直到我看完官方的指南之后,我才发现原来这里大有学问,涉及到线程、IO等问题,从这之后我就更加确信,官方文档才是唯一标准。
最后提一下,你从百度搜到的一些实现某功能的代码可能会有问题,因为这些代码虽然功能是实现了,但是却不够规范。其实当你看完Training,很多功能的实现你都能自己写出来了,或者从官方copy:)。

————————————分割线————————————
其实这里我还漏一点实践的事。我建议先看API Guides的同时可以自己一边进行小功能的实现,但是先不要做APP,看完API Guides再做一个完整的APP。我一开始也是只学了点毛皮然后就开始做APP的。其实做一个普通的APP不难,你要实现的内容大部分人都已经做过了, 因此很多什么都不懂的新手遇到问题时,不是上官网查找相关API内容而是选择直接百度复制代码,这种做法在我现在看来十分的不妥,而且这样子做出来的 APP不能说是自己做的,只能说是自己组成的。没有理论基础的实践,学习效率很低。

如何学习安卓软件开发?(转自知乎)相关推荐

  1. 如何学习安卓软件开发

    如何学习安卓软件开发?(转自知乎) 分类: Android2013-11-24 11:37 211人阅读 评论(0) 收藏 举报 android开发 我的话:学习一个新东西,找对方法很重要,在将近一周 ...

  2. 大学为什么选择学习安卓软件开发?

    大一大二期间,学校开了许多英语.数学课,觉得总要学点实用的技术,不能虚度时光,当时有四个可选项: 安卓 ios,当时用的联想笔记本电脑也装不了黑苹果系统,所以不能进行ios开发. web 前端,当时觉 ...

  3. 移动开发:给安卓软件开发初学者简单的教程

    如果你想学习安卓软件开发,还是个初学者,可以在网上找到很多的安卓教程和学习材料,眼花缭乱的初学者教程和进阶教程,如果您看到这篇文章就不要错过,简直是初学者的福音. 考虑到有如此多的信息你又是初学者,所 ...

  4. 桃词典 Peach Dictionary 简易英语词典app开发 安卓软件开发 Part 1

    前言 由于笔者操作不当,将项目搞崩了,所以打算重写一遍,记下开发过程,作为学习记录.此软件能实现最普通的单词查询功能,也有启动动画.登录注册之类的功能,但笔者目前能力有限,未能将其完善,这是初学阶段的 ...

  5. 安卓软件开发你知道需要学什么吗,看这里?

    当下手机软甲开发越来越流行,开发主题也逐渐从公司到个人过渡.相对于经验薄弱的个人来说安卓软件开发需要学什么?具备怎样的基础呢? 1.Activity生命周期 Android中有四大组件,但Activi ...

  6. python能做软件开发吗-学习Python软件开发能做什么?

    原标题:学习Python软件开发能做什么? 近年来,Python语言可以说是快速抢占了人们的眼球.它以其代码简短.可读性强.适合迅速开发而广泛应用等优点让许多学员想要学习,很多人会问,学习python ...

  7. 桃词典 Peach Dictionary 简易英语词典app开发 安卓软件开发 Part 4

    前文: 桃词典 Peach Dictionary 简易英语词典app开发 安卓软件开发 Part 3 导航: 桃词典 Peach Dictionary 简易英语词典app开发 安卓软件开发 The E ...

  8. 桃词典 Peach Dictionary 简易英语词典app开发 安卓软件开发 Part 7

    前文: 桃词典 Peach Dictionary 简易英语词典app开发 安卓软件开发 Part 6 导航: 桃词典 Peach Dictionary 简易英语词典app开发 安卓软件开发 The E ...

  9. 桃词典 Peach Dictionary 简易英语词典app开发 安卓软件开发 Part 8

    前文: ​​​​​​桃词典 Peach Dictionary 简易英语词典app开发 安卓软件开发 Part 7 导航: 桃词典 Peach Dictionary 简易英语词典app开发 安卓软件开发 ...

最新文章

  1. PHP远程DoS漏洞深入分析及防护方案
  2. 免费GPU支持!口罩识别、安全帽识别算法赛同步开启,丰厚奖品等你来战!
  3. 【学习笔记】吴恩达机器学习 WEEK2 线性回归 Octave教程
  4. BST(Binary Search Tree 二叉查找树模版)
  5. VMware 怎么进入BIOS
  6. Java8基础之super关键字
  7. 锤子系统宣布回归 或将推新品
  8. 小白如何快速学会C++?
  9. oracle undo head,一次悬挂事务的处理思路
  10. 基于SSM的运动会管理系统
  11. c语言编程运动会分数统计系统报告,C语言课程设计报告运动会分数统计系统.pdf...
  12. c语言实验上机报告,c语言上机实验报告_实验报告.doc
  13. [BZOJ4173]数学
  14. Cartographer 源码解析1.1 —— 算法整体结构
  15. 快速翻译PDF文档的免费方法
  16. HTML+CSS实现背景图片铺满页面的方法
  17. 庄周带你练习数据库语句复习常备之【JavaWeb阶段学习】
  18. LoRa亿佰特 E22-400T22S 临时寄存器和无线配置的详细解释
  19. 论文笔记-Person Re-identification Past, Present and Future
  20. Zabbix5.0版本 正则表达式

热门文章

  1. 银联IC卡读卡流程详解--读卡器与卡交互指令
  2. ## no data sources are configured to run this SQL and provide advanced code assistance.
  3. 在计算机科学中 算法这个术语是指什么,algorithm
  4. Liferay 6.0??
  5. 如何创建项目管理工作流程?
  6. 抖音直播团队部门岗位KPI考核主播绩效制度
  7. jfinal 官网不能访问了
  8. matlab sparse
  9. ChatGPT4高分通过数据库系统工程师(DBA)认证
  10. 动漫培训学费一般多少钱