微信扫一扫,移动浏览光盘
简介
目录前言
目录
上篇 Android开发技术基础
第1章 Android概述 1
Android是Google公司开发的一种基于Linux 2.6内核的智能手机操作系统。虽然Android诞生到现在仅经历了短短的4年时间,但聚集了大量的人气,已经超越了其他智能手机系统。目前,Android系统已经广泛应用于手机平台,并扩展到平板电脑、车载导航仪等领域。本章首先带领大家一览 Android的风采,后续章节将深入到Android 开发的各个方面。
1.1 智能手机操作系统现状 1
1.1.1 Linux系统 1
1.1.2 Windows Mobile系统 2
1.1.3 Symbian系统 2
1.1.4 iOS系统 3
1.1.5 BlackBerry系统 3
1.1.6 Palm系统 4
1.2 Android系统简介 4
1.2.1 开放手机联盟 4
1.2.2 Android的特性 5
1.2.3 Android与其他主流操作系统的对比 6
1.3 Android系统构架 7
1.4 Android应用程序组件 8
1.4.1 Activity活动程序 8
1.4.2 Service服务程序 9
1.4.3 BroadcastReceiver广播接收器 9
1.4.4 ContentProvider内容提供器 10
1.4.5 Intent激活组件 10
1.4.6 View视图组件 11
1.5 Android Market应用程序市场 11
1.6 Android国内衍生版本 12
1.6.1 Ophone 12
1.6.2 Lephone 13
1.6.3 点心OS 13
1.7 小结 14
第2章 搭建Android开发环境 15
古语云:工欲善其事,必先利其器。在展开Android智能手机开发之前,我们必须有一个易用的开发环境。Google公司提供了完善的Android SDK开发包,并通过Java语言来进行开发。我们通过Eclipse集成开发环境和Android SDK开发包中的工具便可以很方便地创建Android应用程序。现在就让我们开始建立属于自己的Android智能手机开发环境吧。
2.1 Android开发环境要求 15
2.2 如何搭建Android开发环境 16
2.2.1 安装JDK 16
2.2.2 安装Eclipse 18
2.2.3 安装Android SDK 19
2.2.4 安装ADT插件 21
2.2.5 安装Eclipse中文插件 25
2.3 Android模拟器AVD 26
2.3.1 创建AVD 27
2.3.2 运行AVD 29
2.3.3 AVD界面及基本操作 30
2.3.4 AVD与手机的区别 32
2.4 Android开发常用工具及命令 33
2.4.1 ADB工具 33
2.4.2 DDMS工具 34
2.4.3 AAPT工具 36
2.4.4 Mksdcard工具 36
2.4.5 DX工具 36
2.4.6 Android Monkey工具 36
2.4.7 Traceview工具 37
2.5 小结 37
第3章 Android开发起步 38
Android程序开发使用的是Java语言。我们可以使用Eclipse集成开发环境和Google提供的ADT插件来完成应用程序的创建、开发和调试。本章将带领读者熟悉一下Android应用程序开发的全过程,并重点分析一下Android应用程序结构以及Android中生命周期的概念。
3.1 创建第一个Android程序 38
3.2 通过模拟器运行Android程序 40
3.3 Android程序结构分析 41
3.3.1 src目录 42
3.3.2 gen目录 42
3.3.3 android.jar文件 43
3.3.4 res目录和assets目录 43
3.3.5 AndroidManifest.xml文件 44
3.4 Android生命周期 45
3.4.1 进程优先级 45
3.4.2 Activity的生命周期 46
3.4.3 Service的生命周期 50
3.4.4 BroadcastReceiver的生命周期 50
3.5 小结 51
下篇 Android API详解
第4章 Android应用程序资源 52
Android系统具有高度的灵活性,Android应用程序除了根据需要自由设计外,还可以使用系统内置的一些颜色、字符串、布局等资源。另外,Android系统要求每一个应用程序在访问某些关键硬件的时候都需要事先获取权限,这样便加强了系统的安全性。本章将介绍主要的Android应用程序权限和资源,这些在以后的程序中都会经常用到。
4.1 Manifest.permission类:应用程序权限 52
4.1.1 什么是应用程序权限 52
4.1.2 Android应用程序权限 53
4.1.3 Android应用程序权限示例 56
4.2 Manifest.permission_group类:应用程序权限组 57
4.3 R类:资源类 58
4.3.1 R.string类:字符串资源 58
4.3.2 R.color类:颜色资源 59
4.3.3 R.layout类:布局资源 60
4.3.4 R.drawable类:绘图资源 61
4.3.5 R.id类:ID资源 65
4.4 小结 67
第5章 Android控件 68
Android系统拥有华丽的操作界面,这一点毫不亚于iPhone手机,使得Android手机深受用户的喜爱。在Android系统中,提供了史上最丰富、最华丽的控件,设计者可以轻松地实现各具特色的控件及界面效果,增强用户体验。本章将详细介绍Android系统中常用的控件及其编程方法。
5.1 TextView类:文本框 68
5.1.1 append方法:追加文字 68
5.1.2 addTextChangedListener方法:添加文本更改监听器 69
5.1.3 setText方法:设置文本 70
5.1.4 setTextSize方法:设置字体大小 71
5.1.5 setTextColor方法:设置字体颜色 72
5.1.6 setTypeface方法:设置字体样式 73
5.1.7 setBackgroundColor方法:设置背景颜色 73
5.1.8 setHeight方法:设置文本框高度 74
5.1.9 getCurrentTextColor方法:获取当前字体颜色 75
5.1.10 getText方法:获取文本框内容 76
5.1.11 getHeight方法:获取文本框高度 77
5.1.12 getWidth方法:获取文本框宽度 77
5.1.13 setPadding方法:设置内边距 78
5.1.14 getPaddingLeft方法:获取文本框左 侧内边距 79
5.1.15 getPaddingTop方法:获取文本框上部内边距 79
5.1.16 getPaddingRight方法:获取文本框右侧内边距 80
5.1.17 getPaddingBottom方法:获取文本框下部内边距 80
5.2 Button类:按钮 81
5.2.1 setOnClickListener方法:设置按钮监听器 81
5.2.2 setOnLongClickListener方法:设置长按监听器 81
5.2.3 setOnFocusChangeListener方法:设置焦点改变监听器 82
5.2.4 setOnTouchListener方法:设置触摸监听器 83
5.2.5 setPressed方法:设置按下状态 84
5.2.6 setClickable方法:设置是否可按 85
5.2.7 setLongClickable方法:设置是否可长按 85
5.3 EditText类:编辑框 86
5.3.1 setText方法:设置文本内容 86
5.3.2 getText方法:获取显示内容 87
5.3.3 setSelection方法:设置文本选择 88
5.3.4 setHint方法:设置提示信息 89
5.3.5 setOnKeyListener方法:设置按键监听器 89
5.4 DatePicker类:日期选择 91
5.4.1 init方法:初始化控件 91
5.4.2 OnDateChangedListener方法:日期更改监听器 91
5.4.3 updateDate方法:更新日期 92
5.4.4 getYear方法:获取年份 93
5.4.5 getMonth方法:获取月份 93
5.4.6 getDayOfMonth方法:获取日数 93
5.5 TimePicker类:时间选择 94
5.5.1 setCurrentHour方法:设置当前小时 95
5.5.2 setCurrentMinute方法:设置当前分钟 95
5.5.3 setIs24HourView方法:设置是否24小时制 95
5.5.4 setOnTimeChangedListener方法:设置时间更改监听器 96
5.5.5 getCurrentHour方法:获取当前小时 97
5.5.6 getCurrentMinute方法:获取当前分钟 97
5.5.7 is24HourView方法:获取是否为24小时制 97
5.6 ProgressBar类:进度条 98
5.6.1 setMax方法:设置最大值 99
5.6.2 setProgress方法:设置主要进度 99
5.6.3 setSecondaryProgress方法:设置次要进度 99
5.6.4 getMax方法:获取最大值 99
5.6.5 getProgress方法:获取主要进度 100
5.6.6 getSecondaryProgress方法:获取次要进度 100
5.7 SeekBar类:滑块 100
5.8 RatingBar类:星级滑块 102
5.8.1 setMax方法:设置最大值 102
5.8.2 setNumStars方法:设置星型数量 102
5.8.3 setRating方法:设置分数 102
5.8.4 setStepSize方法:设置步长 103
5.8.5 setOnRatingBarChangeListener方法:设置监听器 103
5.8.6 getNumStars方法:获取星型数量 104
5.8.7 getRating方法:获取分数 104
5.8.8 getStepSize方法:获取步长 104
5.8.9 setIsIndicator方法:设置指示器 105
5.8.10 isIndicator方法:判断是否为指示器 106
5.9 ToggleButton类:状态开关按钮 106
5.9.1 setTextOff方法:设置未选中时的文本 106
5.9.2 setTextOn方法:设置选中时的文本 106
5.9.3 setChecked方法:设置按钮状态 106
5.9.4 setBackgroundDrawable方法:设置背景 107
5.9.5 setOnCheckedChangeListener方法:设置监听器 108
5.9.6 getTextOff方法:获取未选中时的文本 108
5.9.7 getTextOn方法:获取选中时的文本 108
5.10 Toast类:弹出信息框 109
5.10.1 cancel方法:关闭Toast视图 110
5.10.2 getDuration方法:获取持续时间 110
5.10.3 getGravity方法:获取Toast视图的显示位置 111
5.10.4 getHorizontalMargin方法:获取水平方向的页边空白 111
5.10.5 getVerticalMargin方法:获取垂直方向的页边空白 112
5.10.6 makeText方法:生成标准Toast对象 112
5.10.7 setView方法:设置显示的View对象 113
5.10.8 getView方法:获取View对象 114
5.10.9 setGravity方法:设置显示位置 114
5.10.10 getXOffset方法:获取水平方向偏移量 115
5.10.11 getYOffset方法:获取垂直方向偏移量 115
5.10.12 setDuration方法:设置持续时间 116
5.10.13 setMargin方法:设置页边空白 117
5.10.14 setText方法:设置显示的文本内容 117
5.10.15 show方法:显示提示信息 118
5.11 CheckBox类:复选框 119
5.11.1 isChecked方法:是否选中 119
5.11.2 setChecked方法:设置复选框状态 120
5.11.3 toggle方法:切换状态 120
5.11.4 setOnCheckedChangeListener方法:设置监听器 121
5.12 RadioButton类和RadioGroup类:单选框 123
5.12.1 setOnCheckedChangeListener 方法:设置监听器 123
5.12.2 check方法:选中选项 124
5.12.3 clearCheck方法:清空选项 125
5.13 ImageView类:图片 126
5.13.1 setImageResource方法:设置图片资源 126
5.13.2 setImageDrawable方法:设置Drawable图片资源 127
5.13.3 setAlpha方法:设置透明度 127
5.13.4 setScaleType方法:设置填充方式 128
5.13.5 getDrawable方法:获取Drawable对象 129
5.13.6 getScaleType方法:获取填充方式 129
5.14 Spinner类:下拉列表 129
5.14.1 setAdapter方法:设置适配器 130
5.14.2 setPrompt方法:设置标题 130
5.14.3 setPromptId方法:指定标题ID 131
5.14.4 getPrompt方法:获取标题 131
5.14.5 setOnItemSelectedListener方法:设置监听器 132
5.15 AutoCompleteTextView类:自动完成文本框 133
5.15.1 setAdapter方法:设置适配器 134
5.15.2 setThreshold方法:设置匹配字符数 134
5.15.3 setCompletionHint方法:设置提示信息 135
5.15.4 setDropDownBackgroundResource方法:设置背景资源 136
5.15.5 setDropDownBackgroundDrawable方法:设置Drawable背景资源 136
5.15.6 setDropDownWidth方法:设置宽度 137
5.15.7 setDropDownHeight方法:设置高度 137
5.15.8 setOnItemClickListener方法:设置监听器 138
5.15.9 getThreshold方法:获取匹配字符数 138
5.15.10 getDropDownWidth方法:获取宽度 139
5.15.11 getDropDownHeight方法:获取高度 139
5.16 Gallery类:画廊 139
5.16.1 setAdapter方法:设置适配器 139
5.16.2 setSpacing方法:设置图片间距 140
5.16.3 setOnItemClickListener方法:设置监听器 142
5.16.4 setGravity方法:设置图片对齐方式 143
5.16.5 setAnimationDuration方法:设置动画切换时间 144
5.17 小结 145
第6章 Android菜单和对话框 146
菜单和对话框是应用程序UI设计不可或缺的一部分。Android系统中提供了三种形式的菜单,包括选项菜单(Options Menu)、子菜单(SubMenu)和上下文菜单(Context Menu)。开发者可以为应用程序添加选项菜单,也可以为界面上的一个View对象添加上下文菜单。Android系统同时还提供了多种形式的对话框,可以加强用户与应用程序之间的交互。本章将主要介绍Android系统中的菜单和对话框的编程方法。
6.1 Menu类:菜单 146
6.1.1 onCreateOptionsMenu方法:初始化选项菜单 146
6.1.2 add方法:添加菜单项 146
6.1.3 addSubMenu方法:添加子菜单项 147
6.1.4 onOptionsItemSelected方法:选中菜单处理 148
6.1.5 onOptionsMenuClosed方法:选项菜单关闭处理 149
6.2 MenuItem类:菜单项 150
6.2.1 getItemId方法:获取菜单项ID 151
6.2.2 getTitle方法:获取标题 151
6.2.3 getOrder方法:获取顺序 151
6.2.4 setIcon方法:设置图标 152
6.2.5 setAlphabeticShortcut方法:设置字母快捷键 152
6.2.6 setNumericShortcut方法:设置数字快捷键 154
6.2.7 setShortcut方法:设置快捷键 155
6.2.8 setOnMenuItemClickListener方法:设置监听器 155
6.3 SubMenu类:子菜单 156
6.3.1 setIcon方法:设置图标 156
6.3.2 add方法:添加子菜单项 158
6.3.3 setOnMenuItemClickListener方法:设置监听器 159
6.4 ContextMenu类:上下文菜单 160
6.4.1 registerForContextMenu方法:注册上下文菜单 161
6.4.2 onCreateContextMenu方法:初始化上下文菜单 161
6.4.3 onContextItemSelected方法:选中菜单处理 162
6.4.4 onContextMenuClosed方法:关闭上下文菜单处理 164
6.5 AlertDialog类:提示对话框 165
6.5.1 showDialog方法:显示对话框 166
6.5.2 onCreateDialog方法:初始化对话框 166
6.5.3 setTitle方法:设置标题 166
6.5.4 setMessage方法:设置提示信息 166
6.5.5 create方法:创建对话框 167
6.5.6 setIcon方法:设置图标 168
6.5.7 setPositiveButton方法:设置“确定”按钮 169
6.5.8 setNegativeButton方法:设置“取消”按钮 170
6.5.9 setNeutralButton方法:设置“中间”按钮 173
6.5.10 setItems方法:设置列表 174
6.5.11 setSingleChoiceItems方法:设置单选按钮 176
6.5.12 setMultiChoiceItems方法:设置复选框 178
6.6 DatePickerDialog类:日期选择对话框 180
6.7 TimePickerDialog类:时间选择对话框 182
6.8 ProgressDialog类:进度条对话框 183
6.8.1 setMax方法:设置最大值 183
6.8.2 setTitle方法:设置标题 184
6.8.3 setProgressStyle方法:设置进度条样式 184
6.8.4 incrementProgressBy方法:设置递增步长 184
6.8.5 getProgress方法:获取当前进度值 184
6.8.6 onPrepareDialog方法:准备对话框 186
6.8.7 setCancelable方法:设置是否可以取消 188
6.9 小结 190
第7章 Android应用程序模型 191
在Android系统中由不同的组件来管理应用程序,按照功能的不同可以分为Activity(活动程序)、Service(服务)、Content Provider(内容提供器)和Broadcast Receiver(广播接收器)四类组件。组件与组件之间通过Intent(激活组件)来完成通信,应用程序通过View(视图)来向用户展示可视化的界面。正是这些不同的组件将Android程序的各个部分联系在一起,构成了一个完整的功能,这就是Android应用程序模型。
7.1 Activity类:活动程序 191
7.1.1 setContentView方法:设置显示的View 191
7.1.2 finish方法:关闭Activity 192
7.1.3 startActivity方法:启动一个Activity 192
7.1.4 setTitle方法:设置标题 193
7.1.5 setTitleColor方法:设置标题颜色 195
7.1.6 onKeyDown方法:响应按键按下 196
7.1.7 onKeyUp方法:响应按键弹起 197
7.1.8 onTouchEvent方法:响应触摸事件 199
7.1.9 onCreate方法:初始化Activity 199
7.1.10 onStart方法:启动Activity 200
7.1.11 onResume方法:恢复Activity 200
7.1.12 onPause方法:暂停Activity 201
7.1.13 onStop方法:停止Activity 201
7.1.14 onRestart方法:重新启动Activity 201
7.1.15 onDestroy方法:销毁Activity 202
7.2 Intent类:激活组件 205
7.2.1 setComponent方法:设置组件名称 206
7.2.2 setClass方法:设置查找的类 206
7.2.3 setClassName方法:设置查找的类名称 207
7.2.4 getIntent方法:获取Intent对象 208
7.2.5 getComponent方法:获取组件名称 208
7.2.6 setAction方法:设置Action 210
7.2.7 getAction方法:获取Action 210
7.2.8 addCategory方法:添加附加信息 212
7.2.9 putExtra方法:设置扩展信息 213
7.2.10 getStringExtra方法:获取扩展信息 214
7.2.11 setData方法:设置数据 216
7.3 BroadcastReceiver类:广播接收器 217
7.3.1 sendBroadcast方法:发送广播 217
7.3.2 onReceive方法:接收广播 218
7.3.3 registerReceiver方法:注册广播接收器 219
7.3.4 unregisterReciver方法:销毁广播接收器 220
7.4 Notification类:通知 221
7.4.1 setLatestEventInfo方法:设置事件信息 222
7.4.2 notify方法:发出通知 222
7.4.3 cancel方法:取消通知 222
7.5 AlarmManager类:闹钟 224
7.5.1 set方法:设置提醒 224
7.5.2 setRepeating方法:设置精确重复提醒 226
7.5.3 setInexactRepeating方法:设置不精确的重复提醒 228
7.5.4 cancel方法:取消提醒 229
7.6 Service类:服务 230
7.6.1 onBind方法:绑定服务 230
7.6.2 onCreate方法:创建服务 231
7.6.3 onDestroy方法:销毁服务 231
7.6.4 onStart方法:启动服务 231
7.6.5 startService方法:启动Service对象 232
7.6.6 stopService方法:停止Service对象 232
7.6.7 bindService方法:绑定Service 234
7.6.8 unbindService方法:解除绑定Service 235
7.7 小结 237
第8章 Android绘图 238
Android系统提供了华丽的界面效果,对于开发者来说,同样可以使用丰富的绘图资源,从而使自己的应用程序更加丰富多彩。在Android系统中,主要通过Graphics软件包来绘制图形。Graphics软件包中提供了Canvas(画布)、Paint(画笔)等常用的类,通过这些类中的方法,可以方便地绘制点、线、颜色以及各种几何图形等。在Android系统中,几乎所有的游戏都可用Android绘图来实现。
8.1 Paint类:画笔 238
8.1.1 setColor方法:设置颜色 238
8.1.2 setAlpha方法:设置透明度 240
8.1.3 setStyle方法:设置风格 240
8.1.4 setStrokeWidth方法:设置空心线宽 241
8.1.5 setTextSize方法:设置字体大小 242
8.1.6 setTypeface方法:设置字体样式 243
8.1.7 setTextScaleX方法:设置比例因子 244
8.1.8 setARGB方法:设置透明度和颜色 245
8.1.9 setUnderlineText方法:设置下画线 245
8.1.10 setTextSkewX方法:设置倾斜因子 246
8.2 Canvas类:画布 248
8.2.1 drawColor方法:设置背景颜色 248
8.2.2 drawLine方法:绘制直线 248
8.2.3 drawLines方法:绘制多条直线 249
8.2.4 drawLines方法:有选择地绘制多条直线 250
8.2.5 drawPoint方法:绘制点 251
8.2.6 drawPoints方法:绘制多个点 251
8.2.7 drawRect方法:绘制矩形 253
8.2.8 drawRoundRect方法:绘制圆角矩形 253
8.2.9 drawCircle方法:绘制圆形 255
8.2.10 drawOval方法:绘制椭圆形 255
8.2.11 drawPath方法:绘制任意多边形 257
8.2.12 drawArc方法:绘制圆弧 257
8.2.13 drawText方法:绘制字符串 258
8.2.14 drawBitmap方法:绘制图像 260
8.2.15 save方法:锁定画布 261
8.2.16 restore方法:解除锁定 261
8.2.17 clipRect方法:设置裁剪区 261
8.2.18 rotate方法:旋转画布 262
8.3 小结 264
第9章 Android动画效果 265
Android系统提供了两种实现动画的方式,一种是补间动画(Tween Animation),另一种是帧动画(Frame Animation)。补间动画可以实现View组件的移动、放大、缩小以及渐变等效果,帧动画则提供了一种逐帧播放图片的动画方式。无论是补间动画还是帧动画,Android均为其进行了封装,提供了非常简单的应用接口。
9.1 Animation类:动画抽象类 265
9.1.1 setDuration方法:设置持续时间 265
9.1.2 startNow方法:立刻启动动画 265
9.1.3 start方法:启动动画 266
9.1.4 cancel方法:取消动画 266
9.1.5 setRepeatCount方法:设置重复次数 268
9.1.6 setFillEnabled方法:使能填充效果 269
9.1.7 setFillBefore方法:设置起始填充 269
9.1.8 setFillAfter方法:设置终止填充 270
9.1.9 setRepeatMode方法:设置重复模式 271
9.1.10 setStartOffset方法:设置启动时间 273
9.2 TranslateAnimation类:位置变化动画类 273
9.3 RotateAnimation类:旋转变化动画类 275
9.4 ScaleAnimation类:尺寸变化动画类 276
9.5 AlphaAnimation类:透明度变化动画类 277
9.6 AnimationSet类:动画集合类 278
9.7 AnimationUtils类:动画工具类 280
9.8 AnimationDrawable类:帧动画类 282
9.8.1 start方法:开始动画 282
9.8.2 stop方法:停止动画 283
9.8.3 addFrame方法:添加动画帧 285
9.8.4 setOneShot方法:设置播放方式 286
9.8.5 setAlpha方法:设置透明度 286
9.8.6 getNumberOfFrames方法:获取帧数 287
9.9 小结 289
第10章 Android数据库 290
在Android系统中为了有效地对数据进行管理,其提供了SQLite数据库引擎来实现结构化数据存储。SQLite是一种嵌入式的数据库引擎,占用资源非常少,因此广泛应用于嵌入式设备中。SQLite没有提供服务器进程,其所有的数据都包含在同一个文件中。Android系统主要通过SQLiteDatabase类、SQLiteOpenHelper类和Cursor接口来对数据库进行操作,可以完成数据的增加、删除、更新和查找等基本操作,同时也可以执行大多数的SQL语句。
10.1 SQLiteDatabase类:数据库对象 290
10.1.1 openOrCreateDatabase方法:打开或创建数据库 290
10.1.2 openDatabase方法:打开数据库 291
10.1.3 close方法:关闭数据库 292
10.1.4 execSQL方法:执行SQL语句 292
10.1.5 insert方法:插入数据 293
10.1.6 delete方法:删除数据 295
10.1.7 query方法:查询数据 297
10.1.8 update方法:更新数据 298
10.2 Cursor接口:查询游标接口 300
10.2.1 close方法:关闭游标 300
10.2.2 getCount方法:获取数据条数 301
10.2.3 getColumnCount方法:获取列数量 303
10.2.4 getColumnIndex方法:获取列编号 304
10.2.5 getColumnIndexOrThrow方法: 获取列编号 305
10.2.6 getColumnName方法:获取列名称 306
10.2.7 getString方法:获取字符串内容 307
10.2.8 getDouble方法:获取双精度浮点型内容 308
10.2.9 getFloat方法:获取单精度浮点型内容 308
10.2.10 getInt方法:获取整型内容 308
10.2.11 getLong方法:获取长整型内容 308
10.2.12 getShort方法:获取短整型内容 309
10.2.13 getType方法:获取数据类型 309
10.2.14 moveToFirst方法:移动到第一行 309
10.2.15 moveToNext方法:移动到下一行 309
10.2.16 moveToLast方法:移动到最后一行 310
10.2.17 moveToPosition方法:移动到指定的位置 311
10.2.18 moveToPrevious方法:移动到前一行 312
10.2.19 move方法:移动到指定偏移位置 313
10.2.20 getPosition方法:获取当前位置 314
10.3 小结 315
第11章 Android多媒体 316
Android提供了丰富的多媒体表现形式,包括音乐播放、视频播放和录音等。Android系统提供了MediaPlayer类来完成多媒体播放、VideoView类来完成视频播放和MediaRecorder类来完成录音。Android对常用的多媒体格式提供了支持,例如3GP、MP3和WAV等音频格式,以及3GP、MP4等视频格式。Android对多媒体操作进行了全面的封装,通过简单的代码便可以完成常见的多媒体展示,同时还可以播放网络上的多媒体文件。
11.1 MediaPlayer类:多媒体播放 316
11.1.1 create方法:创建多媒体 316
11.1.2 start方法:开始播放 317
11.1.3 stop方法:停止播放 318
11.1.4 pause方法:暂停播放 319
11.1.5 reset方法:复位多媒体 320
11.1.6 setDataSource方法:设置数据源 321
11.1.7 prepare方法:准备播放 321
11.1.8 seekTo方法:指定播放位置 323
11.1.9 getDuration方法:获取文件播放时间 324
11.1.10 setVolume方法:设置音量 326
11.1.11 setLooping方法:设置循环播放 328
11.1.12 getCurrentPosition方法:获取当前播放位置 330
11.1.13 isLooping方法:获取是否循环播放 330
11.1.14 isPlaying方法:获取是否播放 331
11.1.15 setOnCompletionListener方法:设置播放完成监听器 331
11.1.16 setOnSeekCompleteListener方法:设置寻址完成监听器 332
11.1.17 setOnPreparedListener方法:设置准备完毕监听器 334
11.1.18 setOnErrorListener方法:设置错误监听器 335
11.1.19 setOnBufferingUpdateListener方法:设置缓冲监听器 335
11.1.20 release方法:释放多媒体 335
11.2 VideoView类:视频播放 335
11.2.1 setMediaController方法:设置播放控制器 335
11.2.2 setVideoPath方法:设置视频源路径 336
11.2.3 start方法:开始播放 336
11.2.4 pause方法:暂停播放 337
11.2.5 setVideoURI方法:设置视频源地址 338
11.2.6 setVisibility方法:设置是否可见 339
11.2.7 getDuration方法:获取视频播放时间 341
11.2.8 setOnCompletionListener方法: 视频播放完成监听器 342
11.2.9 setOnPreparedListener方法:视频准备完毕监听器 344
11.2.10 setOnErrorListener方法:视频播放错误监听器 344
11.2.11 seekTo方法:指定视频播放位置 344
11.2.12 getCurrentPosition方法:获取当前视频播放位置 346
11.2.13 getBufferPercentage方法:获取缓冲百分比 347
11.2.14 stopPlayback方法:停止回放视频 347
11.2.15 isPlaying方法:获取是否播放 348
11.2.16 canPause方法:获取是否可以暂停 348
11.2.17 canSeekBackward方法:获取是否可以倒退 348
11.2.18 canSeekForward方法:获取是否可以快进 348
11.2.19 suspend方法:挂起视频播放 350
11.2.20 resume方法:恢复视频播放 350
11.3 MediaRecorder类:录音 352
11.3.1 让模拟器支持录音 352
11.3.2 setAudioSource方法:设置音频源 354
11.3.3 setOutputFormat方法:设置输出文件格式 354
11.3.4 setAudioEncoder方法:设置音频编码 355
11.3.5 setOutputFile方法:设置输出文件 355
11.3.6 prepare方法:准备录制 355
11.3.7 start方法:开始录制 356
11.3.8 stop方法:停止录制 356
11.3.9 release方法:释放对象 358
11.3.10 reset方法:复位对象 359
11.3.11 setOnInfoListener方法:设置信息监听器 359
11.3.12 setMaxFileSize方法:设置文件的最大大小 359
11.3.13 setMaxDuration方法:设置最大录制时间 361
11.3.14 setOnErrorListener方法:设置错误监听器 363
11.3.15 setAudioChannels方法:设置声道数量 363
11.3.16 setAudioEncodingBitRate方法:设置编码比特率 363
11.3.17 setAudioSamplingRate方法:设置采样比特率 363
11.4 小结 365
第12章 Android照相机 366
照相机已经成为手机的一个标配。Android手机同样提供了完善的照相机功能。Android系统在android.hardware软件包中提供了与照相机相关的一些类和方法。通过这些方法,应用程序可以完成拍照、录像、获取相机参数和修改设置相机参数等操作。本章将主要介绍Camera类和Camera.Parameters类。
12.1 Camera类:照相机 366
12.1.1 open方法:打开照相机 367
12.1.2 takePicture方法:拍照 367
12.1.3 release方法:释放照相机 367
12.1.4 PictureCallback方法:照片回调函数 368
12.1.5 ShutterCallback方法:拍照回调函数 369
12.1.6 getNumberOfCameras方法:获取照相机数量 371
12.1.7 startPreview方法:开始预览 372
12.1.8 stopPreview方法:停止预览 373
12.1.9 setPreviewDisplay方法:设置预览 373
12.1.10 getParameters方法:获取相机参数 375
12.1.11 setParameters方法:设置相机参数 375
12.1.12 autoFocus方法:设置自动对焦 377
12.1.13 cancelAutoFocus方法:取消自动对焦 378
12.1.14 unlock方法:解锁相机 378
12.1.15 reconnect方法:重新连接相机 378
12.1.16 startSmoothZoom方法:开始变焦 378
12.2 Camera.Parameters类:照相机参数 379
12.2.1 getSupportedPictureSizes方法:获取支持的图片大小 379
12.2.2 getMaxExposureCompensation方法:获取最大曝光补偿指数 380
12.2.3 getMaxZoom方法:获取最大变焦值 381
12.2.4 getMinExposureCompensation方法:获取最低曝光补偿指数 382
12.2.5 getPictureFormat方法:获取图片格式 383
12.2.6 getPictureSize方法:获取当前照片尺寸 385
12.2.7 getPreviewFormat方法:获取预览格式 385
12.2.8 getPreviewSize方法:获取预览尺寸 387
12.2.9 getSupportedColorEffects方法:获取支持的色彩效果列表 388
12.2.10 getSupportedFlashModes方法:获取支持的闪光灯模式列表 389
12.2.11 getSupportedFocusModes方法:获取支持的对焦模式列表 390
12.2.12 getSupportedJpegThumbnailSizes方法:获取支持的JPEG 缩略图尺寸 392
12.2.13 getSupportedPictureFormats方法:获取支持的图片格式列表 393
12.2.14 getSupportedPreviewFormats 方法:获取支持的预览格式列表 394
12.2.15 getSupportedPreviewSizes方法: 获取支持的预览大小 395
12.2.16 getSupportedSceneModes方法:获取支持的场景模式 396
12.2.17 getSupportedWhiteBalance方法:获取支持的白平衡 397
12.2.18 getWhiteBalance方法:获取当前白平衡设置 399
12.2.19 getZoom方法:获取当前变焦值 400
12.2.20 isZoomSupported方法:获取是否支持变焦 402
12.2.21 isSmoothZoomSupported方法:获取是否支持平滑变焦 403
12.2.22 getColorEffect方法:获取当前色彩效果 404
12.2.23 getFlashMode方法:获取当前闪光灯模式 406
12.2.24 getFocalLength方法:获取焦距 408
12.2.25 getFocusMode方法:获取当前对焦模式 409
12.2.26 getSceneMode方法:获取当前场景模式 411
12.3 小结 414
第13章 Android语音朗读 415
Android系统提供了一个非常有意思的功能,能够将用户输入的文本内容朗读出来。Android系统的文本语音朗读功能通过TextToSpeech来实现。目前,Android系统提供了英语、法语、德语、意大利语和西班牙语的文本语音转换功能,但暂时还不支持中文朗读功能。其中,英语还可以选择美式发音或者英式发音。通过Android语音朗读可以实现很多有趣的应用,例如短信自动阅读、电子书朗读软件等。
13.1 TextToSpeech类:文本朗读 415
13.1.1 TextToSpeech方法:构造方法 415
13.1.2 shutdown方法:释放引擎 416
13.1.3 speak方法:朗读文本 416
13.1.4 stop方法:停止播放 418
13.1.5 isSpeaking方法:是否正在朗读 419
13.1.6 synthesizeToFile方法:保存朗读文件 421
13.1.7 setLanguage方法:设置朗读语言 422
13.1.8 getLanguage方法:获取语言 424
13.1.9 isLanguageAvailable方法:语言是否可用 426
13.1.10 setSpeechRate方法:设置语速 428
13.1.11 setOnUtteranceCompletedListener方法:设置播放完成监听器 430
13.1.12 addSpeech方法:关联音频文件 432
13.1.13 setPitch方法:设置音调 433
13.1.14 addEarcon方法:关联事件音频文件 435
13.1.15 playEarcon方法:播放关联文件 436
13.1.16 playSilence方法:静默朗读 437
13.2 小结 439
第14章 Android系统信息 440
Android作为开放式系统,其通过Android.OS软件包提供了对丰富的系统信息的操作和获取。其中,build类和Environment类是比较常用的两个类。build类提供了对一些直接与硬件相关的信息的获取,例如硬件厂商、序列号和SDK版本等信息,这些信息表征了系统的基本特征。Environment类则提供了对一些常用的Android环境变量的获取,包括典型的文件目录以及SD卡的状态等。常见的一些Android系统管理类应用程序都会用到这些方法。
14.1 build类:构建信息 440
14.1.1 MODEL方法:手机型号 440
14.1.2 SDK方法:SDK版本号 441
14.1.3 SDK_INT方法:SDK版本号 443
14.1.4 RELEASE方法:获取系统版本 443
14.1.5 BOOTLOADER方法:bootloader版本号 444
14.1.6 BOARD方法:底层板名称 445
14.1.7 BRAND方法:品牌 445
14.1.8 CPU_ABI方法:指令集 446
14.1.9 CPU_ABI2方法:第二指令集 447
14.1.10 DEVICE方法:工业设计名称 448
14.1.11 DISPLAY方法:显示 448
14.1.12 FINGERPRINT方法:构建的唯一标识符 449
14.1.13 HARDWARE方法:硬件名称 450
14.1.14 HOST方法:主机 451
14.1.15 ID方法:ID标签 452
14.1.16 MANUFACTURER方法:制造商 453
14.1.17 PRODUCT方法:产品名称 454
14.1.18 RADIO方法:无线电固件版本号 455
14.1.19 SERIAL方法:硬件序列号 455
14.1.20 TAGS方法:标签 456
14.1.21 TIME方法:出厂时间 456
14.1.22 TYPE方法:构建类型 457
14.1.23 USER方法:构建用户名称 458
14.1.24 CODENAME方法:开发代号 459
14.1.25 INCREMENTAL方法:构建增量 460
14.2 Environment类:环境变量类 461
14.2.1 getDataDirectory方法:获取数据目录 461
14.2.2 getDownloadCacheDirectory方法:获取下载缓存目录 462
14.2.3 getExternalStorageDirectory方法: 获取外部存储目录 463
14.2.4 getRootDirectory方法:获取Root目录 464
14.2.5 getExternalStoragePublicDirectory方法:获取特定类型目录 466
14.2.6 getExternalStorageState方法:获取外部存储状态 467
14.2.7 isExternalStorageEmulated方法:检查是否有外部存储设备模拟 469
14.2.8 isExternalStorageRemovable方法:外部存储设备是否可以移除 470
14.3 小结 471
第15章 Android电话操作 472
Android系统最初的目标便是开放的移动通信系统,因此电话功能是Android系统的一个最基本功能。Android系统提供了完整的电话操作,目前支持gsm和cdma类型的手机信号,而且还支持相应的3G信号。android.telephony.gsm软件包适用于gsm类型的手机,android.telephony.cdma软件包适用于cdma类型的手机。后来Android系统提供了统一的android.telephony软件包统一管理gsm和cdma手机的电话操作。通过该软件包中丰富的方法,应用程序可以进行电话管理、获取信号强度、了解服务状态以及发送短信等。
15.1 TelephonyManager类:电话管理 472
15.1.1 getCallState方法:获取电话状态 472
15.1.2 getDeviceId方法:获取设备ID 473
15.1.3 getDeviceSoftwareVersion方法:获取软件版本号 475
15.1.4 getLine1Number方法:获取本机号码 476
15.1.5 getNetworkCountryIso方法:获取国家码 477
15.1.6 getNetworkOperator方法:获取网络操作号 478
15.1.7 getNetworkType方法:获取网络类型 479
15.1.8 getPhoneType方法:获取手机类型 481
15.1.9 getSimCountryIso方法:获取SIM卡的国家码 482
15.1.10 getSimState方法:获取SIM的状态信息 483
15.1.11 getSimOperator方法: 获取SIM卡的操作码 485
15.1.12 getSimOperatorName方法:获取服务商 485
15.1.13 getSimSerialNumber方法:获取SIM卡的序列号 487
15.1.14 getSubscriberId方法:获取用户唯一ID 487
15.1.15 getVoiceMailAlphaTag方法:获取语音邮件识别码 489
15.1.16 hasIccCard方法:ICC卡是否存在 489
15.1.17 isNetworkRoaming方法:获取漫游状态 491
15.1.18 getVoiceMailNumber方法:获取语音邮件号码 492
15.1.19 getDataState方法:获取数据连接状态 493
15.1.20 getDataActivity方法:获取数据活动状态 494
15.2 SignalStrength类:信号强度 496
15.2.1 isGsm方法:判断是否为GSM 497
15.2.2 getGsmBitErrorRate方法:获取误码率 498
15.2.3 getGsmSignalStrength方法:获取信号强度 499
15.2.4 getCdmaDbm方法:获取CDMA信号的接收强度 501
15.2.5 getCdmaEcio方法:获取CDMA信号的导频信号水平 501
15.2.6 getEvdoDbm方法:获取EVDO信号的接收强度 502
15.2.7 getEvdoEcio方法:获取EVDO信号的导频信号水平 502
15.2.8 getEvdoSnr方法:获取EVDO信号的信噪比 502
15.3 ServiceState类:服务状态 502
15.3.1 setState方法:设置手机的服务状态 503
15.3.2 setStateOff方法:关闭服务 504
15.3.3 setStateOutOfService方法:设置无服务 505
15.3.4 getState方法:获取服务状态 506
15.3.5 setRoaming方法:设置漫游状态 508
15.3.6 getRoaming方法:获取漫游状态 509
15.3.7 setOperatorName方法:设置运营商名称 511
15.3.8 getOperatorAlphaLong方法:获取运营商名称 512
15.3.9 getOperatorAlphaShort方法:获取运营商简称 512
15.3.10 getOperatorNumeric方法:获取运营商代码 512
15.3.11 setIsManualSelection方法:设置手动选择网络 514
15.3.12 getIsManualSelection方法:是否手动选择网络 515
15.4 SmsManager类:短消息管理 517
15.4.1 sendTextMessage方法:发送短信 517
15.4.2 divideMessage方法:分割短信 518
15.4.3 sendMultipartTextMessage方法:发送多条短信 519
15.5 小结 521
第16章 Android定位 522
GPS定位是移动设备的一个非常重要和有用的功能。Android系统提供了多种定位服务方式,包括GPS定位、网络定位等。Google Map和Google Earth便是非常典型的应用例子。Android系统的定位服务通过android.location软件包来实现,应用程序不但可以获取定位的位置数据,还可以获取参与定位的GPS卫星参数等信息。本章将主要介绍与Android定位有关的类和方法。
16.1 LocationManager类:定位服务管理 522
16.1.1 getLastKnownLocation方法:获取最新位置 523
16.1.2 getAllProviders方法:获取所有位置提供者 524
16.1.3 getProviders方法:获取可用位置提供者 526
16.1.4 isProviderEnabled方法:获取位置提供者是否使能 527
16.1.5 getBestProvider方法:获取最佳的位置提供者 528
16.1.6 getProvider方法:获取位置提供者 530
16.1.7 requestLocationUpdates方法:请求位置更新 532
16.1.8 removeUpdates方法:移除位置更新请求 533
16.1.9 addGpsStatusListener方法:添加GPS状态监听器 536
16.1.10 getGpsStatus方法:获取GPS状态 537
16.1.11 removeGpsStatusListener方法:移除GPS状态监听器 539
16.2 GpsStatus类:GPS状态 540
16.2.1 getTimeToFirstFix方法:获取首次定位时间 540
16.2.2 getMaxSatellites方法:获取最大卫星数量 542
16.2.3 getSatellites方法:获取GPS卫星状态 544
16.3 GpsSatellite类:GPS卫星 545
16.3.1 getAzimuth方法:获取方位角 545
16.3.2 getElevation方法:获取高度角 545
16.3.3 getPrn方法:获取伪随机数 545
16.3.4 getSnr方法:获取信噪比 545
16.4 Location类:位置信息 548
16.4.1 getLatitude方法:获取纬度 548
16.4.2 getLongitude方法:获取经度 550
16.4.3 getSpeed方法:获取速度 551
16.4.4 getAccuracy方法:获取精确度 553
16.4.5 getBearing方法:获取方位 555
16.4.6 getTime方法:获取UTC时间 556
16.4.7 getAltitude方法:获取高度 557
16.4.8 getProvider方法:获取位置提供者 559
16.5 Criteria类:筛选标准 561
16.5.1 setAccuracy方法:设置定位精度 562
16.5.2 setSpeedRequired方法:设置是否需要速度 562
16.5.3 setCostAllowed方法:设置是否允许收费 562
16.5.4 setBearingRequired方法:设置是否需要方位 562
16.5.5 setAltitudeRequired方法:设置是否需要海拔 563
16.5.6 setPowerRequirement方法:设置电量消耗 563
16.6 小结 564
第17章 Android传感器 565
Android系统中内置了多种传感器,例如距离传感器、重力传感器、光传感器等。利用这些丰富的传感器,可以使手机变为强大的环境测量工具。同时,也可以实现多种多样很有趣的应用程序,例如水平仪、重力感应的游戏等。Android的传感器由android.hardware软件包来提供支持,本章便介绍与Android传感器有关的类和方法。
17.1 SensorManager类:传感器管理 565
17.1.1 getSensorList方法:获取传感器列表 565
17.1.2 getDefaultSensor方法:获取默认传感器 567
17.1.3 registerListener方法:注册监听器 568
17.1.4 unregisterListener方法:取消注册监听器 569
17.2 Sensor类:传感器 571
17.2.1 getName方法:获取传感器的设备名称 572
17.2.2 getVersion方法:获取传感器的设备版本 573
17.2.3 getType方法:获取通用类型号 575
17.2.4 getVendor方法:获取供应商名称 577
17.2.5 getPower方法:获取传感器的功耗 578
17.2.6 getResolution方法:获取传感器的分辨率 580
17.2.7 getMaximumRange方法:获取传感器的最大量程 583
17.2.8 getMinDelay方法:获取传感器的最短时间间隔 584
17.3 小结 586
第1章 Android概述 1
Android是Google公司开发的一种基于Linux 2.6内核的智能手机操作系统。虽然Android诞生到现在仅经历了短短的4年时间,但聚集了大量的人气,已经超越了其他智能手机系统。目前,Android系统已经广泛应用于手机平台,并扩展到平板电脑、车载导航仪等领域。本章首先带领大家一览 Android的风采,后续章节将深入到Android 开发的各个方面。
1.1 智能手机操作系统现状 1
1.1.1 Linux系统 1
1.1.2 Windows Mobile系统 2
1.1.3 Symbian系统 2
1.1.4 iOS系统 3
1.1.5 BlackBerry系统 3
1.1.6 Palm系统 4
1.2 Android系统简介 4
1.2.1 开放手机联盟 4
1.2.2 Android的特性 5
1.2.3 Android与其他主流操作系统的对比 6
1.3 Android系统构架 7
1.4 Android应用程序组件 8
1.4.1 Activity活动程序 8
1.4.2 Service服务程序 9
1.4.3 BroadcastReceiver广播接收器 9
1.4.4 ContentProvider内容提供器 10
1.4.5 Intent激活组件 10
1.4.6 View视图组件 11
1.5 Android Market应用程序市场 11
1.6 Android国内衍生版本 12
1.6.1 Ophone 12
1.6.2 Lephone 13
1.6.3 点心OS 13
1.7 小结 14
第2章 搭建Android开发环境 15
古语云:工欲善其事,必先利其器。在展开Android智能手机开发之前,我们必须有一个易用的开发环境。Google公司提供了完善的Android SDK开发包,并通过Java语言来进行开发。我们通过Eclipse集成开发环境和Android SDK开发包中的工具便可以很方便地创建Android应用程序。现在就让我们开始建立属于自己的Android智能手机开发环境吧。
2.1 Android开发环境要求 15
2.2 如何搭建Android开发环境 16
2.2.1 安装JDK 16
2.2.2 安装Eclipse 18
2.2.3 安装Android SDK 19
2.2.4 安装ADT插件 21
2.2.5 安装Eclipse中文插件 25
2.3 Android模拟器AVD 26
2.3.1 创建AVD 27
2.3.2 运行AVD 29
2.3.3 AVD界面及基本操作 30
2.3.4 AVD与手机的区别 32
2.4 Android开发常用工具及命令 33
2.4.1 ADB工具 33
2.4.2 DDMS工具 34
2.4.3 AAPT工具 36
2.4.4 Mksdcard工具 36
2.4.5 DX工具 36
2.4.6 Android Monkey工具 36
2.4.7 Traceview工具 37
2.5 小结 37
第3章 Android开发起步 38
Android程序开发使用的是Java语言。我们可以使用Eclipse集成开发环境和Google提供的ADT插件来完成应用程序的创建、开发和调试。本章将带领读者熟悉一下Android应用程序开发的全过程,并重点分析一下Android应用程序结构以及Android中生命周期的概念。
3.1 创建第一个Android程序 38
3.2 通过模拟器运行Android程序 40
3.3 Android程序结构分析 41
3.3.1 src目录 42
3.3.2 gen目录 42
3.3.3 android.jar文件 43
3.3.4 res目录和assets目录 43
3.3.5 AndroidManifest.xml文件 44
3.4 Android生命周期 45
3.4.1 进程优先级 45
3.4.2 Activity的生命周期 46
3.4.3 Service的生命周期 50
3.4.4 BroadcastReceiver的生命周期 50
3.5 小结 51
下篇 Android API详解
第4章 Android应用程序资源 52
Android系统具有高度的灵活性,Android应用程序除了根据需要自由设计外,还可以使用系统内置的一些颜色、字符串、布局等资源。另外,Android系统要求每一个应用程序在访问某些关键硬件的时候都需要事先获取权限,这样便加强了系统的安全性。本章将介绍主要的Android应用程序权限和资源,这些在以后的程序中都会经常用到。
4.1 Manifest.permission类:应用程序权限 52
4.1.1 什么是应用程序权限 52
4.1.2 Android应用程序权限 53
4.1.3 Android应用程序权限示例 56
4.2 Manifest.permission_group类:应用程序权限组 57
4.3 R类:资源类 58
4.3.1 R.string类:字符串资源 58
4.3.2 R.color类:颜色资源 59
4.3.3 R.layout类:布局资源 60
4.3.4 R.drawable类:绘图资源 61
4.3.5 R.id类:ID资源 65
4.4 小结 67
第5章 Android控件 68
Android系统拥有华丽的操作界面,这一点毫不亚于iPhone手机,使得Android手机深受用户的喜爱。在Android系统中,提供了史上最丰富、最华丽的控件,设计者可以轻松地实现各具特色的控件及界面效果,增强用户体验。本章将详细介绍Android系统中常用的控件及其编程方法。
5.1 TextView类:文本框 68
5.1.1 append方法:追加文字 68
5.1.2 addTextChangedListener方法:添加文本更改监听器 69
5.1.3 setText方法:设置文本 70
5.1.4 setTextSize方法:设置字体大小 71
5.1.5 setTextColor方法:设置字体颜色 72
5.1.6 setTypeface方法:设置字体样式 73
5.1.7 setBackgroundColor方法:设置背景颜色 73
5.1.8 setHeight方法:设置文本框高度 74
5.1.9 getCurrentTextColor方法:获取当前字体颜色 75
5.1.10 getText方法:获取文本框内容 76
5.1.11 getHeight方法:获取文本框高度 77
5.1.12 getWidth方法:获取文本框宽度 77
5.1.13 setPadding方法:设置内边距 78
5.1.14 getPaddingLeft方法:获取文本框左 侧内边距 79
5.1.15 getPaddingTop方法:获取文本框上部内边距 79
5.1.16 getPaddingRight方法:获取文本框右侧内边距 80
5.1.17 getPaddingBottom方法:获取文本框下部内边距 80
5.2 Button类:按钮 81
5.2.1 setOnClickListener方法:设置按钮监听器 81
5.2.2 setOnLongClickListener方法:设置长按监听器 81
5.2.3 setOnFocusChangeListener方法:设置焦点改变监听器 82
5.2.4 setOnTouchListener方法:设置触摸监听器 83
5.2.5 setPressed方法:设置按下状态 84
5.2.6 setClickable方法:设置是否可按 85
5.2.7 setLongClickable方法:设置是否可长按 85
5.3 EditText类:编辑框 86
5.3.1 setText方法:设置文本内容 86
5.3.2 getText方法:获取显示内容 87
5.3.3 setSelection方法:设置文本选择 88
5.3.4 setHint方法:设置提示信息 89
5.3.5 setOnKeyListener方法:设置按键监听器 89
5.4 DatePicker类:日期选择 91
5.4.1 init方法:初始化控件 91
5.4.2 OnDateChangedListener方法:日期更改监听器 91
5.4.3 updateDate方法:更新日期 92
5.4.4 getYear方法:获取年份 93
5.4.5 getMonth方法:获取月份 93
5.4.6 getDayOfMonth方法:获取日数 93
5.5 TimePicker类:时间选择 94
5.5.1 setCurrentHour方法:设置当前小时 95
5.5.2 setCurrentMinute方法:设置当前分钟 95
5.5.3 setIs24HourView方法:设置是否24小时制 95
5.5.4 setOnTimeChangedListener方法:设置时间更改监听器 96
5.5.5 getCurrentHour方法:获取当前小时 97
5.5.6 getCurrentMinute方法:获取当前分钟 97
5.5.7 is24HourView方法:获取是否为24小时制 97
5.6 ProgressBar类:进度条 98
5.6.1 setMax方法:设置最大值 99
5.6.2 setProgress方法:设置主要进度 99
5.6.3 setSecondaryProgress方法:设置次要进度 99
5.6.4 getMax方法:获取最大值 99
5.6.5 getProgress方法:获取主要进度 100
5.6.6 getSecondaryProgress方法:获取次要进度 100
5.7 SeekBar类:滑块 100
5.8 RatingBar类:星级滑块 102
5.8.1 setMax方法:设置最大值 102
5.8.2 setNumStars方法:设置星型数量 102
5.8.3 setRating方法:设置分数 102
5.8.4 setStepSize方法:设置步长 103
5.8.5 setOnRatingBarChangeListener方法:设置监听器 103
5.8.6 getNumStars方法:获取星型数量 104
5.8.7 getRating方法:获取分数 104
5.8.8 getStepSize方法:获取步长 104
5.8.9 setIsIndicator方法:设置指示器 105
5.8.10 isIndicator方法:判断是否为指示器 106
5.9 ToggleButton类:状态开关按钮 106
5.9.1 setTextOff方法:设置未选中时的文本 106
5.9.2 setTextOn方法:设置选中时的文本 106
5.9.3 setChecked方法:设置按钮状态 106
5.9.4 setBackgroundDrawable方法:设置背景 107
5.9.5 setOnCheckedChangeListener方法:设置监听器 108
5.9.6 getTextOff方法:获取未选中时的文本 108
5.9.7 getTextOn方法:获取选中时的文本 108
5.10 Toast类:弹出信息框 109
5.10.1 cancel方法:关闭Toast视图 110
5.10.2 getDuration方法:获取持续时间 110
5.10.3 getGravity方法:获取Toast视图的显示位置 111
5.10.4 getHorizontalMargin方法:获取水平方向的页边空白 111
5.10.5 getVerticalMargin方法:获取垂直方向的页边空白 112
5.10.6 makeText方法:生成标准Toast对象 112
5.10.7 setView方法:设置显示的View对象 113
5.10.8 getView方法:获取View对象 114
5.10.9 setGravity方法:设置显示位置 114
5.10.10 getXOffset方法:获取水平方向偏移量 115
5.10.11 getYOffset方法:获取垂直方向偏移量 115
5.10.12 setDuration方法:设置持续时间 116
5.10.13 setMargin方法:设置页边空白 117
5.10.14 setText方法:设置显示的文本内容 117
5.10.15 show方法:显示提示信息 118
5.11 CheckBox类:复选框 119
5.11.1 isChecked方法:是否选中 119
5.11.2 setChecked方法:设置复选框状态 120
5.11.3 toggle方法:切换状态 120
5.11.4 setOnCheckedChangeListener方法:设置监听器 121
5.12 RadioButton类和RadioGroup类:单选框 123
5.12.1 setOnCheckedChangeListener 方法:设置监听器 123
5.12.2 check方法:选中选项 124
5.12.3 clearCheck方法:清空选项 125
5.13 ImageView类:图片 126
5.13.1 setImageResource方法:设置图片资源 126
5.13.2 setImageDrawable方法:设置Drawable图片资源 127
5.13.3 setAlpha方法:设置透明度 127
5.13.4 setScaleType方法:设置填充方式 128
5.13.5 getDrawable方法:获取Drawable对象 129
5.13.6 getScaleType方法:获取填充方式 129
5.14 Spinner类:下拉列表 129
5.14.1 setAdapter方法:设置适配器 130
5.14.2 setPrompt方法:设置标题 130
5.14.3 setPromptId方法:指定标题ID 131
5.14.4 getPrompt方法:获取标题 131
5.14.5 setOnItemSelectedListener方法:设置监听器 132
5.15 AutoCompleteTextView类:自动完成文本框 133
5.15.1 setAdapter方法:设置适配器 134
5.15.2 setThreshold方法:设置匹配字符数 134
5.15.3 setCompletionHint方法:设置提示信息 135
5.15.4 setDropDownBackgroundResource方法:设置背景资源 136
5.15.5 setDropDownBackgroundDrawable方法:设置Drawable背景资源 136
5.15.6 setDropDownWidth方法:设置宽度 137
5.15.7 setDropDownHeight方法:设置高度 137
5.15.8 setOnItemClickListener方法:设置监听器 138
5.15.9 getThreshold方法:获取匹配字符数 138
5.15.10 getDropDownWidth方法:获取宽度 139
5.15.11 getDropDownHeight方法:获取高度 139
5.16 Gallery类:画廊 139
5.16.1 setAdapter方法:设置适配器 139
5.16.2 setSpacing方法:设置图片间距 140
5.16.3 setOnItemClickListener方法:设置监听器 142
5.16.4 setGravity方法:设置图片对齐方式 143
5.16.5 setAnimationDuration方法:设置动画切换时间 144
5.17 小结 145
第6章 Android菜单和对话框 146
菜单和对话框是应用程序UI设计不可或缺的一部分。Android系统中提供了三种形式的菜单,包括选项菜单(Options Menu)、子菜单(SubMenu)和上下文菜单(Context Menu)。开发者可以为应用程序添加选项菜单,也可以为界面上的一个View对象添加上下文菜单。Android系统同时还提供了多种形式的对话框,可以加强用户与应用程序之间的交互。本章将主要介绍Android系统中的菜单和对话框的编程方法。
6.1 Menu类:菜单 146
6.1.1 onCreateOptionsMenu方法:初始化选项菜单 146
6.1.2 add方法:添加菜单项 146
6.1.3 addSubMenu方法:添加子菜单项 147
6.1.4 onOptionsItemSelected方法:选中菜单处理 148
6.1.5 onOptionsMenuClosed方法:选项菜单关闭处理 149
6.2 MenuItem类:菜单项 150
6.2.1 getItemId方法:获取菜单项ID 151
6.2.2 getTitle方法:获取标题 151
6.2.3 getOrder方法:获取顺序 151
6.2.4 setIcon方法:设置图标 152
6.2.5 setAlphabeticShortcut方法:设置字母快捷键 152
6.2.6 setNumericShortcut方法:设置数字快捷键 154
6.2.7 setShortcut方法:设置快捷键 155
6.2.8 setOnMenuItemClickListener方法:设置监听器 155
6.3 SubMenu类:子菜单 156
6.3.1 setIcon方法:设置图标 156
6.3.2 add方法:添加子菜单项 158
6.3.3 setOnMenuItemClickListener方法:设置监听器 159
6.4 ContextMenu类:上下文菜单 160
6.4.1 registerForContextMenu方法:注册上下文菜单 161
6.4.2 onCreateContextMenu方法:初始化上下文菜单 161
6.4.3 onContextItemSelected方法:选中菜单处理 162
6.4.4 onContextMenuClosed方法:关闭上下文菜单处理 164
6.5 AlertDialog类:提示对话框 165
6.5.1 showDialog方法:显示对话框 166
6.5.2 onCreateDialog方法:初始化对话框 166
6.5.3 setTitle方法:设置标题 166
6.5.4 setMessage方法:设置提示信息 166
6.5.5 create方法:创建对话框 167
6.5.6 setIcon方法:设置图标 168
6.5.7 setPositiveButton方法:设置“确定”按钮 169
6.5.8 setNegativeButton方法:设置“取消”按钮 170
6.5.9 setNeutralButton方法:设置“中间”按钮 173
6.5.10 setItems方法:设置列表 174
6.5.11 setSingleChoiceItems方法:设置单选按钮 176
6.5.12 setMultiChoiceItems方法:设置复选框 178
6.6 DatePickerDialog类:日期选择对话框 180
6.7 TimePickerDialog类:时间选择对话框 182
6.8 ProgressDialog类:进度条对话框 183
6.8.1 setMax方法:设置最大值 183
6.8.2 setTitle方法:设置标题 184
6.8.3 setProgressStyle方法:设置进度条样式 184
6.8.4 incrementProgressBy方法:设置递增步长 184
6.8.5 getProgress方法:获取当前进度值 184
6.8.6 onPrepareDialog方法:准备对话框 186
6.8.7 setCancelable方法:设置是否可以取消 188
6.9 小结 190
第7章 Android应用程序模型 191
在Android系统中由不同的组件来管理应用程序,按照功能的不同可以分为Activity(活动程序)、Service(服务)、Content Provider(内容提供器)和Broadcast Receiver(广播接收器)四类组件。组件与组件之间通过Intent(激活组件)来完成通信,应用程序通过View(视图)来向用户展示可视化的界面。正是这些不同的组件将Android程序的各个部分联系在一起,构成了一个完整的功能,这就是Android应用程序模型。
7.1 Activity类:活动程序 191
7.1.1 setContentView方法:设置显示的View 191
7.1.2 finish方法:关闭Activity 192
7.1.3 startActivity方法:启动一个Activity 192
7.1.4 setTitle方法:设置标题 193
7.1.5 setTitleColor方法:设置标题颜色 195
7.1.6 onKeyDown方法:响应按键按下 196
7.1.7 onKeyUp方法:响应按键弹起 197
7.1.8 onTouchEvent方法:响应触摸事件 199
7.1.9 onCreate方法:初始化Activity 199
7.1.10 onStart方法:启动Activity 200
7.1.11 onResume方法:恢复Activity 200
7.1.12 onPause方法:暂停Activity 201
7.1.13 onStop方法:停止Activity 201
7.1.14 onRestart方法:重新启动Activity 201
7.1.15 onDestroy方法:销毁Activity 202
7.2 Intent类:激活组件 205
7.2.1 setComponent方法:设置组件名称 206
7.2.2 setClass方法:设置查找的类 206
7.2.3 setClassName方法:设置查找的类名称 207
7.2.4 getIntent方法:获取Intent对象 208
7.2.5 getComponent方法:获取组件名称 208
7.2.6 setAction方法:设置Action 210
7.2.7 getAction方法:获取Action 210
7.2.8 addCategory方法:添加附加信息 212
7.2.9 putExtra方法:设置扩展信息 213
7.2.10 getStringExtra方法:获取扩展信息 214
7.2.11 setData方法:设置数据 216
7.3 BroadcastReceiver类:广播接收器 217
7.3.1 sendBroadcast方法:发送广播 217
7.3.2 onReceive方法:接收广播 218
7.3.3 registerReceiver方法:注册广播接收器 219
7.3.4 unregisterReciver方法:销毁广播接收器 220
7.4 Notification类:通知 221
7.4.1 setLatestEventInfo方法:设置事件信息 222
7.4.2 notify方法:发出通知 222
7.4.3 cancel方法:取消通知 222
7.5 AlarmManager类:闹钟 224
7.5.1 set方法:设置提醒 224
7.5.2 setRepeating方法:设置精确重复提醒 226
7.5.3 setInexactRepeating方法:设置不精确的重复提醒 228
7.5.4 cancel方法:取消提醒 229
7.6 Service类:服务 230
7.6.1 onBind方法:绑定服务 230
7.6.2 onCreate方法:创建服务 231
7.6.3 onDestroy方法:销毁服务 231
7.6.4 onStart方法:启动服务 231
7.6.5 startService方法:启动Service对象 232
7.6.6 stopService方法:停止Service对象 232
7.6.7 bindService方法:绑定Service 234
7.6.8 unbindService方法:解除绑定Service 235
7.7 小结 237
第8章 Android绘图 238
Android系统提供了华丽的界面效果,对于开发者来说,同样可以使用丰富的绘图资源,从而使自己的应用程序更加丰富多彩。在Android系统中,主要通过Graphics软件包来绘制图形。Graphics软件包中提供了Canvas(画布)、Paint(画笔)等常用的类,通过这些类中的方法,可以方便地绘制点、线、颜色以及各种几何图形等。在Android系统中,几乎所有的游戏都可用Android绘图来实现。
8.1 Paint类:画笔 238
8.1.1 setColor方法:设置颜色 238
8.1.2 setAlpha方法:设置透明度 240
8.1.3 setStyle方法:设置风格 240
8.1.4 setStrokeWidth方法:设置空心线宽 241
8.1.5 setTextSize方法:设置字体大小 242
8.1.6 setTypeface方法:设置字体样式 243
8.1.7 setTextScaleX方法:设置比例因子 244
8.1.8 setARGB方法:设置透明度和颜色 245
8.1.9 setUnderlineText方法:设置下画线 245
8.1.10 setTextSkewX方法:设置倾斜因子 246
8.2 Canvas类:画布 248
8.2.1 drawColor方法:设置背景颜色 248
8.2.2 drawLine方法:绘制直线 248
8.2.3 drawLines方法:绘制多条直线 249
8.2.4 drawLines方法:有选择地绘制多条直线 250
8.2.5 drawPoint方法:绘制点 251
8.2.6 drawPoints方法:绘制多个点 251
8.2.7 drawRect方法:绘制矩形 253
8.2.8 drawRoundRect方法:绘制圆角矩形 253
8.2.9 drawCircle方法:绘制圆形 255
8.2.10 drawOval方法:绘制椭圆形 255
8.2.11 drawPath方法:绘制任意多边形 257
8.2.12 drawArc方法:绘制圆弧 257
8.2.13 drawText方法:绘制字符串 258
8.2.14 drawBitmap方法:绘制图像 260
8.2.15 save方法:锁定画布 261
8.2.16 restore方法:解除锁定 261
8.2.17 clipRect方法:设置裁剪区 261
8.2.18 rotate方法:旋转画布 262
8.3 小结 264
第9章 Android动画效果 265
Android系统提供了两种实现动画的方式,一种是补间动画(Tween Animation),另一种是帧动画(Frame Animation)。补间动画可以实现View组件的移动、放大、缩小以及渐变等效果,帧动画则提供了一种逐帧播放图片的动画方式。无论是补间动画还是帧动画,Android均为其进行了封装,提供了非常简单的应用接口。
9.1 Animation类:动画抽象类 265
9.1.1 setDuration方法:设置持续时间 265
9.1.2 startNow方法:立刻启动动画 265
9.1.3 start方法:启动动画 266
9.1.4 cancel方法:取消动画 266
9.1.5 setRepeatCount方法:设置重复次数 268
9.1.6 setFillEnabled方法:使能填充效果 269
9.1.7 setFillBefore方法:设置起始填充 269
9.1.8 setFillAfter方法:设置终止填充 270
9.1.9 setRepeatMode方法:设置重复模式 271
9.1.10 setStartOffset方法:设置启动时间 273
9.2 TranslateAnimation类:位置变化动画类 273
9.3 RotateAnimation类:旋转变化动画类 275
9.4 ScaleAnimation类:尺寸变化动画类 276
9.5 AlphaAnimation类:透明度变化动画类 277
9.6 AnimationSet类:动画集合类 278
9.7 AnimationUtils类:动画工具类 280
9.8 AnimationDrawable类:帧动画类 282
9.8.1 start方法:开始动画 282
9.8.2 stop方法:停止动画 283
9.8.3 addFrame方法:添加动画帧 285
9.8.4 setOneShot方法:设置播放方式 286
9.8.5 setAlpha方法:设置透明度 286
9.8.6 getNumberOfFrames方法:获取帧数 287
9.9 小结 289
第10章 Android数据库 290
在Android系统中为了有效地对数据进行管理,其提供了SQLite数据库引擎来实现结构化数据存储。SQLite是一种嵌入式的数据库引擎,占用资源非常少,因此广泛应用于嵌入式设备中。SQLite没有提供服务器进程,其所有的数据都包含在同一个文件中。Android系统主要通过SQLiteDatabase类、SQLiteOpenHelper类和Cursor接口来对数据库进行操作,可以完成数据的增加、删除、更新和查找等基本操作,同时也可以执行大多数的SQL语句。
10.1 SQLiteDatabase类:数据库对象 290
10.1.1 openOrCreateDatabase方法:打开或创建数据库 290
10.1.2 openDatabase方法:打开数据库 291
10.1.3 close方法:关闭数据库 292
10.1.4 execSQL方法:执行SQL语句 292
10.1.5 insert方法:插入数据 293
10.1.6 delete方法:删除数据 295
10.1.7 query方法:查询数据 297
10.1.8 update方法:更新数据 298
10.2 Cursor接口:查询游标接口 300
10.2.1 close方法:关闭游标 300
10.2.2 getCount方法:获取数据条数 301
10.2.3 getColumnCount方法:获取列数量 303
10.2.4 getColumnIndex方法:获取列编号 304
10.2.5 getColumnIndexOrThrow方法: 获取列编号 305
10.2.6 getColumnName方法:获取列名称 306
10.2.7 getString方法:获取字符串内容 307
10.2.8 getDouble方法:获取双精度浮点型内容 308
10.2.9 getFloat方法:获取单精度浮点型内容 308
10.2.10 getInt方法:获取整型内容 308
10.2.11 getLong方法:获取长整型内容 308
10.2.12 getShort方法:获取短整型内容 309
10.2.13 getType方法:获取数据类型 309
10.2.14 moveToFirst方法:移动到第一行 309
10.2.15 moveToNext方法:移动到下一行 309
10.2.16 moveToLast方法:移动到最后一行 310
10.2.17 moveToPosition方法:移动到指定的位置 311
10.2.18 moveToPrevious方法:移动到前一行 312
10.2.19 move方法:移动到指定偏移位置 313
10.2.20 getPosition方法:获取当前位置 314
10.3 小结 315
第11章 Android多媒体 316
Android提供了丰富的多媒体表现形式,包括音乐播放、视频播放和录音等。Android系统提供了MediaPlayer类来完成多媒体播放、VideoView类来完成视频播放和MediaRecorder类来完成录音。Android对常用的多媒体格式提供了支持,例如3GP、MP3和WAV等音频格式,以及3GP、MP4等视频格式。Android对多媒体操作进行了全面的封装,通过简单的代码便可以完成常见的多媒体展示,同时还可以播放网络上的多媒体文件。
11.1 MediaPlayer类:多媒体播放 316
11.1.1 create方法:创建多媒体 316
11.1.2 start方法:开始播放 317
11.1.3 stop方法:停止播放 318
11.1.4 pause方法:暂停播放 319
11.1.5 reset方法:复位多媒体 320
11.1.6 setDataSource方法:设置数据源 321
11.1.7 prepare方法:准备播放 321
11.1.8 seekTo方法:指定播放位置 323
11.1.9 getDuration方法:获取文件播放时间 324
11.1.10 setVolume方法:设置音量 326
11.1.11 setLooping方法:设置循环播放 328
11.1.12 getCurrentPosition方法:获取当前播放位置 330
11.1.13 isLooping方法:获取是否循环播放 330
11.1.14 isPlaying方法:获取是否播放 331
11.1.15 setOnCompletionListener方法:设置播放完成监听器 331
11.1.16 setOnSeekCompleteListener方法:设置寻址完成监听器 332
11.1.17 setOnPreparedListener方法:设置准备完毕监听器 334
11.1.18 setOnErrorListener方法:设置错误监听器 335
11.1.19 setOnBufferingUpdateListener方法:设置缓冲监听器 335
11.1.20 release方法:释放多媒体 335
11.2 VideoView类:视频播放 335
11.2.1 setMediaController方法:设置播放控制器 335
11.2.2 setVideoPath方法:设置视频源路径 336
11.2.3 start方法:开始播放 336
11.2.4 pause方法:暂停播放 337
11.2.5 setVideoURI方法:设置视频源地址 338
11.2.6 setVisibility方法:设置是否可见 339
11.2.7 getDuration方法:获取视频播放时间 341
11.2.8 setOnCompletionListener方法: 视频播放完成监听器 342
11.2.9 setOnPreparedListener方法:视频准备完毕监听器 344
11.2.10 setOnErrorListener方法:视频播放错误监听器 344
11.2.11 seekTo方法:指定视频播放位置 344
11.2.12 getCurrentPosition方法:获取当前视频播放位置 346
11.2.13 getBufferPercentage方法:获取缓冲百分比 347
11.2.14 stopPlayback方法:停止回放视频 347
11.2.15 isPlaying方法:获取是否播放 348
11.2.16 canPause方法:获取是否可以暂停 348
11.2.17 canSeekBackward方法:获取是否可以倒退 348
11.2.18 canSeekForward方法:获取是否可以快进 348
11.2.19 suspend方法:挂起视频播放 350
11.2.20 resume方法:恢复视频播放 350
11.3 MediaRecorder类:录音 352
11.3.1 让模拟器支持录音 352
11.3.2 setAudioSource方法:设置音频源 354
11.3.3 setOutputFormat方法:设置输出文件格式 354
11.3.4 setAudioEncoder方法:设置音频编码 355
11.3.5 setOutputFile方法:设置输出文件 355
11.3.6 prepare方法:准备录制 355
11.3.7 start方法:开始录制 356
11.3.8 stop方法:停止录制 356
11.3.9 release方法:释放对象 358
11.3.10 reset方法:复位对象 359
11.3.11 setOnInfoListener方法:设置信息监听器 359
11.3.12 setMaxFileSize方法:设置文件的最大大小 359
11.3.13 setMaxDuration方法:设置最大录制时间 361
11.3.14 setOnErrorListener方法:设置错误监听器 363
11.3.15 setAudioChannels方法:设置声道数量 363
11.3.16 setAudioEncodingBitRate方法:设置编码比特率 363
11.3.17 setAudioSamplingRate方法:设置采样比特率 363
11.4 小结 365
第12章 Android照相机 366
照相机已经成为手机的一个标配。Android手机同样提供了完善的照相机功能。Android系统在android.hardware软件包中提供了与照相机相关的一些类和方法。通过这些方法,应用程序可以完成拍照、录像、获取相机参数和修改设置相机参数等操作。本章将主要介绍Camera类和Camera.Parameters类。
12.1 Camera类:照相机 366
12.1.1 open方法:打开照相机 367
12.1.2 takePicture方法:拍照 367
12.1.3 release方法:释放照相机 367
12.1.4 PictureCallback方法:照片回调函数 368
12.1.5 ShutterCallback方法:拍照回调函数 369
12.1.6 getNumberOfCameras方法:获取照相机数量 371
12.1.7 startPreview方法:开始预览 372
12.1.8 stopPreview方法:停止预览 373
12.1.9 setPreviewDisplay方法:设置预览 373
12.1.10 getParameters方法:获取相机参数 375
12.1.11 setParameters方法:设置相机参数 375
12.1.12 autoFocus方法:设置自动对焦 377
12.1.13 cancelAutoFocus方法:取消自动对焦 378
12.1.14 unlock方法:解锁相机 378
12.1.15 reconnect方法:重新连接相机 378
12.1.16 startSmoothZoom方法:开始变焦 378
12.2 Camera.Parameters类:照相机参数 379
12.2.1 getSupportedPictureSizes方法:获取支持的图片大小 379
12.2.2 getMaxExposureCompensation方法:获取最大曝光补偿指数 380
12.2.3 getMaxZoom方法:获取最大变焦值 381
12.2.4 getMinExposureCompensation方法:获取最低曝光补偿指数 382
12.2.5 getPictureFormat方法:获取图片格式 383
12.2.6 getPictureSize方法:获取当前照片尺寸 385
12.2.7 getPreviewFormat方法:获取预览格式 385
12.2.8 getPreviewSize方法:获取预览尺寸 387
12.2.9 getSupportedColorEffects方法:获取支持的色彩效果列表 388
12.2.10 getSupportedFlashModes方法:获取支持的闪光灯模式列表 389
12.2.11 getSupportedFocusModes方法:获取支持的对焦模式列表 390
12.2.12 getSupportedJpegThumbnailSizes方法:获取支持的JPEG 缩略图尺寸 392
12.2.13 getSupportedPictureFormats方法:获取支持的图片格式列表 393
12.2.14 getSupportedPreviewFormats 方法:获取支持的预览格式列表 394
12.2.15 getSupportedPreviewSizes方法: 获取支持的预览大小 395
12.2.16 getSupportedSceneModes方法:获取支持的场景模式 396
12.2.17 getSupportedWhiteBalance方法:获取支持的白平衡 397
12.2.18 getWhiteBalance方法:获取当前白平衡设置 399
12.2.19 getZoom方法:获取当前变焦值 400
12.2.20 isZoomSupported方法:获取是否支持变焦 402
12.2.21 isSmoothZoomSupported方法:获取是否支持平滑变焦 403
12.2.22 getColorEffect方法:获取当前色彩效果 404
12.2.23 getFlashMode方法:获取当前闪光灯模式 406
12.2.24 getFocalLength方法:获取焦距 408
12.2.25 getFocusMode方法:获取当前对焦模式 409
12.2.26 getSceneMode方法:获取当前场景模式 411
12.3 小结 414
第13章 Android语音朗读 415
Android系统提供了一个非常有意思的功能,能够将用户输入的文本内容朗读出来。Android系统的文本语音朗读功能通过TextToSpeech来实现。目前,Android系统提供了英语、法语、德语、意大利语和西班牙语的文本语音转换功能,但暂时还不支持中文朗读功能。其中,英语还可以选择美式发音或者英式发音。通过Android语音朗读可以实现很多有趣的应用,例如短信自动阅读、电子书朗读软件等。
13.1 TextToSpeech类:文本朗读 415
13.1.1 TextToSpeech方法:构造方法 415
13.1.2 shutdown方法:释放引擎 416
13.1.3 speak方法:朗读文本 416
13.1.4 stop方法:停止播放 418
13.1.5 isSpeaking方法:是否正在朗读 419
13.1.6 synthesizeToFile方法:保存朗读文件 421
13.1.7 setLanguage方法:设置朗读语言 422
13.1.8 getLanguage方法:获取语言 424
13.1.9 isLanguageAvailable方法:语言是否可用 426
13.1.10 setSpeechRate方法:设置语速 428
13.1.11 setOnUtteranceCompletedListener方法:设置播放完成监听器 430
13.1.12 addSpeech方法:关联音频文件 432
13.1.13 setPitch方法:设置音调 433
13.1.14 addEarcon方法:关联事件音频文件 435
13.1.15 playEarcon方法:播放关联文件 436
13.1.16 playSilence方法:静默朗读 437
13.2 小结 439
第14章 Android系统信息 440
Android作为开放式系统,其通过Android.OS软件包提供了对丰富的系统信息的操作和获取。其中,build类和Environment类是比较常用的两个类。build类提供了对一些直接与硬件相关的信息的获取,例如硬件厂商、序列号和SDK版本等信息,这些信息表征了系统的基本特征。Environment类则提供了对一些常用的Android环境变量的获取,包括典型的文件目录以及SD卡的状态等。常见的一些Android系统管理类应用程序都会用到这些方法。
14.1 build类:构建信息 440
14.1.1 MODEL方法:手机型号 440
14.1.2 SDK方法:SDK版本号 441
14.1.3 SDK_INT方法:SDK版本号 443
14.1.4 RELEASE方法:获取系统版本 443
14.1.5 BOOTLOADER方法:bootloader版本号 444
14.1.6 BOARD方法:底层板名称 445
14.1.7 BRAND方法:品牌 445
14.1.8 CPU_ABI方法:指令集 446
14.1.9 CPU_ABI2方法:第二指令集 447
14.1.10 DEVICE方法:工业设计名称 448
14.1.11 DISPLAY方法:显示 448
14.1.12 FINGERPRINT方法:构建的唯一标识符 449
14.1.13 HARDWARE方法:硬件名称 450
14.1.14 HOST方法:主机 451
14.1.15 ID方法:ID标签 452
14.1.16 MANUFACTURER方法:制造商 453
14.1.17 PRODUCT方法:产品名称 454
14.1.18 RADIO方法:无线电固件版本号 455
14.1.19 SERIAL方法:硬件序列号 455
14.1.20 TAGS方法:标签 456
14.1.21 TIME方法:出厂时间 456
14.1.22 TYPE方法:构建类型 457
14.1.23 USER方法:构建用户名称 458
14.1.24 CODENAME方法:开发代号 459
14.1.25 INCREMENTAL方法:构建增量 460
14.2 Environment类:环境变量类 461
14.2.1 getDataDirectory方法:获取数据目录 461
14.2.2 getDownloadCacheDirectory方法:获取下载缓存目录 462
14.2.3 getExternalStorageDirectory方法: 获取外部存储目录 463
14.2.4 getRootDirectory方法:获取Root目录 464
14.2.5 getExternalStoragePublicDirectory方法:获取特定类型目录 466
14.2.6 getExternalStorageState方法:获取外部存储状态 467
14.2.7 isExternalStorageEmulated方法:检查是否有外部存储设备模拟 469
14.2.8 isExternalStorageRemovable方法:外部存储设备是否可以移除 470
14.3 小结 471
第15章 Android电话操作 472
Android系统最初的目标便是开放的移动通信系统,因此电话功能是Android系统的一个最基本功能。Android系统提供了完整的电话操作,目前支持gsm和cdma类型的手机信号,而且还支持相应的3G信号。android.telephony.gsm软件包适用于gsm类型的手机,android.telephony.cdma软件包适用于cdma类型的手机。后来Android系统提供了统一的android.telephony软件包统一管理gsm和cdma手机的电话操作。通过该软件包中丰富的方法,应用程序可以进行电话管理、获取信号强度、了解服务状态以及发送短信等。
15.1 TelephonyManager类:电话管理 472
15.1.1 getCallState方法:获取电话状态 472
15.1.2 getDeviceId方法:获取设备ID 473
15.1.3 getDeviceSoftwareVersion方法:获取软件版本号 475
15.1.4 getLine1Number方法:获取本机号码 476
15.1.5 getNetworkCountryIso方法:获取国家码 477
15.1.6 getNetworkOperator方法:获取网络操作号 478
15.1.7 getNetworkType方法:获取网络类型 479
15.1.8 getPhoneType方法:获取手机类型 481
15.1.9 getSimCountryIso方法:获取SIM卡的国家码 482
15.1.10 getSimState方法:获取SIM的状态信息 483
15.1.11 getSimOperator方法: 获取SIM卡的操作码 485
15.1.12 getSimOperatorName方法:获取服务商 485
15.1.13 getSimSerialNumber方法:获取SIM卡的序列号 487
15.1.14 getSubscriberId方法:获取用户唯一ID 487
15.1.15 getVoiceMailAlphaTag方法:获取语音邮件识别码 489
15.1.16 hasIccCard方法:ICC卡是否存在 489
15.1.17 isNetworkRoaming方法:获取漫游状态 491
15.1.18 getVoiceMailNumber方法:获取语音邮件号码 492
15.1.19 getDataState方法:获取数据连接状态 493
15.1.20 getDataActivity方法:获取数据活动状态 494
15.2 SignalStrength类:信号强度 496
15.2.1 isGsm方法:判断是否为GSM 497
15.2.2 getGsmBitErrorRate方法:获取误码率 498
15.2.3 getGsmSignalStrength方法:获取信号强度 499
15.2.4 getCdmaDbm方法:获取CDMA信号的接收强度 501
15.2.5 getCdmaEcio方法:获取CDMA信号的导频信号水平 501
15.2.6 getEvdoDbm方法:获取EVDO信号的接收强度 502
15.2.7 getEvdoEcio方法:获取EVDO信号的导频信号水平 502
15.2.8 getEvdoSnr方法:获取EVDO信号的信噪比 502
15.3 ServiceState类:服务状态 502
15.3.1 setState方法:设置手机的服务状态 503
15.3.2 setStateOff方法:关闭服务 504
15.3.3 setStateOutOfService方法:设置无服务 505
15.3.4 getState方法:获取服务状态 506
15.3.5 setRoaming方法:设置漫游状态 508
15.3.6 getRoaming方法:获取漫游状态 509
15.3.7 setOperatorName方法:设置运营商名称 511
15.3.8 getOperatorAlphaLong方法:获取运营商名称 512
15.3.9 getOperatorAlphaShort方法:获取运营商简称 512
15.3.10 getOperatorNumeric方法:获取运营商代码 512
15.3.11 setIsManualSelection方法:设置手动选择网络 514
15.3.12 getIsManualSelection方法:是否手动选择网络 515
15.4 SmsManager类:短消息管理 517
15.4.1 sendTextMessage方法:发送短信 517
15.4.2 divideMessage方法:分割短信 518
15.4.3 sendMultipartTextMessage方法:发送多条短信 519
15.5 小结 521
第16章 Android定位 522
GPS定位是移动设备的一个非常重要和有用的功能。Android系统提供了多种定位服务方式,包括GPS定位、网络定位等。Google Map和Google Earth便是非常典型的应用例子。Android系统的定位服务通过android.location软件包来实现,应用程序不但可以获取定位的位置数据,还可以获取参与定位的GPS卫星参数等信息。本章将主要介绍与Android定位有关的类和方法。
16.1 LocationManager类:定位服务管理 522
16.1.1 getLastKnownLocation方法:获取最新位置 523
16.1.2 getAllProviders方法:获取所有位置提供者 524
16.1.3 getProviders方法:获取可用位置提供者 526
16.1.4 isProviderEnabled方法:获取位置提供者是否使能 527
16.1.5 getBestProvider方法:获取最佳的位置提供者 528
16.1.6 getProvider方法:获取位置提供者 530
16.1.7 requestLocationUpdates方法:请求位置更新 532
16.1.8 removeUpdates方法:移除位置更新请求 533
16.1.9 addGpsStatusListener方法:添加GPS状态监听器 536
16.1.10 getGpsStatus方法:获取GPS状态 537
16.1.11 removeGpsStatusListener方法:移除GPS状态监听器 539
16.2 GpsStatus类:GPS状态 540
16.2.1 getTimeToFirstFix方法:获取首次定位时间 540
16.2.2 getMaxSatellites方法:获取最大卫星数量 542
16.2.3 getSatellites方法:获取GPS卫星状态 544
16.3 GpsSatellite类:GPS卫星 545
16.3.1 getAzimuth方法:获取方位角 545
16.3.2 getElevation方法:获取高度角 545
16.3.3 getPrn方法:获取伪随机数 545
16.3.4 getSnr方法:获取信噪比 545
16.4 Location类:位置信息 548
16.4.1 getLatitude方法:获取纬度 548
16.4.2 getLongitude方法:获取经度 550
16.4.3 getSpeed方法:获取速度 551
16.4.4 getAccuracy方法:获取精确度 553
16.4.5 getBearing方法:获取方位 555
16.4.6 getTime方法:获取UTC时间 556
16.4.7 getAltitude方法:获取高度 557
16.4.8 getProvider方法:获取位置提供者 559
16.5 Criteria类:筛选标准 561
16.5.1 setAccuracy方法:设置定位精度 562
16.5.2 setSpeedRequired方法:设置是否需要速度 562
16.5.3 setCostAllowed方法:设置是否允许收费 562
16.5.4 setBearingRequired方法:设置是否需要方位 562
16.5.5 setAltitudeRequired方法:设置是否需要海拔 563
16.5.6 setPowerRequirement方法:设置电量消耗 563
16.6 小结 564
第17章 Android传感器 565
Android系统中内置了多种传感器,例如距离传感器、重力传感器、光传感器等。利用这些丰富的传感器,可以使手机变为强大的环境测量工具。同时,也可以实现多种多样很有趣的应用程序,例如水平仪、重力感应的游戏等。Android的传感器由android.hardware软件包来提供支持,本章便介绍与Android传感器有关的类和方法。
17.1 SensorManager类:传感器管理 565
17.1.1 getSensorList方法:获取传感器列表 565
17.1.2 getDefaultSensor方法:获取默认传感器 567
17.1.3 registerListener方法:注册监听器 568
17.1.4 unregisterListener方法:取消注册监听器 569
17.2 Sensor类:传感器 571
17.2.1 getName方法:获取传感器的设备名称 572
17.2.2 getVersion方法:获取传感器的设备版本 573
17.2.3 getType方法:获取通用类型号 575
17.2.4 getVendor方法:获取供应商名称 577
17.2.5 getPower方法:获取传感器的功耗 578
17.2.6 getResolution方法:获取传感器的分辨率 580
17.2.7 getMaximumRange方法:获取传感器的最大量程 583
17.2.8 getMinDelay方法:获取传感器的最短时间间隔 584
17.3 小结 586
Android语法范例参考大全
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×
亲爱的云图用户,
光盘内的文件都可以直接点击浏览哦
无需下载,在线查阅资料!