重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
阅读进阶书籍,阅读Android源码,阅读官方文档并尝试自己写相关的技术文章,需要有一定技术深度和自我思考。在这个阶段的学习过程中,有2个点是比较困扰大家的,一个是阅读源码,另一个是自定义View以及滑动冲突。
10年积累的成都网站建设、成都做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有南澳免费网站建设让你可以放心的选择与我们合作。
如何阅读源码呢?这是个头疼的问题,但是源码必须要读。阅读源码的时候不要深入代码细节不可自拔,要关注代码的流程并尽量挖掘出对应用层开发有用的结论。另外仔细阅读源码中对一个类或者方法的注释,在看不懂源码时,源码中的注释可以帮你更好地了解源码中的工作原理,这个过程虽然艰苦,但是别无他法。
如何玩转自定义View呢?我的建议是不要通过学习自定义view而学习自定义view。为什么这么说呢?因为自定义view的种类太多了,各式各样的绚丽的自定义效果,如何学的玩呢!我们要透过现象看本质,更多地去关注自定义view所需的知识点,这里做如下总结:
- 搞懂view的滑动原理
- 搞懂如何实现弹性滑动
- 搞懂view的滑动冲突
- 搞懂view的measure、layout和draw
- 然后再学习几个已有的自定义view的例子
- 最后就可以搞定自定义view了,所谓万变不离其宗
大概再需要1-2年时间,即可达到高级工程师的技术水平。我个人认为通过《Android开发艺术探索》和《Android群英传》可以缩短这个过程为0.5-1年。注意,达到高级工程师的技术水平不代表就可以立刻成为高级工程师(受机遇、是否跳槽的影响),但是技术达到了,成为高级工程师只是很简单的事。
技术要求:
- 稍微深入的知识点
AIDL、Messenger、Binder、多进程、动画、滑动冲突、自定义View、消息队列等
- 书籍推荐
《Android开发艺术探索》、《Android群英传》
我可以很肯定的跟你说:是的,必须是的。。至于android系统是基于java这门语言作为应用层的开发语言的优势与目的我就不说了,网上一大堆。
结合我浅薄的android开发经验来跟你说下:1、应用层的开发是使用java语言跟xml布局以及充当小型数据库功能的特点,你必须得会java跟xml,这是基础。xml就没什么好介绍的,java的话必须得掌握它的多线程操作机制以及事件驱动机制,回调机制。
2、要稍微深入一点的话就是要掌握第三方开发,比如基于百度地图,谷歌地图,动力感应,磁力感应,温度感应等等开发的应用程序;
3、如果从事游戏开发的话,少不了OPENGL的学习,必须得学会,不然很难做出漂亮精彩的游戏。
4、再深入一个层次的话,就是底层技术了:android采用的是Linux内核,你得学学Linux操作系统,以及C语言,学习C语言是如何高效率的操作系统硬件的像CPU等。
以上均是我个人原创的学习以及开发经验,望勿随便复制粘贴,谢谢。
Android系统的基础是Linux操作系统。
在开发过程当中,需要使用到一些Linux命令。所以说一些Linux的基础知识是必须的;另外安卓开发的学习需要一些简单的数据库知识,还可以看一些计算机专业的相关书籍,对于学习安卓开发都是有用的。如果你是计算机专业毕业的话,可以复习一下C语言编程,、C++、Visual Basic程序设计等有关编程的课程书籍,如果不是学计算机专业的学员,可以提前学一下JAVA,学习Android开发一定要有Java基础,最差也要类似Java的他面对像对象语言的基础。
首先,最好先熟悉一门编程语言,现在大学里面和计算机相关的专业甚至理工类专业一般都会开设C语言课程,只是很多同学在大学期间并没有好好学习,如果对它掌握的不太好或者很久没用了,建议先从将其好好复习一下,将其基本的语法再好好回顾一下,最好能搭建一个环境来运行、调试它。如果没有学过,不妨也提前学习一下,可以参考《C语言程序设计》,推荐这本书的原因一是它已经经过了多年的考验,应该说还是比较严谨的;其次就是大部分的高校所开设的C语言使用的教材都是用它作为教材,因此无论是购买还是借阅,都容易找到。
其次,如果后续有志于游戏方面的开发,最好具备一定的数据结构和算法基础知识。安卓开发有的是关于游戏研发的。关于游戏有的是虽然现代的高级编程语言中,其类库中已经帮我们实现了大部分的数据结构,一般情况下,我们直接使用即可。但如果能对其原理有所了解,当需要在这些数据结构和算法中间的时候,可以更加的清楚到底应该选择那个数据结构或者算法。另外,在图形图像处理上面,线性代数的作用也非常重要,如果能掌握一点这方面的基础知识,无疑也会在后续的学习中如虎添翼。举个例子,在Android中,有一个用于图形变换的类Matrix,用起来稍有点难。
第三,因为Android的应用的开发语言用的是Java语言,并且在Android中也用到了Java核心类库的大量的类,因此,在学习Android开发之前,可以先把Java基本语法和Java SE的基础类库好好学习一下Android应用序开发是以Java语言为基础的,所以没有扎实的Java基础知识,只是机械的照抄别人的代码,是没有任何意义的。
你这个问题看起来问得简单,其实回答起来挺难的。
首先,现在软件开发这个领域已经越来越细分,比如从开发语言来说,主要的有JAVA,.NET,PHP等等,从开发的项目内容上来说,又可以分为工具类软件开发,管理软件开发,互联网、物联网开发等等,再比如你说的APP开发从岗位可分为前端,后端等等,每一种不同的类型应用面和技术侧重各不相同,所以好学不好学真不好说。
其次,任何一个行业都有一个入门到精通的过程,软件开发也是这样,你去书店可以看到很多软件开发类的书名直接都是XXX从入门到精通,入门其实还是有个门槛的,有人带会好很多,没有人带的话,看每个人的情况而定了。入门之后需要大量的做项目总结经验,提升,突破,这些也都是看个人情况了。
最后呢,这个行业需要不断的学习,技术的发展与更新非常快,一觉醒来或许就出现了一个最新最流行的框架或模式,随时掌握适合自己发展方向的新技术或模式,也是非常有必要的。
先学Java 学的差不多了再看Android 学习语言关键是理解、多练,只看书是不管用的,靠背是行不通的 先看看大体知识 然后做一些小的项目,或通过老师或通过视频 都是好方法,慢慢适应吧,时间长了自然就回了
1、学Java
目前,Java语言在Android开发中占据绝对统治地位,所以开发Android的第一步就是学好Java,建议至少完整的看一本Java入门书籍,推荐:
Java语言程序设计 :入门书籍,分为《基础篇》和《进阶篇》。
Java编程思想 (第4版):从Java的基础语法到最高级特性(深入的面向对象概念、多线程、自动项目构建、单元测试和调试等),更讲述了java语言的前世今生,语言特性,设计理念等等,阅读本书需要一定的java基础,建议至少看完《Java语言程序设计-基础篇》再看这本书。
2、学Android
第一行代码 :郭霖大大编写的Android入门书籍,推荐这本书的原因有两个,一是郭霖大大的语言通俗易懂,二是这本书很新,是基于Android4.0的入门书籍,根据友盟指数的统计,Android4.0以下的设备已不足10%,所以,现在入门,抛弃那些仍旧停留在Android2.x的入门书籍吧。AndroidDevTools:从开发工具到入门教程,从代码规范到版本控制工具,一切与android相关的都在这个网站上,Android入门请参考该网站的 Android Dev Tutorials 模块,这个网站的github地址是inferjay/AndroidDevTools · GitHub,如果有什么补充的可以push。
Android学习之路:stormzhang大大编写的Android入门文章,对于有一定java基础的人来说,Android入门有这一篇文章就足够了。(该文章同样被收录在AndroidDevTools中)
郭霖的专栏:郭霖大大CSDN专栏。
stormzhang.com 的页面:stormzhang大大的个人博客。
3、遇到问题怎么办
Google:用google搜出来的结果比百度质量高。至于如何不翻·墙就使用google请自行知乎,但是作为一个Android开发者,早晚要学会翻墙。
博客园 - 开发者的网上家园
博客频道 - CSDN.NET
Stack Overflow:国外的开发者问答社区,无需翻墙。
GitHub · Build software better, together.:国外的代码托管平台,这里有很多Java/Android开源项目,无需翻墙。
注意:遇到问题一定要搞清楚问题出现的原因,建议花点时间仔细阅读一篇讲解详细的博文,而不是直接复制别人贴出来的代码,直接套用别人发的解决方案。