第1章 Android开发环境的建立及其基本使用方法 1
1.1 安装JDK 1
1.2 ADT Bundle的安装 3
1.3 Eclipse的使用基础 6
1.3.1 创建第一个HelloWorld程序 6
1.3.2 Eclipse编辑程序文字设置 13
1.3.3 模似器的建立与开启 14
1.3.4 开启USB调试 18
1.3.5 在模拟器或手机上运行HelloWorld项目 21
1.3.6 导入项目到Eclipse 23
1.3.7 在Eclipse中删除项目 25
1.3.8 项目在Eclipse中调试 26
1.3.9 项目版本的问题 27
1.3.10 重新连接模拟器或手机 29
1.3.11 解决程序乱码的问题 29
1.3.12 删除不要的workspace 30
1.3.13 appcompat_v7的资源 31
第2章 Android应用程序项目结构分析 32
2.1 src目录 32
2.2 gen目录 33
2.3 res/drawable目录 34
2.4 res/values目录 34
2.4.1 文字资源 34
2.4.2 颜色资源 35
2.4.3 格式资源 35
2.5.4 尺寸大小资源 38
2.4.5 多国语言资源 40
2.5 res/layout目录 42
2.6 AndroidManifest.xml 43
第3章 版面布局(Layout)分析 45
3.1 线性版面布局(LinearLayout) 45
3.1.1 Linear Layout常用属性 45
3.1.2 修改版面布局 46
3.1.3 组件或版面拖曳 48
3.1.4 显示属性表 48
3.1.5 修改组件的属性 49
3.2 框架版面布局(Frame Layout) 52
使用FrameLayout版面布局,拖动两个ImageView分别放入两张图 52
3.3 相对版面布局(Relative Layout) 54
3.4 表格版面布局(Table Layout) 57
3.5 网格版面布局(Grid Layout) 60
3.6 绝对位置版面布局(Absolute Layout) 64
第4章 用户接口(UI)组件的使用 67
4.1 常用接口组件(TextView、EditText和Button) 68
4.1.1 TextView接口组件的使用 70
4.1.2 EditText接口组件的使用 70
4.1.3 Button接口组件的使用 71
4.2 Button按钮组件与监听事件 71
Button组件onClick(View v)的监听事件设置模式 71
4.3 其他监听事件 77
4.3.1 长按监听事件 77
4.3.2 onTouch()监听事件 79
4.3.3 Gesture手势识别 82
4.4 CheckBox复选组件 85
范例示范 85
4.5 RadioGroup RadioButton单选组件 90
范例示范 91
4.6 ToggleButton按钮组件 93
范例示范 94
4.7 SeekBar组件 96
第5章 信息窗口与对话窗口 99
5.1 Toast显示信息 99
5.2 对话窗口(AlertDialog) 103
5.2.1 无按钮对话窗口AlertDialog 103
5.2.2 带按钮的对话窗口AlertDialog 105
5.3 日期与时间选择器 107
5.3.1 DatePicker日期选择器 108
5.3.2 TimePicker时间选择器 110
5.4 日期与时间对话窗口 113
5.4.1 DatePickerDialog日期对话窗口 113
5.4.2 TimePickerDialog时间对话窗口 115
第6章 ListView接口组件的使用 118
6.1 ListView组件与ListActivity类的使用 119
6.1.1 第一个范例:使用ListActivity搭配ArrayAdapter 119
6.1.2 第二个范例:使用ListActivity搭配SimpleAdapter 120
6.1.3 第三个范例:使用ListActivity搭配SimpleAdapter 121
6.2 ListView组件与Activity类的使用 123
6.2.1 第一个范例:使用Activity搭配ArrayAdapter 123
6.2.2 第二个范例:使用Activity搭配SimpleAdapter 124
6.3 ListView事件的处理 128
第一个范例:ListView事件的使用 128
第7章 APP应用程序重要组件 132
7.1 Activity活动 132
7.1.1 Activity生命周期 132
7.1.2 Activity启动第二个Activity 135
7.1.3 启动可回传数据的Activity 143
7.2 Broadcast Receiver广播接收组件 148
7.2.1 System Broadcast:系统广播 149
7.2.2 sendBroadcast:发送广播 151
7.2.3 registerReceiver:动态注册广播接收器 154
7.2.4 unregisterReceiver:注销广播接收器 156
7.2.5 Broadcast Receiver顺序型广播 158
7.2.6 registerReceiver顺序关系 162
7.3 Service服务组件 166
7.3.1 Service被启动服务与生命周期 166
7.3.2 Service被绑定(bind)服务 170
7.3.3 Service服务与Handler 173
7.3.4 Service与AIDL 177
第8章 线程的使用 190
8.1 线程的Thread类 190
8.1.1 单个线程范例 191
8.1.2 两个线程范例 192
8.1.3 两个线程范例变量不会共享 193
8.2 线程实现Runnable界面 195
8.2.1 通过Runnable接口的单个线程范例 195
8.2.2 通过Runnable接口的两个线程范例 196
8.3 线程Thread类与Handler的关系 197
8.3.1 线程Thread类与Handler的关系 198
8.3.2 通过Handler对象去执行与关闭Thread 202
8.4 Timer类的使用 206
Timer与TimerTask类使用的范例 206
第9章 Android蓝牙与蓝牙模块 209
9.1 蓝牙(Buletoooth)的基本概念 209
9.2 侦测手机蓝牙设备与许可权的设置 210
9.3 蓝牙设备的数据传输 218
第10章 8051芯片简介 225
10.1 单片机芯片简介 225
10.1.1 8051芯片家族比较 225
10.1.2 程序存储器分类 227
10.2 8051芯片引脚 227
10.3 8051芯片内部的寄存器 230
10.3.1 寄存器组 230
10.3.2 可按位寻址的存储器区 231
10.3.3 一般存储器区 231
10.3.4 特殊功能的寄存器 231
10.3.5 ACC、B 232
10.3.6 程序状态字PSW 232
10.3.7 堆栈指针SP 232
10.3.8 数据指针寄存器DPTR 233
10.3.9 SCON、SBUF 233
第11章 8051汇编语言与C语言 234
11.1 8051汇编语言指令分类说明 234
11.1.1 数据复制指令 234
11.1.2 逻辑运算指令 237
11.1.3 算术运算指令 240
11.1.4 A寄存器特殊指令 245
11.1.5 堆栈指令 247
11.1.6 跳转分支指令 247
11.1.7 比较跳转分支指令 249
11.1.8 调用与返回指令 251
11.1.9 位运算指令 252
11.2 汇编程序开发过程 252
汇编语言编写形式 253
11.3 8051 C语言说明 258
11.3.1 C语言程序的基本结构 258
11.3.2 C语言变量名称 259
11.3.3 C语言数据类型 259
11.3.4 C语言内存类型 262
11.3.5 C语言的运算符 262
11.3.6 C语言的流程控制 264
11.3.7 C语言数组的声明 267
11.3.8 C语言函数(function)的声明 268
11.3.9 C语言中断函数(function)声明 269
第12章 串行传输 271
12.1 串行控制寄存器SCON的说明 272
12.2 串行传输缓冲器SBUF的说明 274
12.3 串行传输的工作模式 274
12.4 计时/计数器的设置 275
12.5 模式1波特率的设置 276
第13章 发光二极管LED 278
13.1 发光二极管LED工作原理 278
13.2 送出一个数据到单片机芯片Port0的LED 279
13.3 由单片机芯片Port2的拨码开关输入一笔数据到手机里 288
13.4 设计一个程序由单片机芯片Port0的LED左右移 292
13.5 复选按钮的应用 297
13.6 比较使用线程和不用线程的不同 305
13.7 使用线程随时侦测单片机芯片Port2再把其值送到Port0 311
13.8 侦测单片机芯片Port2的位0 320
13.9 设置时间执行应用程序 326
13.10 使用单选按钮改变LED左右移 334
第14章 七段显示器 341
14.1 七段显示器工作原理 341
单一个七段显示器的显示方式 342
14.2 送出一个数据到单片机芯片Port2的七段显示器 343
14.3 七段显示器二位数的计数 351
14.4 七段显示器四位数的计数 355
第15章 8×8点阵LED显示器 363
15.1 8×8点阵LED显示器的工作原理 364
15.2 8×8点阵LED显示器字形左右移 372
第16章 LCD液晶显示器 381
16.1 LCM模块结构 381
16.1.1 LCD引脚功能说明 382
16.1.2 LCM控制芯片内部寄存器的说明 383
16.1.3 LCM指令控制说明表 385
16.2 LCD基础显示的设置 386
16.3 LCD自创字形的显示 394
16.4 LCD电子时钟的显示 402
16.5 LCD字符串左右移和LED的移动 410
第17章 AT89S51刻录与读取 421
17.1 AT89S51刻录原理 421
17.1.1 AT89S51串行刻录引脚的使用说明 422
17.1.2 AT89S51串行刻录指令的设置 422
17.2 两个单片机芯片间程序刻录与读取 424
17.2.1 以汇编语言编写刻录数据程序 425
17.2.2 以C语言编写刻录数据程序 427
17.2.3 以C语言编写读取数据程序 430
17.3 手机刻录一个LED向左移的程序 432
把文件刻录在AT89S51芯片里 432
17.4 随地址全段区域刻录程序的制作 456
17.5 读取一段数据 465
17.6 读取2048个字节的数据 470