Android系统开发
第一天
学习目标
掌握Andriod开发环境的搭建方法,熟悉Android在硬件平台上的移植方法。
1 Andriod 开发环境搭建
1.1 andriod sdk介绍
1.2 eclipse中装载Android插件
1.3 编写、调试、运行Hello, Android!程序
1.4 git和repo使用方法
1.5 Android的源代码结构与编译方法
2 Android平台移植
2.1 Android移植的主要步骤与方法
2.2 配置linux内核支持Android
2.3 linux内核中添加Android 触摸屏驱动
2.4 linux内核中添加Android 键盘驱动
2.5 Android多点触摸的介绍
2.6 制作yaffs2、jffs2格式的Android文件系统
实验
1、下载linux内核、Android源码,编译、移植到目标平台
2、编写一个简单的应用程序运行在目标平台
第二天
学习目标
掌握Android底层开发基础理论知识及调试方法。
3 Android底层开发基础
3.1 Android启动流程与相关服务解析
3.2 Android 编译框架与Makefile介绍
3.3 在Android中添加自己的平台
3.4 在Android中添加本地库的方法
3.5 Android Dalvik虚拟机工作原理介绍
3.6 Jni开发方法
3.7 HAL开发方法
3.8 SystemServer、ServiceManager介绍
3.9 Android Binder工作原理
4 Android调试方法
4.1 Android 日志系统介绍
4.2 logcat使用介绍
4.3 ADB使用方法
4.4 DDMS使用介绍
实验:
1、在Android平台上通过编写应用程序、Framework、jni、HAL实现LED控制。
第三天
学习目标
掌握Android底层开发中的几个重要的应用。
5 Android Sensor 开发
5.1 Android 常见传感器与应用
5.2 Android Sensor开发框架
6 Android Camera 开发
6.1 V4L2驱动框架
6.2 Android Camera驱动框架分析
6.3 Android Camara拍照
6.4 Android Camara录像
7 Android 音频开发
7.1 linux音频驱动介绍
7.2 Alsa音频驱动框架
7.3 Android音频驱动框架
7.4 Android AudioFlinger工作原理
实验:
1、重力加速度传感器实现框架
2、基于WM9714的Android 音频驱动的实现
第四天
学习目标
掌握Android底层开发中更多的底层应用。
8 Android Wifi开发
8.1 Wifi工作原理概述
8.2 Wifi P2P原理概述
8.3 Linux下wifi驱动介绍
8.4 wpa-application移植
8.5 Android wifi框架分析
8.6 Android WifiManagerService分析
9 Android 2D加速显卡驱动开发
9.1 Android display各层分析
9.2 Surface manager介绍
9.3 SurfaceFlinger介绍
9.4 Overlay 介绍
9.5 Copybit源码分析
9.6 pmem机制
10 Android 电源管理
10.1 Android电源管理策略
10.2 Android Wakelock机制
10.3 Android framework层Android电源管理的实现
10.4 Android PowerManagerService工作原理
11 Android 3G开发
11.1 Android ril at命令通路介绍
11.2 Android ril 数据通路介绍
实验:
1、Android系统接入Wifi网路
2、Android系统通过联通wcdma模块接入3G网络
Android应用开发
时间
课程大纲
第一天
第1章 Android操作系统概述
1.1 Android平台介绍
1.2 Android平台特性
1.3 Android平台架构
1.4 Android原生(Navtive)C/C++程序开发及Android NDK介绍
1.5 Native开发方式与JAVA开发方式性能比较
1.6 Android应用前景分析
第2章 Android SDK及其开发环境搭建
2.1 Android SDK的版本演进
2.2 Eclipse ADT插件与SDK版本的对应关系
2.3 ADT插件的安装和更新
2.4 Android模拟器介绍
2.4.1 启动与使用 Android 模拟器
2.4.2 模拟器中SD卡的应用
2.4.3 模拟器连接网络
2.5 通过Eclipse创建一个Hello Word简单的项目
第3章 Android项目结构分析
3.1 资源管理(Resources)分析
3.1.1 drawable分析
3.1.2 layout分析
3.1.3 values(strings.xml、colors.xml、arrays.xml等)分析
3.1.4 R.java分析及使用
3.1.5 AndroidManifest.xml分析
3.2 应用构成中的四个主干组件简单分析
3.2.1 Activity分析
3.2.2 Intent分析
3.2.3 Service分析
3.2.3 Content分析
【实验】
实验1:搭建开发环境
本实验将亲手安装Android SDK以及建立Eclipse和ADT插件的开发环境
实验2:导入开源RssReader的项目工程
本实验通过一个开源项目创建一个项目工程。
实验3:启动、使用模拟器;编译到设备并在设备上运行
本实验通过IDE中启动模拟器并通过模拟器进行断点调试,并对项目的整体架构有简单的了解。
第二天
第4章 Activity
4.1 Activity的生命周期
4.2 Activity有四种本质区别的状态
4.3 保存持久状态
4.4 权限许可
4.5 进程的生命周期
4.6 继承Activity类应该注意的问题
第5章 高级UI
5.1 标准控件的使用
5.2 设计开发自定义控件
5.3 Layout布局的使用
5.4 触摸/按键(UI Events)事件处理方法
第6章 Intent Receiver
6.1 Intent的作用和目的
6.2 属性讲解
6.3 Android如何定义以及如何解析Intent
6.3.1 直接Intent
6.3.2 间接Intent
6.4 AndroidManifest.xml深入分析
第7章 Android中的多线程处理
7.1 UI线程与工作线程
7.2 Handler/Looper处理耗时操作
7.3 AsyncTask异步任务
【实验】
实验1:以示例讲解使用标准控件来实现程序UI
本实验将主要对Android标准控件的相关处理方法进行讲解。
实验2:以示例讲解UI线程和工作线程的关系
本实验将主要让学员提升对UI线程和工作线程的了解,并且理解如何在耗时操作中更新UI。
实验3:以示例讲解如何使用多线程和Handle类(消息)以及AsyncTask来实现动态更新UI
本实验将主要对Handler+Looper机制以及AsyncTask来实现动态更新UI的方法。
第三天
第8章 Service和BroadcastReceiver
8.1 什么是Service
8.2 如何使用Service
8.3 Service的生命周期
8.4 BroadcastReceiver的使用
第9章 数据访问
9.1 使用SQLite来存储数据
, &nbs, p;, 9.2 使用SharedPreference来保存简单的配置数据
9.3 创建Content Providers
9.4 使用Content Providers
9.4.1 使用URI语法来做以下动作:
9.4.2 Querying for Data 查询资料
9.4.3 Modifying Data 修改资料
9.4.4 Adding a Record 增加资料
9.4.5 Deleting a Record 刪除资料
第10章 多媒体处理
10.1 使用MediaRecorder来录制音视频
10.1.1 MediaRecorder的生命周期和各个阶段的方法
10.1.2 使用MediaRecorder来录制音频
10.2 使用MediaPlayer来播放多媒体文件
10.2.1 MediaPlayer的生命周期和各个阶段对应的方法
10.2.2 使用MediaPlayer来播放音乐
【实验】
实验1:以示例讲解菜单的生成、响应菜单项点击、增加子菜单功能
本实验将主要对Android应用程序中菜单的相关处理方法。
实验2:以示例讲解让Activity以全屏方式显示以及为Activity屏幕的标题添加图标功能
本实验将主要对Activity的相关技巧方面处理方法。
实验3:处理非res资源的例子
本实验将主要对非res资源的处理方法,以扩展开发程序的方法和思路。
实验4:实现音频播放器实例
本实验通过MediaStore的ContentProvider来获取MP3信息,并使用MediaPlayer来实现MP3播放器。
第四天
第11章 网络访问
11.1 网络连接的相关知识
11.2 URLConnection和HttpURLConnection的应用
11.3 Apache HttpClient的分析和使用
11.4 如何在Android中往远端服务器上传文件
11.5 使用pull和sax来进行XML数据处理
第12章 调试、打包发布工具使用
12.1 Android 调试桥
12.2 启用logcat日志调试
12.3 模拟器上安装删除软件
12.4 打包、签名和安装软件到设备
12.5 如何将软件上传到Google Market中
【实验】
实验1:使用BroadcastReceiver实现开机启动Service或Activity
本实验实现开机自启动的功能,体现BroadcastReceiver类的用法。
实验2:一步一步的分析讲解RssReader项目并对其Content和http通讯的的实现,完成并实现一个可实际使用的Rss阅读器
本实验将以RssReader项目为目标,逐步从无到有实现其功能,主要讲解其中的Content以及网络通讯处理的实现过程。
培训目标
Android系统开发
课程目标
比较全面的掌握Android系统环境搭建、移植、底层开发技术。
实验平台
ARM11、Cortex-A8
培养对象
掌握一定嵌入式Linux知识的开发工程师,嵌入式Linux/Android爱好者。
Android应用开发
课程目标
1)使用Android SDK进行移动应用开发有全面深入的了解,掌握Android编程的基本模式;
2)完成一个功能较全面的Android程序;
3)理解Android编程的关键技术,能够自己进行更加深入的学习;
4)初步具有Android编程的实力,能够在文档辅助下完成企业要求的应用开发。
培养对象
希望迅速了解和掌握Android应用开发的学员;希望从事移动终端开发的爱好者、工程师、程序员、已及相关行业的工程技术人员;有志于从事以下工作的软件开发技术人员和正在学习计算机、软件、通信专业的学生:
◆ 手机应用软件开发;
◆ 各类手持终端设备的行业应用软件开发;
◆ 移动互联应用开发(服务器端);
◆ 移动增值服务开发。
入学要求
学员学习本课程应具备下列基础知识:
◆ 了解java语言;
◆ 了解OOP(面向对象)编程相关概念。
课程大纲
令人激动的Google手机操作系统平台- Android 是一个真正意义上的开放性移动设备综合平台。它包括操作系统、用户界面和应用程序 —— 移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍。谷歌与开放手机联盟合作开发了 Android,这个联盟由包括中国移动、摩托罗拉、高通、宏达和 T-Mobile 在内的 30 多家技术和无线应用的领军企业组成。建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统。学习Android的意义不仅仅是手机平台那么简单,通过对其框架,结构的分析,我们可以将Android应用到任何移动硬件平台上,支持各种硬件设备、应用于多种行业。

