A. 关于学习安卓底层,懂得进
我干了3年android sdk开发,觉得到了瓶劲没法更进一步,于是花了一年多点时间,大概摸到点门径。根据前辈的经验,Android底层完全入门需要两年。
先说下我的入门过程:
第零步,下载源码,我下的4.2的,框架层源码10G,内核2G多,ctags给框架层建的标签文件都有600M,当时让我有点震撼,用的vim+ctags+cscope来阅读,还算不错,架构挺清晰的。
第一步,我找到了一本好书《Android的设计与实现 第一卷》它讲了Android框架层的启动,初始化,服务框架初始化,Binder,消息循环,PackageManagerService,ActivityManagerService。据作者说后面会出讲UI子系统的第二卷,拭目以待。其实这本书看了几十页我就发现需要第二步的知识,否则看不下去,于是跳去第二步。
第二步,学习Linux系统编程,在看《Android的设计与实现》的时候我发现,框架层的Native部分,全是Linux编程。为了掌握这部分知识,我花了4个月学习了《Linux系统编程手册》(TLPI)这本1000多页的书,我以前是搞WIndows文件系统这块的,所以C语言还比较熟,TLPI的习题很有意思,量也比较大,坚持下来还是收获很多。
第三步,花了4个月学习了一些Linux内核的知识,看了LKD,PLKA看了一半多。越学越没底,觉得不懂得越来越多,不过这个也正常,只有靠慢慢磨,估计以后要不断的磨这块。
第四步,回头看Android源码,这次一口气看完了《Android的设计与实现 第一卷》,终于对框架层有了谱。同时真的数次把我看晕,前面看Linux内核源码都没这么晕,不断在java层和Native层之间跳有点磨脑浆。其中我又觉得Java的基础没有打太牢,回去补了一个月的《Core Java》第八版。但是这书没有涉及UI子系统,于是又看了《Android内核剖析》
第五步,《Android内核剖析》(这本书实际上是讲框架层的,作者也是个搞嵌入式的,所以他在写框架层的时候文笔不太好,很罗嗦,不过还是有很多看点,到他后来写做ROM,玩开发板时估计是说到了他的本行,一下子遛起来了看得出还是挺有水平的,这本书知识有点旧毕竟讲的是2.3很多代码已经过时,但是作者很多点子很有参考价值)这本书讲UI子系统和按键/触摸消息处理系统还是很有分量的,尤其13章View绘制那里,结合源码研究很有收获。而后面他讲编译框架和ROM相关的东西都是挺宝贵的资料。
第六步,为了再补一下其他诸如电源管理模块等子系统的知识看了,《深入理解android》系列,个人认为这个系列看起来有点不太舒服,不过作为补充印证还是比较有价值。
第七步,《Android系统源代码情景分析》,罗升阳的源码分析大作,比《Android的设计与实现》分析得更细致,但缺点是涉及到模块比较少,选用的源码也比《Android的设计与实现》更旧一点。看完书后需要去研究作者的博客,东西挺多的,一定让你满意。
第八步,买块开发板自己玩。这步我还没走到,原因是我觉得我还差点准备知识。可能要再几个月,到时准备入块6410或者树莓派。
最后,由于我11年以前都是搞Windows这块的,所以对Linux知识不是很了解,不得已看了这么些书,如果是一直做Linux的人,很多步骤估计可以省掉了。直接上源码才是正道。
我本身做着移动GIS开发的工作,学框架层全是因为兴趣,但招聘平台Android框架层开发人员还是蛮有竞争力的有不少定制ROM,智能电视的工作都处于人才难求状态,毕竟有一定的门槛,现在各种ios培训,让奔着钱干开发的人纷纷涌入,而ios只能干sdk开发的缺点就暴露出来了,一堆新手老手,菜鸟大牛全挤在SDK开发这块,我觉得不太妙。 反观Android这边,虽然入门菜鸟没有搞ios来钱,但是可持续性很好,从sdk-》框架》驱动》内核这样干下去。干着干着发现自己渐渐变成了Linux开发者/嵌入式开发者的人也不少,新人,老手,菜鸟大牛各居其位,层次性很好。
B. 如何自学android
学电脑不如学【视频剪辑】,理由很简单,容易学(不像其它行业学习成本高,难度大),适合短期3-4个月短期学习,而且行业缺口非常大,无论是找工作还是自己在家里接私单,月收入轻松过万,两三万也是稀松平常。【点击进入】免费“短视频剪辑后期”学习网址:
www.huixueba.net/web/AppWebClient/AllCourseAndResourcePage?type=1&tagid=313&zdhhr-11y17r-281528507
因为现在【短视频】的崛起,任何企业,任何工作室或者个人都需要制作剪辑大量的短视频来包装品牌,发抖音,发朋友圈,发淘宝等自媒体渠道做展示。因为每天都要更新并发布新内容,所以剪辑师根本招不够,,供需失衡就造成了剪辑师高薪水。
而且剪辑这个技术并不需要高超的电脑技术,也不需要美术音乐造诣,基本都是固定套路,要什么风格的片要什么节奏,经过三四个月的培训都可以轻松掌握。但凡有点电脑基础会用鼠标拖拽,会点击图标,会保存除非自己不想学,没有学不会的。但是要学好学精,就一定要找专业负责的培训机构了,推荐这个领域的老大:王氏教育。
在“短视频剪辑/短视频运营/视频特效”处理这块,【王氏教育】是国内的老大,每个城市都是总部直营校区。跟很多其它同类型大机构不一样的是:王氏教育每个校区都是实体面授,老师是手把手教,而且有专门的班主任从早盯到晚,爆肝式的学习模式,提升会很快,特别适合0基础的学生。王氏教育全国直营校区面授课程试听【复制后面链接在浏览器也可打开】: www.huixueba.com.cn/school/yingshi?type=2&zdhhr-11y17r-281528507
大家可以先把【绘学霸】APP下载到自己手机,方便碎片时间学习——绘学霸APP下载: www.huixueba.com.cn/Scripts/download.html
C. 从零开始学android需要多久
自2009年android系统的兴起,至今短短四年时间,android操作系统的市场份额已经突破75%。如今,在参加Android培训的人群中,大多数是刚出来的IT毕业学子或者软件从业者,他们想成为专业的android软件工程师;然而,其中还有很少一部分人属于门外汉了,既没有基础又没有经验,他们看中的是android市场的就业前景以及高额的薪资而来。那么,这些人从零开始学android需要多久呢?
我们知道从零开始学android并不是简单的事,尤其是对于没有基础的人。软件开发毕竟属于比较高层次的技术活,那么,如果让从零开始学android变得稍显容易些呢?
首先,了解从零开始学android的两者方式
从零开始学android有两者方式:自学和培训。对于没有基础,对技术一窍不通的人来说,自学无疑是难度较大的;培训的话就需要从基础开始学起,学习理论知识和项目经验。
如果要达到快速就业的目的,大多数没有基础的朋友都会选择参加培训。
下面我们就从参加android培训的角度分析,从零开始学android需要多久?
第一步:参加java软件工程师基础班学习
Java基础班主要是针对没有Java编程知识或只知道些皮毛却对编程感兴趣的学员。业内比较好的培训教材有传智播客张孝祥老师的《Java就业培训教程》、《JavaScript网页开发—体验式学习教程》。
第二步:参加android软件工程师就业班学习
在参加基础班掌握足够的理论知识以后,就需要学习更为高深的理论知识以及项目实战经验。在就业班的学习过程中,一定要将理论知识和项目实战结合起来,要学会思考和钻研。Android培训费用在12000元左右,培训时间为4个月。
从零开始学android,你可以的
如果你已经打算好从零开始学android,至少需要5个半月的时间。在这段时间中,不要急着找工作,一定要埋下头刻苦学习,努力钻研。在5个半月的时候后,每一位坚持下来的朋友都能够高薪就业。
D. 北大青鸟设计培训:安卓开发技术入门要学什么
入门学习android需要做哪些准备,安卓电子产品的不断冲击国际市场,安卓相关的软件也越来越多,安卓工程师的市场需求也水涨船高,可以说,android工程师是一个越来越受欢迎的IT职业之一。
入门学习android需要做哪些准备:1、最好先熟悉一门编程语言,现在计算机专业一般都会开设C语言课程,android入门学习必须要有C语言基础课程。
2、具备一定的数据结构和算法基础知识,这是华清远见很多讲师给学员们坚持强调的一点,如果你能够做到对原理有所了解,在应用数据结构和算法时,你会更加清楚应该选择哪一个。
3、android应用的开发语言用的是java语言,所以在学习android开发之前,可以先把java基本语法和JavaSE的基础类库好好来学习一下。
4、在android中会用到数据库来存储数据,因此可以提前对数据库知识做相关的储备,如果有条件,最好能够安装一个数据库来进行实际的操作。
android入门要学什么?应该做哪些学习准备?建议大家还是使用MicrosoftSQLServer或者MySQL就可以了,这两种也都是我们学习数据库的好平台。
学习android开发技术除了需要具备以上技能和知识点之外,还应该做到这些。
1、热爱编程语言,兴趣在学习过程当中占据了很重要的地位,当然也是学习的源动力。
2、要善于思考,android开发最基础也是最重要的一个环节就是编程,沈阳计算机学习http://www.kmbdqn.cn/认为需要程序员具备很强的逻辑性和运算能力,尤其是在安卓开发环境搭建时体现的更为明显。
3、要学会总结:如果想在android开发领域走的更远,就应该时刻总结编程经验,最终找到适合自己的学习方法,学会不断总结学习成果和方法,这样的学习效率才更高。
E. Android开发的学习路线大概是怎样的
其实网上有很多安卓学习路线图,但是太虚了,我想说一个比较实在的学习步骤,也是我个人的学习步骤。
第一步 java基础
因为安卓开发语言是使用java,因此必须了解,熟悉j2se。java基础看马士兵的视频就行,他讲的特别好,尤其是堆栈内存那一块。然后学疯狂java讲义,不需要都学,学前十章就行,不建议初学者学java编程思想,比较难懂,不适合入门。(时间2-3个月)
第二步:书籍
入手的第一本书就是android疯狂讲义,七八百页,其实我感觉我们不用全部都学,比如说动画、视频、传感器先可以不学,安卓疯狂讲义的有些设计不是很合理,把很多难的内容放到了前面,
没有做到从易到难,我们学的过程中可以先把一章整体看一下,然后再安排学习的顺序,把里面的每一个例子都自己敲一遍。因为我上下班坐公交车时间很长因此我都是在公交车上看书,这样一个月过去了,
疯狂讲义的主要部分学了一遍。
第三步:视频
我看过的视频也很多,比如说黑马精通4.0,还有尚学堂的,还有传智播客的,觉得最好的还是老罗的安卓开发视频,讲的很细也很全面,于是我把其它视频都放弃了,只学老罗视频,每天看7个,中间也有耽搁的这样过去了一个月,所有的看了一遍,主要的,难懂的看了两到三遍。
第四步:高仿项目
做完前两步,自己感觉水平应该可以了,于是就想去独立开发一个app,但是还是不知道怎么下手,于是从网上找了几个开源项目,开始模仿去做,有仿新浪微博,仿美团,闹钟,这样过去了一个月,终于有些底气了。
第五步:android官网
要想去安卓官网还需要翻墙,这个大家都懂,首先官网上面的api guide看一下,最后都能仿着写一遍代码,然后再把training上的几个例子也仿着写一遍。这样学上面的例子用了一个月。
第六步 :android学习手册
我之前一直从事java web开发,前段时间因为工作需要,转学了安卓,在学安卓过程中,一直想找一款应用能够展示各个章节的知识点,并且提供demo例子,就像谷歌Android API Demo一样,google api demo例子太老了,都是外文,例子也不够丰富,还不能看源码,也没有文档。于是把自己学习安卓过程中的用到例子都整合在了一起,并把例子都写在了android学习手册中,希望想学安卓的java同胞们,能有一个好的例子参考,快速学习安卓,少走弯路。android学习手册包含9个章节,108个例子,源码文档随便看,例子都是可交互,可运行,源码采用android studio目录结构,高亮显示代码,不需要积分,文档都采用文档结构图显示,可以快速定位,度娘不让发链接,360手机助手中可下载。
第七步:独立开发app
光说不干嘴把式,光干不说傻把式。必须独立开发一个小项目。
F. 如何学习安卓开发
Android开发学习路线的七大阶段
第一阶段:Java面向对象编程;
第二阶段:Java Web开发;
第三阶段:android UI编程;
第四阶段:android网络编程与数据存储;
第五阶段:android手机硬件管理;
第六阶段:Android图形编程技术;
第七阶段:Android游戏开发。
G. android 一年工作经验应该掌握哪些技术
说一下Android各级别工程师掌握的技术水准:
初级安卓开发工程师
掌握扎实的java基础,了解各种设计模式,熟练掌握Android UI控件、Android Java层API的相关使用。往中级层次发展时,继续深入学习java编程技术,掌握更多Android开发需要的库,还要精通ml、json解析,会做socket c/s端的程序。
中级安卓开发工程师
除了上面提到的必备技能外,中级开发人员需要延伸到精通NDK JNI方式的开发,熟悉Android framework,会移植类似Fmpeg、Mplayer这样的开源项目,并在Android上运行。
高级安卓开发工程师
作为高级app开发工程师,你只需了解,并不需要亲自操作初级和中级工程师的工作流程,但是,你需要有一个整体知识构架,安卓开发各方面所涉及的知识你都有要了解,并有自己独到的见解。需要熟练掌握Linux驱动开发,并对Linux内核结构很精通,掌握Android移植,包括硬件移植。
H. 如何自学 Android 编程
如何自学 Android 编程:
项目需要,8月中旬开始决定做安卓的程序,所以马上就开始学习安卓方面的开发知识,把最近的学习实践经历和大家分享分享。不要一开始就下载一大堆资料,视频,然后就不知道做什么了,要给自己定个目标,我要做什么?我怎么达到目标?
我不懂java,但是懂C#和C++,所以我没主张去单独学习java语言,如果你是个最最初的新手,没啥语言基础,那你必须先看看java语言,不要很详细看,因为学习Android中,你也是在学习java。
1. 明确目标
没有目标的学习,会感觉到后面没什么成果,在1年前,我也打算学习android开发的,但是目的就是学习,到网上去下载很多学习的视频,然后把开发环境搭建起来,能把Helloworld运行起来,能打些log,Activity之间也能互相切换了,但是后面也就不了了之了,因为不知道学了要干什么。依葫芦画瓢的做了几个例子,因为里面的问题都是已经解决的,所以也没能深入的系统学习。
这次因为产品的需要,要做Android版本,要做的东西一开始就已经设计好了,见摇摇2选1安卓版本,刚开始也不知道里面有些什么技术难度,但是要做的目标已经明确了,而且也没有现成的,碰到问题就查资料,慢慢地解决,这样有的放矢,学习的效果非常好。既有现成的技术可以使用,又有些技术,需要查比较多的资料,这样记忆就比较深刻,所掌握的知识也比较系统。
接下来的一系列文章,我会把在开发摇摇2选1中遇到的问题,给大家详细讲讲,程序虽然小,但是五脏俱全,做Demo和做产品的要求完全不是一个级别,如果Android大牛感觉知识讲的比较浅,那可以绕道,毕竟我是从一个完全的新手开始的。
2. 了解安卓开发中比较困难的地方
学习一个新平台,就要知道此平台开发要面临的困难有哪些,不要做到最后,这些问题没有考虑,那就比较糟糕了。在网上搜索了下,安卓开发困难总结如何:
1)安卓系统版本比较多,各版本之间的兼容性是个问题,此为系统碎片。
2)安卓设备千变万化,设备难以统一,每个产品都成为独立,分散的Android碎片。
3)分辨率五花八门。一个产品,可能需要多个界面排版,人工消耗比较大。
看到这张图,有没有头疼的感觉?
总结成一句话:Android的碎片化真是要来开发者的命。
3. 搭建开发环境
"巧妇难为无米之炊",开发环境肯定是第一件要做的事情,这类的文章已经很多了,我也不多说了,多说也就比较无聊了。感谢吴秦,也是博客园里的一员,他写的很详细了,见这里。
4. 查看网友总结的一些经验。
不是什么都查看,开发中遇到什么问题,就去查看什么问题,这样你查到的知识,马上就能深入的实践,这样知识就巩固了。
1)首先当然要看Android的开发文档,里面其实大部分的知识都有了,还有就是SDK自带的Samples。
2)博客园里搜索“Android开发”,会出来一大把,很多网友都是很系统的讲解了。
3)eoe
android社区,里面有很多网友上传了现成的demo代码,里面很多都是模仿现在流行的产品的界面开发,很是不错。
5. 掌握调试方法
个人一直认为,调试技巧是开发中最重要的技能,如果调试技能比较差,不知道如何查找问题,那不会是个好的程序员,其技能也不会高到哪里去。
Android做下来,感觉调试这块做的很不错了,这要感谢Eclipse
IDE做的比较不错,但是Android的界面排版部分,真的不敢恭维,Eclipse时间用长了,占用内存真是大。有哪位高手能否告诉我下,你们界面排版是用什么的?
Android里,如果程序出了问题,有些是一下跟踪不到的,这时就要用到Log类了,Log类使用很简单,就不多说了。
自己一个很有感触的经验,如果你真的打算做Android开发,那就买一个设备,这样能大大提高开发效率,模拟器有时用起来真是麻烦,而且开发的设备不要很好的,只要设备分辨率是主流的,传感器的支持最好全点就够了,国产的手机里,华为的还不错,或者到淘宝上去买个二手的,投资不大。真的买了投资,可能也会增加你学习Android的决心。
6. 程序框架
经过10多年的经历,认识到程序的框架对开发产品真的是起到举足轻重的作用。一个好的产品,如果有个好的程序框架,那真是事半功倍,可能开始所做的工作会比较多,很难看到令人激动的成果,但是相信我,绝对值得。一开始,我也是比较注重程序界面开发,很快就开发出界面来,而且着实比较激动,因为有东西出来了,但是后面的事情,真是令人发狂,想从头再来,太迟了,离计划的时间比较近了,时间不允许,只有硬着头皮往上打补丁,硬着交付第一个版本,第二个版本或者后面的版本,迟早是要重来的。所以在后面带领团队开发的时候,在开发前,都是要讨论程序框架,留出很大部分时间进行程序框架开发,及在开发中不断的改进。
刚接触Android,不知道用什么程序框架,所以查了很多资料,一开始看到一个程序框架,感觉很不错,所以一开始就使用了下面这个程序框架。
I. 昆明电脑培训分享学习Android开发要具备这些基础
互联网移动设备已经普及,Android,一个开放性平台,对于各科技公司吸引力在持续上升,这不只是体现在翻倍上升的Android手机销量上,Android市场在被迅猛的拓展开。学习Android开发渐渐成为一种潮流。那么,昆明电脑培训http://www.kmbdqn.com/介绍学习Android开发要具备哪些基础呢?
首先要熟悉学习Android开发要具备哪些基础知识。Java作为学习Android开发的基础编程语言,掌握Java开发基础知识是非常重要的。另外,还要重点掌握针对Android平台而特有的Activity、Service、Broadcast、ContentProvider、Handler等知识。
在学习Android开发时还应该了解Android的开发工具。学习关于AndroidSDK的相关知识。AndroidSDK内含一整套工具,能够利于构建应用程序、设计图形及布局。另外一些工具能够帮助进行性能的调优和剖析。可见,掌握开发工具是非常必要的。
学习过程中,要时刻调整自己的学习状态。不要认为Android开发大多应用在Android手机上,做的都是小项目。其实,一个成功的项目开发必须有完整的流程,要有详细的规范、进度,专业的工程师和设计师,还要有测试人员以及后期维护等。仅仅停留在基础技能范畴,肯定是不能满足的。要想具备开发项目的能力,就要多学习,积累经验。
J. 北大青鸟设计培训:android需要学习哪些基础知识
安卓开发要学多久,安卓开发如果自学的话,没有系统性的学习,而且缺乏项目经验的实践是难以真正掌握的。
培训机构对于安卓开发的培训,一般有4个月到半年的不等。
安卓开发要学多久,学习android又需要哪些技能基础呢。
1、Java基础知识很多朋友一上手就开始学习Android,似乎太着急了一些。
Android应用程序开发是以Java语言为基础的,所以没有扎实的Java基础知识,只是机械的照抄别人的代码,是没有任何意义的。
万丈高楼平地而起,Java就是筑起高楼的每一块砖头。
那么Java学到什么程度才算是过关呢?我个人认为至少要掌握以下两个方面的内容:a)Java基础语法:具体的知识点列表可以在这里下载:《Java知识点列表》V1.0。
这部分内容没有讨价还价的余地,必须烂熟于胸。
至于具体的学习方法,可以看书或者是看视频,但是关键是要多加练习,无论是书上的练习还是视频里面的练习,都需要仔仔细细的完成;b)设计模式:由于在Android系统的框架层当中,使用了大量的设计模式,如果没有这个方面的知识,对于Android的理解就会大打折扣。
设计模式的种类非常之多,一个一个的全部掌握,是不现实的,必须首先掌握面向对象的基础设计原则,有了这些基础原则的支持,就可以举一反三。
这部分内容可以在《EffectiveJava》和《Agile.Software.Development:Principles,Patterns.and.Practices》这两本书中找到。
2、Linux基础知识大家都知道,Android系统的基础是Linux操作系统。
在开发过程当中,我们也需要使用到一些Linux命令。
所以说一些Linux的基础知识是必须的(话说现在的程序员,不懂Linux都不好意思跟人家打招呼),广州北大青鸟http://www.kmbdqn.cn/推荐大家看看北大青鸟相当不错;3、数据库基础知识这个比较简单,就是一个增删改查的数据库操作,可以看一下这本书:《SQL编程练习与解答》。
4、网络协议至少需要学习两种基础的协议,HTTP协议与Socket协议;5、Android基础知识此知识点的篇幅较大,在这里就不作更多解释了。