导航:首页 > 操作系统 > android最佳学习路线图

android最佳学习路线图

发布时间:2022-12-20 02:50:10

A. android软件开发工程师的进阶之路应该如何走

小明首先需要购买一本Android入门的书籍,为了更快地学习Android,小明业余时间也都用来一边看书一边照着书中的例子敲代码,结果2周时间小明就把这本书学了一遍。看完这本书后,小明对Android的历史、结构、代码规范等都有了一个大概的了解,并且,小明已经可以写出一些简单的Activity了。这个时候在小明眼里,Android开发很简单很好玩,通过在xml中摆放一些按钮文本框什么的就可以做一些界面了。
小明开始跟着他的技术导师做需求,一些简单的小需求小明自然是不在话下了。突然有一天来了一个需求,该需求要求小明在Activity中为一个button加一个动画效果,小明慌了:“完全没接触过,书上也没有讲,怎么办呢?”小明冷静了下,打开了网络搜索,输入“Android 动画”,打开前几个链接,小明恍然大悟,照着网上的例子把需求给实现了。后来导师告诉他:“学好Android,官方文档是必须看的,既全面又权威”。然后小明如获至宝,花了一年时间把上面的guide和training都看了一遍,并且他还动手抄了几个小例子。
有一天,小明又需要做一个动画相关的需求,这可难不倒小明,它熟练地打开了www..com,输入“Android 动画”,突然他楞了一下:”总不能每次写动画都要网络一下吧!“,于是他在CSDN开了一个博客,把动画相关的知识点都写上去,为的是后面再写动画相关的代码就不用网络去搜了,事实如何呢?后面再写动画相关的代码,小明的确不用再去网络搜了,因为通过写一篇动画博客,他把动画相关的细节都已经记住了,这样他就可以不用再去参考任何文档了,后来小明还学会了把一些琐碎的不方便放在博客上的东西写到了印象笔记上面,什么时候忘了10秒钟以内都可以快速找回来,而不是花10分钟去再次搜索一遍。
这里总结一下,Android入门的时候,需要有一本入门书,好好学习书中的内容,同时花一年时间把Android官方文档中的training和guide看一遍,同时通过写博客和记笔记的方式来做总结,建议让自己的每篇博客都有价值些。通过一年时间的学习,相信每个人都可以达到中级工程师的水平。
技术要求:
- 基本知识点
比如四大组件如何使用、如何创建Service、如何进行布局、简单的自定义View、动画等常见技术
- 书籍推荐
《第一行代码 Android》、《疯狂Android》
中级工程师
小明经过一年的努力学习终于成为Android中级工程师了,月薪变成了17k。到了中级工程师,已经可以在公司里干很多体力活了,但是一些很重要的任务小明还不能一个人承担起来,这个时候小明需要学习的内容就很多了,如下所示:
- AIDL:熟悉AIDL,理解其工作原理,懂transact和onTransact的区别;
- Binder:从java层大概理解Binder的工作原理,懂Parcel对象的使用;
- 多进程:熟练掌握多进程的运行机制,懂Messenger、Socket等;
- 事件分发:弹性滑动、滑动冲突等;
- 玩转View:View的绘制原理、各种自定义View;
- 动画系列:熟悉View动画和属性动画的不同点,懂属性动画的工作原理;
- 懂性能优化、熟悉mat等工具
- 懂点常见的设计模式
学习方法
阅读进阶书籍,阅读Android源码,阅读官方文档并尝试自己写相关的技术文章,需要有一定技术深度和自我思考。在这个阶段的学习过程中,有2个点是比较困扰大家的,一个是阅读源码,另一个是自定义View以及滑动冲突。
如何阅读源码呢?这是个头疼的问题,但是源码必须要读。阅读源码的时候不要深入代码细节不可自拔,要关注代码的流程并尽量挖掘出对应用层开发有用的结论。另外仔细阅读源码中对一个类或者方法的注释,在看不懂源码时,源码中的注释可以帮你更好地了解源码中的工作原理,这个过程虽然艰苦,但是别无他法。
如何玩转自定义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群英传》
高级工程师
小明成为了梦寐以求的高级工程师,月薪达到了20k,还拿到了一丢丢股票。这个时候小明的Android水平已经不错了,但是小明的目标是资深工程师,小明听说资深工程师月薪可以达到30k+。
为了成为Android资深工程师,需要学习的东西就更多了,并且有些并不是那么具体了,如下所示:
- 继续加深理解”稍微深入的知识点“中所定义的内容
- 了解系统核心机制:
1. 了解SystemServer的启动过程
2. 了解主线程的消息循环模型
3. 了解AMS和PMS的工作原理
4. 能够回答问题”一个应用存在多少个Window?“
5. 了解四大组件的大概工作流程
6. …
- 基本知识点的细节
1. Activity的启动模式以及异常情况下不同Activity的表现
2. Service的onBind和onReBind的关联
3. onServiceDisconnected(ComponentName className)和binderDied()的区别
4. AsyncTask在不同版本上的表现细节
5. 线程池的细节和参数配置
6. …
- 熟悉设计模式,有架构意识
学习方法
这个时候已经没有太具体的学习方法了,无非就是看书、看源码和做项目,平时多种总结,尽量将知识融会贯通从而形成一种体系化的感觉。同时这个阶段对架构是有一定要求的,架构是抽象的,但是设计模式是具体的,所以一定要加强下设计模式的学习。关于设计模式的学习,最近一本新书推荐给大家《Android 源码设计模式解析与实战》,既可以学习设计模式,又可能体会到Android源码中的设计思想,我最近也在阅读此书。
技术要求:
- 稍微深入的知识点
- 系统核心机制
- 基本知识点的细节
- 设计模式和架构
- 书籍推荐
《Android开发艺术探索》、《Android 源码设计模式解析与实战》、《Android内核剖析》
资深工程师
这个阶段的程序员也许并没有太具体的学习路线了。

