第一阶段Android基础
|
|
|||
课程名称
|
课程内容
|
数学目标
|
|
|
Android 平台入门
|
平台架构, 开发者社区,应用程序商店, OPhone 平台介绍, SDK与程序开发环境, 模拟器的使用, 工具程序和调试方法, 程序运行与分析等
|
围绕Android 的生态链和应用程序开发有一个基本的认识,可以比较熟练的使用SDK 开发环境和相关工具。
|
|
|
Java 语言进阶
|
Java 语言的程序设计
Java 平台和虚拟机
|
更好的理解Android SDK 开发中常见的设计模式,能在一个更高的层次去理解系统的设计。
|
|
|
Android 程序基础
|
应用程序的组成模块,任务的概念,进程去线程
Intent 和InterFilter, AndroidManifest.xml文件,模块的生存期,进程间通讯方式等
|
初步理解应用程序的组成和编写
|
|
|
UI元素与编程
|
界面布局Layout 的定义,View 和ViewGroup
Android UI引擎的设计,UI事件,UI 通知机制,数据与View的连接,资源文件, Hierarchy Viewer 的使用,UI 主线程和消息队列,ANR 的介绍,UI 设计模式的运用等
|
掌握基本的界面设计能力,并且可以熟练的定制符合自己需求的UI 组件,熟练掌握资源文件的定义和设计。
|
|
|
程序资源与使用
|
资源文件的定义和种类、目录结构、文件与屏幕适配的原理,如何编写兼容不同硬件的程序, 资源文件的访问方式,资源文件的国际化配置,主要资源的XML 属性和代码分析,Nine-Patch 文件介绍, Icon 图标制作.
|
理解API 的细节和使用技巧,掌握资源XML文件中常见的属性的定义和使用, 结合API 中的代码访问和修改属性
|
|
|
Activity 与Intent
|
Activity的实现方式和使用技巧
Intent 的概念和使用
|
深入理解和熟练使用Intent 与Activity 设计应用程序
|
|
|
Android安全框架
|
Android安全架构的设计与实现
|
理解整个平台在安全设计方面的考虑和实现方式,能够把知识融合到自己进行程序设计的过程中
|
|
|
进程间通讯
|
Linux 进程间通讯的基本方式
Android 平台主要使用的进程间通讯方式
|
深入理解Android 的Service 框架和服务, 具备自己编写Service服务和接口的初步能力。
|
|
|
Service程序设计
|
Service程序的结构,接口的定义和实现方式
Client 与Service 的交互 ServiceManager 介绍,Service 类介绍、启动和退出、 进程的优先级问题,Service 与Intent, SystemServer服务进程的分析
|
掌握Service 程序设计的基本技术, 理解Service 程序的适用场合, 能够编写接口和实现代码
|
|
|
数据存储
|
Android 设备上的数据存储方式
|
合理的使用内置存储和外部SD卡存储, 能够熟练的设计和使用数据库, 能够根据程序的需求选择合适的数据存储方式
|
|
|
ContentProvider设计与实现
|
ContentProvider 的设计和实现原理
|
掌握ContentProvider的原理和实现技术, 能够自己编写接口和代码实现
|
|
|
UI 组件高级编程
UI 风格与主题
UI设计与技巧
|
Android 实现UI 组件的基本原理
XML文件和代码中使用自定义组件
Android 系统提供的风格和主题
UI 设计的重要性
|
熟练的根据需求编写自己的组件并且提供给别人使用, 通过对系统提供的一些组件的分析
掌握一些基本的UI 设计和优化技巧,并且能够灵活运用到自己的程序中去
|
|
|
程序调试与技巧
|
SDK 开发包
Android 开发中通常使用的程序调试技术
|
具备分析问题根源和寻找解决方案的初步能力
|
|
|
程序设计进阶
|
无缝用户体验设计, 高性能程序的编写,Flash文件系统性能,数据库性能,Android 电源管理技术, 省电程序的编写, 主线程和消息队列,多线程程序的编写,AsyncTask的使用,IntentService 的使用, 基于WebView 浏览器程序的编写, 基于HTTP API 的网络程序编写模式, 客户端(图片)缓存技术的应用,错误报告和用户反馈的设计与实现, 客户端广告联盟API 的介绍和使用, 多版本支持的程序编写技术,设计模式的应用与分析等
|
能够设计与实现一个完整的,达到商业要求的,高品质的应用程序
|
|
|
程序的发布与维护
|
Android 应用之前需要做的准备工作
|
理解整个应用发布的准备工作与具体实施步骤
|
|
|
项目实践
|
||||
第二阶段: Android提高与系统
|
||||
平台架构设计
|
Android 平台的架构设计
|
理解系统整体的设计和各层之间的联系,建立一个系统的全局观
|
||
Binder设计与实现
|
Binder 进程间通讯的技术和实现方式
组件对象模型编程
OpenBinder
|
理解Binder 作为整个平台核心机制的原理和实现方式
提高学生对框架服务类的整体认识
|
||
框架与服务
|
系统的启动
Zygote 分析, Activity Manager, Package Manager, Window Manager, ContentProvider, ResourceManager, View System, NotificationManager, TelephonyManager, LocationManager
|
核心系统服务的讲解,使学生更加深入的理解Android系统的核心功能与实现,同时有利于学生更好的使用基于这些服务的SDK API。
|
||
Dalvik 虚拟机
|
Dalvik 的设计考虑
Dalvik 虚拟机和Java 虚拟机的区别
Dex 文件分析, Zygote 的分析与运行时系统等
|
使学生认识和理解Dalvik 虚拟机, 提高学生对程序调试和运行时分析的能力
|
||
文件系统
|
Android的根文件系统, 系统目录结构介绍, Flash技术(NOR, NAND), YAFFS 文件系统.
|
理解Android 的文件系统分区结构, 了解基于Flash的文件系统的基本特性和其在程序性能方面带来的影响.
|
||
窗口系统与事件处理
|
Window 的概念,View 与ViewRoot, 窗口管理的C/S 模式, DecorView介绍, WindowSession 和WindowState, View Tree 与View焦点, KeyEvent的处理,WindowManager服务程序的功能等
|
使学生深入理解窗口的实现细节,输入事件的处理,有利于学生更好的分析程序的行为,比如可以更好的利用Traceview工具分析程序的View 与Window
|
||
图形系统
|
Surface的概念, Canvas 介绍, Surface与Layer介绍, SurfaceFlinger 服务程序等
|
理解Android Java 层和Native 层实现图形绘画的技术,理解基于C/S 模式的图形系统设计架构, 初步认识图形引擎的作用,性能,接口和实现技术,
|
||
多媒体系统与编程
|
Android 的多媒体框架的好设计与实现
|
能够实现自己的媒体播放器等应用程序.
|
||
2D与3D图形编程
|
2D与3D 编程的Java SDK API 的使用
|
掌握图形编程的技巧
|
||
游戏程序的设计与实现
|
Android 上进行游戏设计的基本方法, 涵盖了游戏程序的前期需求, 设计, 游戏引擎技术, 代码实现,性能与调试等方面
|
掌握一般游戏设计的过程与具体细节
|
||
Web Service客户端设计与实现
|
云计算, Web服务与API, HTTP RESTful API的实现与使用, XML协议与编码, JSON协议与编码, Android HTTP类库分析, HTTP客户端程序结构设计, RESTful ContentProvider实例分析等
|
掌握流行的Web服务API的设计与使用, 能够熟练的基于HTTP API 进行互联网程序的开发, 熟悉HTTP, XML, JSON 的技术
|
||
位置与地图程序的设计与实现
|
A-GPS 定位技术, 小区CELL-ID定位技术, LocationManager实现与API, Google 地图API包, WebView的使用, Google JavaScript 地图API, 高德软件地图API 库, 类foursquare 程序的设计与实现等
|
使学生熟悉LBS的概念与服务, 能够熟练的开发基于定位和地图的客户端应用, 掌握相关API 的使用细节
|
||
Android 源代码工程
|
获取和编译源代码工程,源代码管理系统Git,代码评审系统Gerrit,源代码项目分类与阅读,代码编写规范,参与开发者社区,报告Bug, 提交补丁代码等
|
了解Android 的开源工程, 了解开发者社区, 能够自己进行代码的阅读与分析, 初步熟悉Git分布式源代码管理系统
|