如何学习安卓软件开发?(转自知乎)
我的话:学习一个新东西,找对方法很重要,在将近一周的从零开始的摸索中,终于在知乎上找到了正确的学习方法,特此粘贴下来,以便收藏回顾和交流学习。另外,推荐陈小峰的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不能说是自己做的,只能说是自己组成的。没有理论基础的实践,学习效率很低。
如何学习安卓软件开发?(转自知乎)相关推荐
- 如何学习安卓软件开发
如何学习安卓软件开发?(转自知乎) 分类: Android2013-11-24 11:37 211人阅读 评论(0) 收藏 举报 android开发 我的话:学习一个新东西,找对方法很重要,在将近一周 ...
- 大学为什么选择学习安卓软件开发?
大一大二期间,学校开了许多英语.数学课,觉得总要学点实用的技术,不能虚度时光,当时有四个可选项: 安卓 ios,当时用的联想笔记本电脑也装不了黑苹果系统,所以不能进行ios开发. web 前端,当时觉 ...
- 移动开发:给安卓软件开发初学者简单的教程
如果你想学习安卓软件开发,还是个初学者,可以在网上找到很多的安卓教程和学习材料,眼花缭乱的初学者教程和进阶教程,如果您看到这篇文章就不要错过,简直是初学者的福音. 考虑到有如此多的信息你又是初学者,所 ...
- 桃词典 Peach Dictionary 简易英语词典app开发 安卓软件开发 Part 1
前言 由于笔者操作不当,将项目搞崩了,所以打算重写一遍,记下开发过程,作为学习记录.此软件能实现最普通的单词查询功能,也有启动动画.登录注册之类的功能,但笔者目前能力有限,未能将其完善,这是初学阶段的 ...
- 安卓软件开发你知道需要学什么吗,看这里?
当下手机软甲开发越来越流行,开发主题也逐渐从公司到个人过渡.相对于经验薄弱的个人来说安卓软件开发需要学什么?具备怎样的基础呢? 1.Activity生命周期 Android中有四大组件,但Activi ...
- python能做软件开发吗-学习Python软件开发能做什么?
原标题:学习Python软件开发能做什么? 近年来,Python语言可以说是快速抢占了人们的眼球.它以其代码简短.可读性强.适合迅速开发而广泛应用等优点让许多学员想要学习,很多人会问,学习python ...
- 桃词典 Peach Dictionary 简易英语词典app开发 安卓软件开发 Part 4
前文: 桃词典 Peach Dictionary 简易英语词典app开发 安卓软件开发 Part 3 导航: 桃词典 Peach Dictionary 简易英语词典app开发 安卓软件开发 The E ...
- 桃词典 Peach Dictionary 简易英语词典app开发 安卓软件开发 Part 7
前文: 桃词典 Peach Dictionary 简易英语词典app开发 安卓软件开发 Part 6 导航: 桃词典 Peach Dictionary 简易英语词典app开发 安卓软件开发 The E ...
- 桃词典 Peach Dictionary 简易英语词典app开发 安卓软件开发 Part 8
前文: 桃词典 Peach Dictionary 简易英语词典app开发 安卓软件开发 Part 7 导航: 桃词典 Peach Dictionary 简易英语词典app开发 安卓软件开发 ...
最新文章
- PHP远程DoS漏洞深入分析及防护方案
- 免费GPU支持!口罩识别、安全帽识别算法赛同步开启,丰厚奖品等你来战!
- 【学习笔记】吴恩达机器学习 WEEK2 线性回归 Octave教程
- BST(Binary Search Tree 二叉查找树模版)
- VMware 怎么进入BIOS
- Java8基础之super关键字
- 锤子系统宣布回归 或将推新品
- 小白如何快速学会C++?
- oracle undo head,一次悬挂事务的处理思路
- 基于SSM的运动会管理系统
- c语言编程运动会分数统计系统报告,C语言课程设计报告运动会分数统计系统.pdf...
- c语言实验上机报告,c语言上机实验报告_实验报告.doc
- [BZOJ4173]数学
- Cartographer 源码解析1.1 —— 算法整体结构
- 快速翻译PDF文档的免费方法
- HTML+CSS实现背景图片铺满页面的方法
- 庄周带你练习数据库语句复习常备之【JavaWeb阶段学习】
- LoRa亿佰特 E22-400T22S 临时寄存器和无线配置的详细解释
- 论文笔记-Person Re-identification Past, Present and Future
- Zabbix5.0版本 正则表达式