安卓学习路线

本人菜鸟一枚:一直以来想写点东西,关于学习安卓,也算是缘分吧,大一时候听说过安卓开发,那时候的感觉是有点高大上,但是心里觉得安卓还是挺有意思挺好玩的的,我是通信工程专业,大多电子类专业基本课程应该都是差不多的,大二时候同学都去实验室参加电子设计大赛,我呢也去过一阵子,也想向大家一样参加个比赛啦,得个奖什么的,但是毕竟人很多,后来也没参会加上比赛,但是单片机课程算是我们专业最有乐趣的,学好了,可以自己做个遥控小车,遥控飞机的什么了,还是挺有吸引力的。之前一直以为自己毕业会去学习嵌入式方面的东西,直到后来的一次宣讲会,某安卓培训企业来招生宣传,才更深入了解安卓这个行业,各种论调的综合影响之下,走上了安卓学习之路,,,,,,,,,,,,,,,,闲话扯的多了言归正传,咳咳,话说,决定学习安卓后,我下血本买了两本书,一本叫做Java疯狂讲义,另一本android疯狂讲义,那次刮大风,要不是我抱着那本书去上自习,也许我就被刮走了;;;;;;可想而知850页的书,然后在网上找各种开源视频教学资源,,,个人感觉看视频比看书有意思,看书太枯燥了,下载视频可以去各个培训机构的官网或者贴吧去找,如果你自学能力很强,完全没必要花接近两万的费用去培训,,,,,,,,,,,,,,,,,,,,,,,,呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃额越跑越远,开始:android学习当然是以Java为基础的,但是学习Java时,没必要去看Java的界面编程,有的同学看到界面编程感到非常有意思,于是一门心思去看,,,到后来学习android才发现,虽然android的界面略有不同,但是刚开始界面真的没必要下太多功夫,
【选择书籍】我之前学习时买的李刚老师的疯狂讲义,于是乎好久不能入门,并不是说李老师的书有问题,而是初学者面对一本850页左右的书,容易在某一章节里出不来,而且难理解进去;后来看到微博之星超人气博主郭霖的《第一行代码》才觉得,这才是一本入门的指导书,书不大,而且只有500页左右,书中很多的文字而不是代码的堆砌,让你看得明白, 李老师的书适合入门之后补充学习,到时你会发现虽然第一行代码很好,但是很多知识没有讲到,毕竟内容有限;这时你再去看,android疯狂讲义有种豁然开朗的感觉;
【2】学习路线,网上有很多。大致都差不多找了一个差不多的给大家看看
第一阶段:Java面向对象编程

1.Java基本数据类型与表达式,分支循环。
2.String和StringBuffer的使用、正则表达式。
3.面向对象的抽象,封装,继承,多态,类与对象,对象初始化和回收;构造函数、this关键字、方法和方法的参数传递过程、static关键字、内部类,Java的垃极回收机制,Javadoc介绍。
4.对象实例化过程、方法的覆盖、final关键字、抽象类、接口、继承的优点和缺点剖析;对象的多态性:子类和父类之间的转换、抽象类和接口在多态中的应用、多态带来的好处。
5.Java异常处理,异常的机制原理。
6.常用的设计模式:Singleton单例、方法工长、MVC、Strategy模式等。
7.JavaAPI介绍:种基本数据类型包装类,System和Runtime类,Date和DateFomat类等。
8.Java集合介绍:Collection、Set、List、ArrayList、Vector、LinkedList、Hashset、TreeSet、Map、HashMap、TreeMap、Iterator、Enumeration等常用集合类API。
9.Java I/O输入输出流:File和FileRandomAccess类,字节流InputStream和OutputStream,字符流Reader和Writer,以及相应实现类,IO性能分析,字节和字符的转化流,包装流的概念,以及常用包装类,计算机编码。
10.Java高级特性:反射、代理和泛型。
11.多线程原理:如何在程序中创建多线程(Thread、Runnable),线程安全问题,线程的同步,线程之间的通讯、死锁。
12Socket网络连接

第二阶段:Java Web开发

1.XML解析、JSON解析。
2.MySql数据库的应用、多表连接查询的应用。
3.Jsp和Servlet应用。
4.Http协议解析。
5.Tomcat服务器的应用配置。
6.WebService服务配置应用。

说到这里有必要指出,学习完Java当中的数据库和网络连接,基本上android你也就会了;上面并没有包括界面编程!因为即使Java当中它的界面也要过时了;到了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的实现方法
动态控件布局的上实现方法

第四阶段: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的使用方法。

第五阶段:android手机硬件管理

1、地图及定位技术:GPS简介;LocationManager的使用方法;在Google Map上添加标记的方法;查询某地附近建筑的方法;使用Google Map实现点对点导航。
2、传感器使用方法:方向、加速度(重力)、光线、磁场、距离、温度等传感器的使用。
3、近场通信技术:NFC技术简介;NFC技术是用场景介绍;NFC技术实现方法。
4、媒体管理技术:MediaPlayer的使用方法。
5、触摸屏技术:手势识别;多点触摸技术。

第六阶段:Android图形编程技术

1、图形处理基础:2D图形编程基础;
2、点、线、面等基本图形元素绘制方法;
3、Android动画框架简介;
4、位移动画的实现方法;
5、淡入淡出动画的实现方法;
6、旋转动画的实现方法;
7、Matrix的使用方法。

第七阶段:Android游戏开发

1、Android游戏开发:Android游戏开发概述;
2、SurfaceView的使用方法;
3、物理小球技术;
4、碰撞检测技术;
5、图片、文字和背景音乐等资源的使用方法;
6、游戏引擎基础概念;
7、Cocoa2d-Android引擎使用方法;
8、OpenGL ES使用方法。
虽然路线大致是这样子的,但是还有一些没有罗列,例如碎片知识,广播,以及服务,,那么问题来了?入门了就OK了,接下来该怎么学,估计你自己就可以解决了,万事开头难嘛!!我水平有限,可能到时候你就变大神了。

网上各种各样的资源多得是,
像我这样画一万多培训学习,几乎是把所有的知识都搬到博客上了,可是你能好好利用这1万4千快的知识吗。

你可能感兴趣的:(android,学习路线)