B. 零基础学习android开发,有没有详细一点的学习路线图或在线视频网站求推荐

很多朋友都对学习路线问题感到迷茫,特别是还在上学的朋友们。在这里就详细的介绍一下。安卓开发学习线路
1.Java基础 很多朋友一上手就开始学习Android,似乎太着急了一些。Android应用程序开发是以Java语言为基础的,所以没有扎实的Java基础知识,只是机械的照抄别人的代码,是没有任何意义的。那么Java学到什么程度才算是过关呢?
至少要掌握以下两个方面的内容:
a) Java基础语法: 具体的知识点列表可以在这里下载:《Java知识点列表》V1.0。这部分内容没有讨价还价的余地,必须烂熟于胸。至于具体的学习方法,可以看书或者是看视频,但是关键是要多加练习,无论是书上的练习还是视频里面的练习,都需要仔仔细细的完成;
b)设计模式:由于在Android系统的框架层当中,使用了大量的设计模式,如果没有这个方面的知识,对于Android的理解就会大打折扣。设计模式的种类非常之多,一个一个的全部掌握,是不现实的,必须首先掌握面向对象的基础设计原则,有了这些基础原则的支持,就可以举一反三。这部分内容可以在《Effective Java》和《Agile.Software.Development:Principles,Patterns.and.Practices》这两本书中找到。
2.Linux基础知识: 大家都知道,Android系统的基础是Linux操作系统。在开发过程当中,也需要使用到一些Linux命令。所以说一些Linux的基础知识是必须的(话说现在的程序员,不懂Linux都不好意思跟人家打招呼),推荐大家看看《鸟哥的私房菜》这本书,写的相当不错;
3.数据库基础知识 这个比较简单,就是一个增删改查的数据库操作,可以看一下这本书:《SQL编程练习与解答》
4.网络协议 至少需要学习两种基础的协议,HTTP协议与Socket协议;
产品经理必学的五个锦囊妙计
产品方法 产品思维 产品设计 交互体验
5.Android基础知识 有了以上的铺垫,再来看Android,是不是觉得轻松了很多呢?至于基础知识的学习顺序,最好的方法就是按照Android SDK帮助文档当中的Dev Guide里面的顺序,我的《Android视频教程》也基本上是按照这个顺序录制的;
6.服务器端开发知识: 由于很多Android应用程序都需要服务器端的支持,所以掌握一些服务器端开发知识还是非常有必要的。至于选择哪一种服务器端知识进行学习,就比较麻烦了,因为技术的种类实在是太多了:
a)Java EE: 就是上面邮件当中所提到的SSH—Struts+Spring+Hibernate。这种技术的优点的功能完整、强大,已经使用了很多年,而且既然大家已经非常熟悉Java了,那么学习SSH看起来也顺理成章。但是使用这种技术开发服务器端程序,非常麻烦。即使是一些简单的功能,也可能需要大量的代码和配置文件来实现;
b)PHP: 简单易学,开发快速。但是需要多学一种语言,是否得不偿失,就要自己判断了;
c).NET: 这项技术的特点和Java EE差不多,但是要想掌握.NET,则需要掌握c#,也是个麻烦的事情;
d)ruby on rails: 这是个人最喜欢的服务器端技术,简洁,优雅,寥寥几行代码,就可以实现很复杂的功能,但是这需要Ruby语言知识作为基础; 至于选择哪一种技术,就看自己的判断了。

