android学习课程的知识结构 :
Android系统是基于Linux的,而国内从事Android开发的人员基本上是分3个层次:
第一个层次:
底层系统开发,主要是Linux内核驱动开发维护以及Android本地框架中的硬件抽象层开发。 从事这个层次的开发需要掌握C语言以及掌握Linux内核驱动编程框架,Linux系统调用接口开发。
第二个层次:
Android中间件开发,该层承上启下,向下连接操作系统向上为应用程序提供经过层层封装的Java类,可以说是连接系统跟应用程序的桥梁,而该层次的开发也涉及到Android软件系统的各个层次。 从事这个层次开发的人员一方面需要掌握基本的C++和Java语言编程能力,熟悉Linux应用编程,熟悉Android源码流程,可以熟练的在Android系统上修改或者添加某些功能。这个层次的开发对程序员的自身修养和能力有较高的要求,特别需要精通Linux系统编程能力,因为不管Android怎么封装都绕不开Linux的系统调用。
第三个层次:
Android应用开发,目前主要是基于Android SDK的开发,在PC上使用IDE环境进行开发。 目前这个层次的开发几乎完全都是在PC上模拟器实现的,几乎都是采用Java语言开发,开发者需要有基本的Java语言编程能力,另外需要懂得Android应用程序框架以及熟悉Android系统的应用API,从事过多年Java工作的人进行这个层次的开发只需要了解Android应用程序框架和基本的API就完全可以从事Android开发了。
android开发的学习路线
第一阶段:
Java面向对象编程
1.Java基本数据类型与表达式,分支循环。
2.String和StringBuffer的使用、正则表达式。
3.面向对象的抽象,封装,继承,多态,类与对象,对象初始化和回收;构造函数、this关键字、方法和方法的参数传递过程、static关键字、内部类,Java的垃极回收机制,Javadoc介绍。
4.对象实例化过程、方法的覆盖、final关键字、抽象类、接口、继承的优点和缺点剖析;对象的多态性:子类和父类之间的转换、抽象类和接口在多态中的应用、多态带来的好处。
5.Java异常处理,异常的机制原理。
6.常用的设计模式:Singleton、Template、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),线程安全问题,线程的同步,线程之间的通讯、死锁。 12.Socket网络编程。
第二阶段:
Java Web开发
1.Java解析XML文件DOM4J。
2.MySql数据库的应用、多表连接查询的应用。
3.Jsp和Servlet应用。
4.Http协议解析。
5.Tomcat服务器的应用配置。
6.WebService服务配置应用。
第三阶段:
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使用方法。