第1章项目说明3
1.1项目概述3
1.2界面截图3
第2章驱动项目开发环境搭建4
2.1Ubuntu虚拟机安装4
2.1.1虚拟机安装4
2.1.2创建Ubuntu虚拟机5
2.2NDK编译环境搭建(Windows版)7
2.2.1Cygwin7
2.2.2AndroidNDK7
2.3Android上层应用开发环境搭建8
2.3.1安装Android开发工具(JDK)8
2.3.2安装Eclipse 3.511
2.3.3安装Android SDK11
2.3.4安装ADT插件12
2.3.5创建模拟器(AVD)14
2.3.6部署Android程序到手机15
2.3.7命令行(ADB)18
第3章Ubuntu基本操作和网络配置19
3.1Ubuntu操作系统概述19
3.2Ubuntu发展历程19
3.3Ubuntu操作系统特色21
3.3.1系统管理21
3.3.2开发理念21
3.4Ubuntu基本命令21
3.5目录文件基本操作22
3.5.1ls命令24
3.5.2pwd命令24
3.5.3cp命令24
3.5.4mv命令25
3.5.5rm命令25
3.5.6mkdir命令26
3.5.7rmdir命令26
3.5.8ln命令26
3.6Ubuntu Dpkg和APT 26
3.7用户基本操作28
3.8网络IP配置28
3.9NFS服务配置29
3.10NFS配置相关文件29
3.11NFS服务器(宿主机)30
3.11.1安装NFS包30
3.11.2配置NFS30
3.12NFS客户端32
3.12.1安装NFS32
3.12.2NFS挂载32
3.13共享图形管理工具32
第4章Ubuntu操作系统引导过程34
4.1BIOS34
〖=BW(〗目录〖=〗4.2MBR34
4.3OS Loader(GRUB/LILO)34
4.4initrd.img35
4.5Linux的系统内核35
4.6根文件系统35
第5章Ubuntu下C程序设计36
5.1GCC编译工具36
5.2C语言编码37
5.2.1编译简单的C程序37
5.2.2编译多个源文件38
5.3GDB调试39
5.3.1GDB39
5.3.2GDB事例39
5.4项目工程makefile40
5.4.1makefile的内容41
5.4.2makefile文件的命名42
5.4.3MAKEFILES变量42
5.4.4条件语句43
第6章Android底层架构44
6.1Android系统架构44
6.1.1应用程序44
6.1.2应用程序框架45
6.1.3系统运行库45
6.1.4硬件抽象层46
6.1.5Linux内核46
6.2Android系统源代码分析47
第7章内核裁剪和移植50
7.1Uboot配置编译50
7.1.1Uboot的配置50
7.1.2Uboot的编译50
7.2Linux内核配置编译51
7.3编译Real6410的Android52
7.3.1Real6410 Android文件系统52
7.3.2Android Emulator52
7.3.3Android附加固件53
7.4内核烧写(vivi,kernel,root)53
第8章驱动程序设计原理54
8.1设备驱动程序的概念54
8.2处理器与设备间数据交换方式55
8.2.1查询方式55
8.2.2中断方式55
8.2.3直接访问内存(DMA)方式55
8.3驱动程序结构56
8.3.1一个设备驱动程序模块的基本框架56
8.3.2file_operations结构体57
8.3.3inode和file结构体58
8.4设备注册和初始化 58
8.5中断管理 60
8.6设备驱动程序的开发过程60
8.7设备驱动程序开发的基本函数61
8.7.1I/O端口函数61
8.7.2时钟函数62
8.7.3内存操作函数62
8.7.4复制函数62
8.8模块加载与卸载63
第9章驱动Demo设计64
9.1驱动底层设计64
9.1.1创建驱动目录64
9.1.2驱动编码64
9.1.3在内核配置菜单里加入本驱动的配置项67
9.1.4编译驱动67
9.2中间层JNI模块68
9.2.1JNI模块编码68
9.2.2编译JNI模块70
9.3上层Android应用70
9.3.1Eclipse新建工程70
9.3.2工程UI设计71
9.3.3工程编码73
9.3.4工程编译运行74
第10章开发板模块驱动76
10.1Touchscreen驱动配置 76
10.2Keyboard驱动配置76
10.3LCD驱动配置78
10.4jpeg驱动配置78
10.5Camera驱动配置79
10.6AndroidCamera驱动实现79
10.6.1Android的Camera应用程序80
10.6.2JNI SO库80
10.6.3Camera驱动80
第2篇Android软件工程师技术实训
第11章项目说明83
11.1项目概述83
11.2界面截图83
11.3功能列表85
第12章构建Android应用程序86
12.1Android产品简介86
12.2Android SDK特性87
12.3Android衍生操作系统89
12.4Android Market89
12.5应用程序的组成部分90
12.6第一个Android应用程序(HelloWorld)91
12.7程序清单(Manifest)文件93
12.8程序的生命周期95
12.9深入探讨Activity95
12.9.1创建一个Activity95
12.9.2Activity生命周期99
12.10构建项目工程文件102
第13章程序界面设计105
13.1构成Android UI的基本元素105
13.2了解View106
13.3常用UI控件106
13.3.1按钮(Button)106
13.3.2文本框(TextView)与编辑框(EditText)108
13.3.3菜单(Menu)110
13.3.4对话框(Dialog)113
13.3.5通知(Notification & Toast)118
13.3.6日期与时间(DataPicker & TimePicker)119
13.3.7下拉列表(Spinner)120
13.3.8单选框与复选框(RadioButton & CheckBox)121
13.3.9进度条(ProgressBar)122
13.3.10图片滑动控件(Gallery)124
13.4界面布局管理126
13.4.1框架布局(FrameLayout)126
13.4.2线性布局(LinearLayout)128
13.4.3绝对布局(AbsoluteLayout)129
13.4.4相对布局(RelativeLayout)130
13.4.5表单布局(TableLayout)132
13.4.6切换卡(TabHost)133
13.5程序模块构建(项目主界面)137
第14章游戏与图形技术143
14.1游戏开发框架简介143
14.2Graphics开发基础146
14.2.1绘制基本图形147
14.2.2图形变换148
14.3Graphics编程实例149
14.4动画技术(Animation)153
14.4.1动画类型153
14.4.2动画属性155
14.4.3Interpolator155
14.4.4AnimationSet156
14.5程序模块构建(启动画面)157
第15章数据持久化存储159
15.1文件存储159
15.2SharePreference161
15.3SQLite161
15.3.1SQLite简介161
15.3.2使用SQLite数据库162
15.3.3使用SQLite数据库管理工具166
15.4Content Provider166
15.4.1查询记录166
15.4.2修改记录167
15.4.3添加记录168
15.4.4删除记录168
15.4.5创建自定义Content Provider168
15.5程序模块构建(记录查询城市)169
第16章移动多媒体编程技术174
16.1OpenCore概述174
16.2音频和视频播放——MediaPlayer类176
16.2.1三种不同的数据源176
16.2.2MediaPlayer的状态178
16.2.3视频播放180
16.3多媒体录制181
16.4程序模块构建(按键音)182
第17章网络通讯186
17.1Http通信186
17.1.1HttpURLConnection186
17.1.2HttpClient188
17.2SAX(XML)189
17.3WiFi193
17.4WebKit194
17.5程序模块构建(网络通信功能)196
第18章Google Map199
18.1准备工作199
18.1.1申请Android Map API Key199
18.1.2创建基于Google API的模拟器(AVD)201
18.1.3创建基于Google API的工程201
18.2Google Map API的使用202
18.2.1一个简单的Google Map应用202
18.2.2使用Google Map进行定位204
18.2.3搜索功能205
18.3程序模块构建(定位功能)208
第19章桌面组件(Widget)215
19.1Widget概述215
19.2常见桌面组件215
19.3AppWidget框架类217
19.4桌面组件实例217
19.5程序模块构建(Widget)220
19.5.1构建Widget用户界面220
19.5.2实现AppWidgetProvider接口221
19.5.3配置文件Android manifest 226
19.5.4编译运行226
附录A东软实训介绍227
A1实训目的227
A2实训流程228
A3实训组织形式228
A4实训平台介绍229
A5实训教学安排说明230
A6实训考核办法232
附录BAndroid OS ADB命令233
B1发出ADB命令233
B2查询模拟器/设备实例233
B3给特定模拟器/设备实例发送命令234
B4安装软件234
B5转发端口234
B6从模拟器/设备中拷入或拷出文件234
B7ADB命令列表235