C. 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

光说不干嘴把式,光干不说傻把式。必须独立开发一个小项目。

D. 如何学习安卓开发

Android开发学习路线的七大阶段
第一阶段:Java面向对象编程;
第二阶段:Java Web开发;
第三阶段:android UI编程;
第四阶段:android网络编程与数据存储;
第五阶段:android手机硬件管理;
第六阶段:Android图形编程技术;
第七阶段:Android游戏开发。

E. android开发有没有好的学习方法呢

我这里有一个android的学习路线图不知道能不能帮到你,是从好程序员特训营的网站上看到的。

第一阶段:高级Java面向对象编程
主要内容有:1、面向对象设计原则
2、面向对象设计模式概要
3、创建型设计模式
a)Factory Method
b)Builder
c)Prototype
d)Singleton
4、结构型设计模式
a)Adapter
b)Bridge
c)Composite
d)Decorator
e)Façade
f)Proxy
5、行为模式
a)Interpreter
b)TempleteMethond
c)Command
e)Iterator
f)Observer
g)State
h)Strategy
第二阶段:高级jdk api开发技术
主要内容有:1、并发线程库介绍
2、线程本地变量的使用方法
3、信号量与可重入锁
4、读写锁的使用方法
5、阻塞队列与同步集合库使用方法
6、Java反射机制介绍
7、Class、Filed和Methond的使用方法
8、动态代理模式的使用方法
9、Java框架开发原理
第三阶段:网络与数据库技术
主要内容有:1、Socket使用方法介绍
2、基于UDP Socket的数据传输方法
3、基于TCP Socket的数据传书方法
4、非阻塞Socket开发框架的使用方法(实时通讯)
5、JSON与XML数据介绍
6、XML语法介绍
7、XML解析技术:SAX、DOM、Pup
6、JSON语法介绍
7、JSON解析技术:fast-json、Gson
8、关系型数据库介绍
9、MySql数据库的安装与配置
10、SQL语言详解
11、数据库设计三范式
第四阶段:Android应用/游戏/系统开发
一、Android UI编程(项目实战)
主要的内容有:
1、Android开发环境搭建:Android介绍,Android开发环境搭建,第一个Android应用程序,Android应用程序目录结构。
2、Android初级控件的使用:TextView控件的使用;Button控件的使用方法;EditText控件的使用方法;ImageView的使用方法;RadioButton的使用方法;Checkbox的使用方法;Menu的使用方法。
3、Android高级控件的使用:Autocompletion的使用方法;ListView的使用方法;GridView的使用方法;Adapter的使用方法;Spinner的使用方法;Gallary的使用方法;ScrollView的使用方法。
4、对话框与菜单的使用:Dialog的基本概念;AlertDialog的使用方法;DatePickerDialog的使用方法;Menu的使用方法;自定义Menu的实现方法。
5、控件的布局方法:线性布局的使用方法;相对布局的使用方法;表格布局的使用方法;帧布局的使用方法。
6、多Acitivity管理:AndroidManifest.xml文件的作用; Intent的使用方法;使用Intent传递数据的方法;启动Activity的方法;IntentFilter的使用方法;Activity Group的使用方法。
7、复合控件的使用方法:自定义ListView的实现方法;可折叠ListView的使用方法;自定义Adapter的实现方法自定义View的实现方法;动态控件布局的上实现方法。
8、Fragment的使用方法(4.x新技术):使用Fragment作为View的容器,统一管理View 的生命周期以及事件的处理方法,提升UI部分代码的可移植性;
9、Loader的使用方法(4.x新技术):Loader为Activity和Fragment提供了数据异步加载的机制,同时可以监听数据源的变化情况,无需每次都重新查询;
10、ViewPager与PagerAdapter的使用方法(4.x新技术):ViewPager为应用程序提供了多页面管理和手势滑动的功能,极大的方便了导航功能的实现;
11、Theme与Style:通过定义Theme与Style可以方便的为整个应用程序指定统一的风格;
12、事件分发机制:在出现多个控件叠加的情况时,需要程序员手工控制事件的分发情况,确保用户对屏幕的触控事件被合理的处理;
13、动画:熟练的使用属性动画和帧动画可以让整个应用程序变得更加生动;
二、Android网络编程与数据存储(项目实战)
主要内容有:
1、基于Android平台的HTTP通讯:Http协议回顾;Apache Commons 工具包介绍;使用Get方法向服务器提交数据的方法;解析服务器响应数据的方法;使用POST方法向服务器提交数据的实现方法;向服务器提交非文本数据的实现方法;使用Http协议实现多线程下载;使用Http协议实现断点续传。
2、Android数据存储技术:SQLite3数据库简介;SQL语句回顾;SQLite3编程接口介绍;SQLite3事务管理;SQLite3游标使用方法;SQLite3性能分析;访问SDCard的方法;访问SharedPreferences的方法。
3、ContentProvider使用方法:ContentProvider实现共享数据、URI的解析与UriMatcher、ContentUris的使用、使用ContentResolver操作ContentProvider、ContentProvider的监听Android当中的异步操作:Handler的使用方法;异步任务的基本概念;AsyncTask的使用方法。
4、基于Http的数据异步加载机制:使用Handler+Looper+Message+LruCache搭建数据异步加载框架,从响应速度和网络性能两个方面提高应用程序的用户体验;
5、通讯录数据访问:通过理解系统通讯录的数据组织结构,可以高效的实现对通讯录数据的增删改查操作;
三、Android手机硬件管理(项目实战)
主要内容有:
1、地图及定位技术:GPS简介;LocationManager的使用方法;在Google Map上添加标记的方法;查询某地附近建筑的方法;使用Google Map实现点对点导航。
2、传感器使用方法:方向、加速度(重力)、光线、磁场、距离、温度等传感器的使用。
3、近场通信技术:NFC技术简介;NFC技术是用场景介绍;NFC技术实现方法。
4、媒体管理技术:MediaPlayer的使用方法。
5、触摸屏技术:手势识别;多点触摸技术。

我弄的可能不全,你有时间可以自己去看一下。

阅读全文

与android最佳学习路线图相关的资料

热点内容
扣扣加密技巧 浏览:720
苹果如何创建服务器错误 浏览:495
软考初级程序员大题分值 浏览:473
js压缩视频文件 浏览:578
linux如何通过命令创建文件 浏览:989
应用加密app还能访问应用嘛 浏览:433
安卓怎么用支付宝交违章罚款 浏览:665
php面向对象的程序设计 浏览:504
数据挖掘算法书籍推荐 浏览:894
投诉联通用什么app 浏览:150
web服务器变更ip地址 浏览:954
java正则表达式验证邮箱 浏览:360
成熟商务男装下载什么软件app 浏览:609
加密2h代表长度是多少厘米 浏览:23
拍卖程序员 浏览:101
电脑的图片放在哪个文件夹 浏览:276
unsignedintjava 浏览:217
编译器下载地址 浏览:43
什么是面对对象编程 浏览:708
b站服务器什么时候恢复 浏览:721