第1章 Android概述 1
1.1 智能手机操作系统现状 1
1.1.1 智能手机的定义 1
1.1.2 智能手机的特点 2
1.1.3 3G智能手机的基本要求 2
1.1.4 智能手机的操作系统 3
1.2 Android简介 5
1.2.1 Android发展史 5
1.2.2 Android特性 8
1.2.3 Android系统架构 10
1.2.4 Android组件 12
1.3 搭建Android开发环境 14
1.3.1 Android开发前的准备工作 14
1.3.2 安装JDK 15
1.3.3 安装Eclipse 17
1.3.4 安装Android SDK 18
1.3.5 安装ADT插件 20
1.3.6 设定AndroidSDK主目录 23
1.3.7 创建Android虚拟设备 24
1.3.8 运行AVD 26
1.4 Android应用工程文件组成 27
1.5 应用程序的生命周期 30
1.5.1 进行优先级 31
1.5.2 Activity的生命周期 32
1.5.3 Activity生命周期调用顺序 35
1.5.4 Service的生命周期 36
1.5.5 Android生命周期综合实例 37
1.6 Android的活动 39
1.6.1 应用活动的样本与主题 41
1.6.2 显示对话框 42
1.6.3 显示进度条对话框 45
第2章 Android界面布局 49
2.1 控件类概述 49
2.1.1 View简介 49
2.1.2 ViewGroup简介 50
2.2 线性布局 50
2.2.1 LinearLayout简介 50
2.2.2 线性布局实例介绍 51
2.3 表格布局 52
2.3.1 TableLayout简介 52
2.3.2 表格布局实例介绍 53
2.4 相对布局 56
2.4.1 RelativeLayout简介 57
2.4.2 相对布局实例介绍 58
2.5 绝对布局 59
2.5.1 AbsoluteLayout简介 59
2.5.2 绝对布局实例介绍 60
2.6 帧布局 61
2.6.1 FrameLayout简介 61
2.6.2 帧布局实例介绍 62
2.7 列表布局 63
2.7.1 ViewGroup简介 63
2.7.2 列表布局实例介绍 63
第3章 Widget组件布局 66
3.1 Button控件 67
3.1.1 setOnClickListener方法 67
3.1.2 setOnLongClickListener方法 68
3.1.3 setOnFocusChangeListener方法 69
3.1.4 setOnTouchListener方法 70
3.1.5 setPressed方法 71
3.1.6 setClickable方法 72
3.1.7 setLongClickable方法 73
3.1.8 Button控件综合实例 74
3.2 TextView控件 75
3.2.1 append方法 75
3.2.2 addTextChangedListener方法 76
3.2.3 setText方法 78
3.2.4 setTextSize方法 79
3.2.5 setTypeface方法 80
3.2.6 setTextColor方法 82
3.2.7 setHeight方法 82
3.2.8 setBackgroundColor方法 83
3.2.9 getHeight方法 84
3.2.1 0 getWidth方法 86
3.2.1 1 setPadding方法 87
3.2.1 2 getPaddingLeft方法 88
3.2.1 3 getPaddingTop方法 88
3.2.1 4 getPaddingrRight方法 88
3.2.1 5 getPaddingBottonm方法 88
3.2.1 6 getCurrentTextColor方法 89
3.2.1 7 getText方法 91
3.2.1 8 TextView控件的综合实例 91
3.3 EditText控件 98
3.3.1 setText方法 98
3.3.2 getText方法 100
3.3.3 setSelection方法 101
3.3.4 setHint方法 102
3.2.5 setOnKeyListener方法 103
3.3.6 EditText控件的综合实例 104
3.4 RadioButton控件 106
3.4.1 setOnCheckedChangedListener方法 106
3.4.2 check方法 109
3.4.3 clearCheck方法 109
3.5 CheckBox控件 110
3.5.1 isChecked方法 111
3.5.2 setChecked方法 113
3.5.3 toggle方法 113
3.5.4 setOnCheckedChangeListener方法 115
3.6 Toast控件 117
3.6.1 cancel方法 117
3.6.2 getDuration方法 117
3.6.3 getGravity方法 118
3.6.4 getHorizontalMargi方法与getVerticalMargin方法 119
3.6.5 makeText方法 120
3.6.6 setView方法 121
3.6.7 getView方法 122
3.6.8 setGravity方法 123
3.6.9 getXOffset方法与getYOffset 方法 124
3.6.1 0 setDuration方法 125
3.6.1 1 setMargin方法 126
3.6.1 2 setText方法 127
3.6.1 3 show方法 128
3.6.1 4 Toast控件的综合实例 129
3.7 ImageView控件 134
3.7.1 setAdjustViewBounds方法 134
3.7.2 setScaleType方法 135
3.7.3 setSelected方法 135
3.7.4 setImageURI方法 135
3.7.5 setAdjustViewBounds方法 136
3.7.6 setAlpha方法 136
3.7.7 setImageResource方法 136
3.7.8 ImageView控件综合实例 136
3.8 ProgressBar控件 139
3.8.1 ProgressBar相关方法 139
3.8.2 ProgressBar相关类型 139
3.9 Spinner控件 147
3.9.1 setAdapter方法 147
3.9.2 setPrompt方法 147
3.9.3 setPromptId方法 149
3.9.4 setOnltemSelectedListener方法 149
3.1 0 AutoCompleteTextView控件 151
3.1 0.1 setAdapter方法 151
3.1 0.2 setThreshold方法 152
3.1 0.3 setCompletionHint方法 152
3.1 0.4 setDropDownBackgroundResource方法 154
3.1 0.5 setDropDownBackgroundDrawable方法 154
3.1 0.6 MultiAutoCompleteTextView类 155
3.1 1 AnalogClock控件 157
3.1 2 DatePicker与TimePicker控件 161
3.1 2.1 DatePicker控件 161
3.1 2.2 TimerPicker控件 161
3.1 2.3 DatePicker与TimePicker控件综合实例 162
3.1 3 SeekBar控件 164
3.1 4 RatingBar控件 166
3.1 4.1 RatingBar类方法 167
3.1 4.2 RatingBar控件综合实例 167
3.1 5 Tab控件 170
3.1 6 Gallery控件 173
3.1 6.1 Gallery类方法 173
3.1 6.2 Gallery控件综合实例 178
3.1 7 ToggleButton控件 182
3.1 7.1 ToggleButton类方法 182
3.1 7.2 ToggleButton类实现 183
第4章 Android菜单 185
4.1 Menu菜单 185
4.1.1 Menu菜单方法 185
4.1.2 Menu菜单综合实例 192
4.2 MenuItem菜单 196
4.2.1 MenuItem菜单方法 196
4.2.2 MenuItem菜单综合实例 200
4.3 SubMenu菜单 204
4.3.1 SubMenu菜单方法 204
4.3.2 SubMenu菜单综合实例 208
4.4 ContextMenu菜单 209
4.4.1 ContextMenu菜单方法 210
4.4.2 ContextMenu菜单综合实例 216
第5章 Android对话框 219
5.1 AlertDialog对话框 219
5.1.1 创建提示对话框 219
5.1.2 创建列表对话框 223
5.1.3 单选列表对话框 225
5.1.4 复选列表对话框 227
5.1.5 AlertDialog对话框综合实例 229
5.2 DatePickerDialog与TimePickerDialog对话框 233
5.2.1 DatePickerDialog与TimePickerDialog概述 233
5.2.2 DatePickerDialog与TimePickerDialog对话框综合实例 234
5.3 ProgressDailog对话框 237
5.3.1 ProgressDailog对话框方法 237
5.3.2 ProgressDailog进度条对话框综合实例 238
5.4 Notification通知 242
5.4.1 常用的Notification 242
5.4.2 带进度条的Notification 246
第6章 Android视图与动画 250
6.1 Android图像 250
6.1.1 ImageSwitcher类 250
6.1.2 ScrollView类 253
6.1.3 GridView类 258
6.1.4 WebView类 263
6.2 Android绘图 264
6.2.1 Paint类 265
6.2.2 Canvas类 268
6.2.3 Canvas与Paint类综合实例 274
6.2.4 Path类 279
6.3 Android图形特效处理 281
6.3.1 Matrix控制变换 282
6.3.2 drawBitmapMesh扭曲图像 290
6.3.3 渲染效果 294
6.4 Android动画 299
6.4.1 Animation类 299
6.4.2 Tween动画 300
6.4.3 Frame动画 305
6.4.4 Frame动画与Tween动画综合实例 308
6.4.5 SurfaceView类 312
6.4.6 动画组件(ViewAnimator) 316
第7章 Android数据存储 321
7.1 SharedPreferences存储 321
7.1.1 SharedPreferences存储类效率分析 322
7.1.2 SharedPreferences类实例 323
7.2 文件存储数据 325
7.2.1 java.io包的方法 326
7.2.2 openFileInput和openFileOutput 331
7.2.3 从resource中的raw文件夹中读取文件 333
7.2.4 从asset中读取文件 334
7.3 SQLite数据库存储 335
7.3.1 SQLite数据库存储概述 335
7.3.2 SQLite数据库存储分析 336
7.3.3 SQLite数据库存储应用实例 341
7.4 ContentProvider存储 347
7.4.1 ContentProvider存储分析 347
7.4.2 Content Provider存储创建步骤 350
7.4.3 Content Provider应用实例 350
7.5 网络存储 358
第8章 Android传递消息与联网 360
8.1 电话管理器 360
8.1.1 网络与SIM卡获取信息 360
8.1.2 拨打电话 364
8.1.3 监听手机来电 368
8.2 信息处理 369
8.2.1 发送短信 369
8.2.2 群发短信 372
8.3 发送邮件 377
8.4 实现震动 379
8.5 闹钟 385
8.5.1 AlarmManager类概述 385
8.5.2 设定闹钟实例 385
8.5.3 更换墙纸实例 395
8.6 自动显示电量 398
8.7 Wi-Fi使用 402
8.8 联网 411
8.8.1 下载二进制数据 413
8.8.2 下载文本文件 414
8.8.3 在线播放音乐 416
第9章 Android多媒体 425
9.1 音频/视频的播放 425
9.1.1 MediaPlay类 425
9.1.2 SoundPool类 437
9.1.3 VideoView类 439
9.1.4 Android的多媒体播放器综合实例 447
9.2 录制音频 452
9.3 照相机 456
9.3.1 照相机常用方法 456
9.3.2 照相机实例分析 464
第10章 Android辅助工具 474
10.1 Map地图 474
10.1.1 位置服务实例 474
10.1.2 定位实例 481
10.1.3 地址查询实例 485
10.1.4 导航实例 490
10.2 蓝牙 499
10.2.1 RFCOMM协议 499
10.2.2 MAC硬件地址 499
10.2.3 编程实现蓝牙综合实例 501
10.3 中国象棋 508
参考文献 547