当前位置:首页 > 工业技术
精通Android实例开发
精通Android实例开发

精通Android实例开发PDF电子书下载

工业技术

  • 电子书积分:21 积分如何计算积分?
  • 作 者:陈强编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2015
  • ISBN:9787115400970
  • 页数:778 页
图书介绍:通过1000个实例和开发技巧的详细讲解,让读者学会如何把Android技术应用的开发中,这些特性是目前市面上的一些书籍所没有的。本书中的实例均来源于真实的产品,100%原创。其中本书按照Android 5.0进行开发,具有很好的时效性。
《精通Android实例开发》目录

第1章 正式开发前的准备 1

1.1 Windows下安装Java环境JDK 1

1.1.1实例说明 1

1.1.2具体实现 2

1.1.3特别提醒——检测是否安装成功 3

1.2在Windows环境下安装Eclipse 4

1.2.1实例说明 4

1.2.2具体实现 4

1.2.3特别提醒——为Eclipse建立快捷方式 5

1.3在Windows环境下集成安装Eclipse和Android SDK 6

1.3.1实例说明 6

1.3.2具体实现 6

1.3.3特别提醒——不同的SDK版本 8

1.4在Windows环境下安装ADT 8

1.4.1实例说明 8

1.4.2具体实现 8

1.4.3特别提醒——不用担心安装过程慢 9

1.5将Android SDK和Eclipse相关联 9

1.5.1实例说明 10

1.5.2具体实现 10

1.5.3特别提醒——不关联启动SDK的方法 10

1.6验证Android开发环境 10

1.6.1实例说明 11

1.6.2具体实现 11

1.6.3特别提醒——快速运行Android的诀窍 11

1.7使用CMD方式创建Android虚拟设备 12

1.7.1实例说明 12

1.7.2具体实现 12

1.7.3特别提醒 13

1.8使用图形界面方式创建AVD模拟器 14

1.8.1实例说明 14

1.8.2具体实现 14

1.8.3特别提醒——删除/修改AVD 15

1.9手动更新Android SDK 16

1.9.1实例说明 16

1.9.2具体实现 16

1.9.3特别提醒——自定义选择安装的SDK 18

1.10单独下载的方式来更新Android SDK 18

1.10.1实例说明 19

1.10.2具体实现 19

1.10.3特别提醒——快速安装Android SDK的诀窍 19

1.11在Linux环境下搭建Android平台 19

1.11.1实例说明 19

1.11.2具体实现 20

1.11.3特别提醒 20

1.12苹果Mac环境下搭建Android平台 21

1.12.1实例说明 21

1.12.2具体实现 21

1.12.3特别提醒——都是一个原理 22

1.13搭建过程中的常见错误 22

1.13.1实例说明 23

1.13.2最常见的3个错误 23

1.13.3特别提醒——其他错误 24

1.14第一个Android程序 25

1.14.1实例说明 26

1.14.2具体实现 26

1.14.3特别提醒——解决模拟器运行时间长而引发的错误 27

1.15向Eclipse中导入Android程 28

1.15.1实例说明 28

1.15.2具体实现 28

1.15.3特别提醒——一次向Eclipse中导入多个Android程序 29

1.16断点调试Android程序 30

1.16.1实例说明 30

1.16.2具体实现 30

1.16.3特别提醒——其他调试方法 31

第2章 界面布局 32

2.1使用线性布局(LinearLayout) 32

2.1.1实例说明 32

2.1.2具体实现 32

2.1.3特别提醒——布局类型的继承 33

2.2使用相对布局(Relative Layout) 34

2.2.1实例说明 34

2.2.2具体实现 34

2.2.3特别提醒——RelativeLayout效果结构 35

2.3使用表格布局(Table Layout) 36

2.3.1实例说明 36

2.3.2具体实现 36

2.3.3特别提醒——使用表格布局的注意事项 37

2.4使用绝对布局(AbsoluteLayout) 37

2.4.1实例说明 37

2.4.2具体实现 37

2.4.3特别提醒——为什么不推荐使用AbsoluteLayout 37

2.5使用标签布局(TabLayout) 38

2.5.1实例说明 38

2.5.2具体实现 38

2.5.3特别提醒——计算器的升级理念 39

2.6使用层布局(FrameLayout) 39

2.6.1实例说明 39

2.6.2具体实现 39

2.6.3特别提醒——层与层的覆盖 40

2.7演示Layout布局的综合应用 40

2.7.1实例说明 40

2.7.2具体实现 40

2.7.3特别提醒——设置的图片不能太大 44

2.8创建一个桌面组件Widget 45

2.8.1实例说明 45

2.8.2具体实现 45

2.8.3特别提醒——其他的实例 45

2.9在屏幕中实现一个按钮效果 45

2.9.1实例说明 45

2.9.2具体实现 46

2.9.3特别提醒——更加漂亮的按钮 46

2.10在屏幕中显示文字 47

2.10.1实例说明 47

2.10.2具体实现 47

2.10.3特别提醒——Color属性代表的颜色 49

2.11设置手机屏幕中的字体 49

2.11.1实例说明 49

2.11.2具体实现 50

2.11.3特别提醒——更改Text View文字的颜色 51

2.12在屏幕中显示编辑框 51

2.12.1实例说明 51

2.12.2具体实现 51

2.12.3特别提醒——限制文本框中文字字数 52

2.13在屏幕中显示复选框 53

2.13.1实例说明 54

2.13.2具体实现 54

2.14.3特别提醒——RadioButton(单选框)控件 54

2.14在屏幕中显示单选框 55

2.14.1实例说明 55

2.14.2具体实现 55

2.14.3特别提醒——按钮的不同状态 55

2.15在屏幕中显示下拉列表框 56

2.15.1实例说明 56

2.15.2具体实现 56

2.15.3特别提醒——Spinner的属性和方法 58

2.16在屏幕中实现自动输入文本效果 58

2.16.1实例说明 58

2.16.2具体实现 58

2.16.3特别提醒——下拉框的雾化效果 59

2.17使用日期选择器控件DatePicker 59

2.17.1实例说明 59

2.17.2具体实现 60

2.17.3特别提醒——控件DatePicker中的方法 60

2.18使用时间选择器控件TimePicker 61

2.18.1实例说明 61

2.18.2具体实现 61

2.18.3特别提醒——在屏幕中同时显示日期和时间 61

2.19在屏幕内实现滚动效果 64

2.19.1实例说明 64

2.19.2具体实现 64

2.19.3特别提醒——解决ScrollView控件中的内容不能完整显示的问题 64

2.20在屏幕内实现进度条效果 65

2.20.1实例说明 65

2.20.2具体实现 65

2.20.3特别提醒——为控件Progressbar设置样式 66

2.21在屏幕内使用拖动条功能 67

2.21.1实例说明 67

2.21.2具体实现 67

2.21.3特别提醒——在拖动条中显示提示文字 67

2.22在屏幕内使用评分组件 67

2.22.1实例说明 68

2.22.2具体实现 68

2.22.3特别提醒——使用RatingBar控件的流程 68

2.23在屏幕内显示一幅图片 69

2.23.1实例说明 69

2.23.2具体实现 69

2.23.3特别提醒——制作一个相框 70

2.24设置一幅图片当作按钮 71

2.24.1实例说明 71

2.24.2具体实现 71

2.24.3特别提醒——图片按钮控件的事件响应 72

2.25实现类似QQ空间的照片效果 73

2.25.1实例说明 73

2.25.2具体实现 73

2.25.3特别提醒——ImageSwitcher控件的3种方法 74

2.26使用网格视图控件布局屏幕 74

2.26.1实例说明 74

2.26.2具体实现 75

2.26.3特别提醒——升级实例 76

2.27在屏幕内实现多个标签栏样式的效果 76

2.27.1实例说明 76

2.27.2具体实现 76

2.27.3特别提醒——Tab View的标准用法格式 77

2.28实现一个3行布局 77

2.28.1实例说明 77

2.28.2具体实现 77

2.28.3特别提醒——升级实例 78

2.29实现书架展示效果 79

2.29.1实例说明 79

2.29.2具体实现 79

2.29.3特别提醒——升级实例 80

2.30实现树形菜单效果 80

2.30.1实例说明 80

2.30.2具体实现 81

2.30.3特别提醒——其他控件的功能 82

2.31实现一个精美的登录界面 82

2.31.1实例说明 82

2.31.2具体实现 82

2.31.3特别提醒——实例升级 84

第3章 基本控件应用 85

3.1使用EditText控件和setOnKeyListener事件实现文本处理 85

3.1.1实例说明 85

3.1.2具体实现 85

3.1.3特别提醒——实现文字过滤 86

3.2在屏幕中实现一个背景图片按钮 86

3.2.1实例说明 86

3.2.2具体实现 87

3.2.3特别提醒——“res/drawable”目录的作用 88

3.3使用Toast实现提醒 88

3.3.1实例说明 88

3.3.2具体实现 88

3.3.3特别提醒——Toast的优势 90

3.4用RadioGroup控件实现选择处理 91

3.4.1实例说明 91

3.4.2具体实现 91

3.4.3特别提醒——RadioGroup控件的特殊作用 92

3.5使用CheckBox实现一个购物清单 92

3.5.1实例说明 92

3.5.2具体实现 92

3.5.3特别提醒——应用触摸屏技术 94

3.6使用CheckBox实现同意条款效果 94

3.6.1实例说明 94

3.6.2具体实现 95

3.6.3特别提醒——处理CheckBox的状态 96

3.7使用ImageView控件实现相框效果 96

3.7.1实例说明 96

3.7.2具体实现 97

3.7.3特别提醒——ImageButton的按钮切换 98

3.8使用Spinner实现选择处理 98

3.8.1实例说明 98

3.8.2具体实现 99

3.8.3特别提醒——设置下拉菜单中的TextView 100

3.9使用Gallery控件实现个人相簿功能 101

3.9.1实例说明 101

3.9.2具体实现 101

3.9.3特别提醒——设置Gallery图片的宽高 102

3.10在手机中实现文件搜索功能 103

3.10.1实例说明 103

3.10.2具体实现 103

3.10.3特别提醒——搜索子目录 104

3.11使用ImageButton控件实现按钮置换功能 104

3.11.1实例说明 104

3.11.2具体实现 105

3.11.3特别提醒——操作显示的默认图片 105

3.12使用AnalogClock实现一个时钟效果 106

3.12.1实例说明 106

3.12.2具体实现 106

3.12.3特别提醒——3种常用的System Clock 107

3.13在手机屏幕中实现不同的进度条效果 108

3.13.1实例说明 108

3.13.2具体实现 108

3.13.3特别提醒——在进度条中的4种不同风格 110

3.14在屏幕中手动选择日期和时间 110

3.14.1实例说明 111

3.14.2具体实现 111

3.14.3特别提醒——控件TimePicker中的主要方法 112

3.15动态排版手机屏幕 113

3.15.1实例说明 113

3.15.2具体实现 113

3.15.3特别提醒——总结UI界面布局 114

3.16使用ListActivity实现界面布局 115

3.16.1实例说明 115

3.16.2具体实现 116

3.16.3特别提醒——ListActivity的用法总结 117

3.17加载手机磁盘中的文件 118

3.17.1实例说明 118

3.17.2具体实现 118

3.17.3特别提醒——解析Android中的图片素材目录 119

3.18使用菜单控件MENU 119

3.18.1实例说明 119

3.18.2具体实现 119

3.18.3特别提醒——Android系统中的3种菜单类型 121

3.19使用SimpleAdapter实现ListView效果 122

3.19.1实例说明 122

3.19.2具体实现 122

3.19.3特别提醒——ArrayAdapter接受一个数组或者List作为参数 123

3.20在屏幕中实现抽屉样式效果 123

3.20.1实例说明 123

3.20.2具体实现 123

3.20.3特别提醒——实现可拖拉的抽屉效果 126

3.21在屏幕中演示使用多种对话框 129

3.21.1实例说明 129

3.21.2具体实现 130

3.21.3特别提醒——自定义消除AlertDialog的黑、白边框 133

3.22联合使用Toast和Notification实现提醒 134

3.22.1实例说明 134

3.22.2具体实现 135

3.22.3特别提醒——更新通知信息 139

3.23动态添加/删除Spinner菜单 139

3.23.1实例说明 139

3.23.2具体实现 139

3.23.3特别提醒——改变TextView内容 141

3.24自定义一个Android控件 142

3.24.1实例说明 142

3.24.2具体实现 142

3.24.3特别提醒——将属性值绑定到控件的基本步骤 144

3.25设置控件的外观样式 145

3.25.1实例说明 145

3.25.2具体实现 145

3.25.3特别提醒——查看Android开源代码 146

3.26使用自定义控件在屏幕中绘制一条虚线 147

3.26.1实例说明 148

3.26.2具体实现 148

3.26.3特别提醒——总结实现自定义控件的流程 148

3.27实现自定义组合控件和自定义对话框 149

3.27.1实例说明 149

3.27.2具体实现 149

3.27.3特别提醒——读者们汲取笔者的教训 152

3.28使用OptionsMenu在屏幕中自定义自己的菜单 152

3.28.1实例说明 152

3.28.2具体实现 153

3.28.3特别提醒——编写自定义样式 154

3.29使用ExpandableListView实现手风琴效果 155

3.29.1实例说明 155

3.29.2具体实现 155

3.29.3特别提醒——ExpandableListAdapter接口 156

3.30基于自定义适配器的ExpandableListView 156

3.30.1实例说明 157

3.30.2具体实现 157

3.30.3特别提醒——实现规整的布局 158

3.31使用Chronometer在屏幕中实现定时器效果 160

3.31.1实例说明 160

3.31.2具体实现 160

3.31.3特别提醒——进一步设置时间 161

3.32使用控件SlidingDrawer在屏幕中实现滑动式抽屉的效果 161

3.32.1实例说明 161

3.32.2具体实现 162

3.32.3特别提醒——布局SlidingDrawer里面的控件 163

3.33在EditText插入QQ表情 163

3.33.1实例说明 163

3.33.2具体实现 163

3.33.3特别提醒——删除表情图片的思路 163

3.34为Button设计样式 164

3.34.1实例说明 164

3.34.2具体实现 164

3.34.3特别提醒——Android如何设置控件的样式 164

3.35为控件自定义样式 164

3.35.1实例说明 164

3.35.2具体实现 165

3.35.3特别提醒——和样式设置相关的属性和文件 165

3.36制作一个有秒针的时钟 165

3.36.1实例说明 165

3.36.2具体实现 165

3.36.3特别提醒——要如何随时都知道时间的改变 167

第4章 屏幕显示应用 168

4.1在屏幕中输出显示一段文字 168

4.1.1实例说明 168

4.1.2具体实现 168

4.1.3特别提醒——处理超出屏幕宽度的文字 169

4.2更改屏幕背景颜色 169

4.2.1实例说明 169

4.2.2具体实现 169

4.2.3特别提醒——“res/values”目录保存设置颜色 171

4.3更改屏幕中的文字颜色 171

4.3.1实例说明 171

4.3.2具体实现 171

4.3.3特别提醒——遵循MVC开发模式 172

4.4置换屏幕中TextView文字的颜色 172

4.4.1实例说明 172

4.4.2具体实现 173

4.4.3特别提醒——使用转义字符 173

4.5获取手机屏幕的分辨率 173

4.5.1实例说明 173

4.5.2具体实现 174

4.5.3特别提醒——DisplayMetrics的用法 174

4.6设置屏幕中的文字样式 175

4.6.1实例说明 175

4.6.2具体实现 175

4.6.3特别提醒——更改Layout中对象的外观 176

4.7响应按钮事件 176

4.7.1实例说明 177

4.7.2具体实现 177

4.7.3特别提醒——两个注意事项 177

4.8实现屏幕界面的转换 178

4.8.1实例说明 178

4.8.2具体实现 178

4.8.3特别提醒——setContentView转换屏幕界面 179

4.9在一个Activity中调用另一个Activity 179

4.9.1实例说明 179

4.9.2具体实现 180

4.9.3特别提醒——Intent的作用 181

4.10计算标准体重 181

4.10.1实例说明 181

4.10.2具体实现 182

4.10.3特别提——Activity的原理 184

4.11将数据返回到前一个Activity 184

4.11.1实例说明 184

4.11.2具体实现 184

4.11.3特别提醒——重新返回给主Activity 1 187

4.12单击按钮后改变文字颜色 187

4.12.1实例说明 188

4.12.2具体实现 188

4.12.3特别提醒——使用HTML控制颜色 188

4.13设置手机屏幕中文本的字体 189

4.13.1实例说明 189

4.13.2具体实现 189

4.13.3特别提醒——使用字体的问题 190

4.14在手机屏幕中实现拖动图片特效 190

4.14.1实例说明 190

4.14.2具体实现 190

4.14.3特别提醒——导入外部图片作为内置图 191

4.15制作一个简单的计算器 191

4.15.1实例说明 192

4.15.2具体实现 192

4.15.3特别提醒——计算小数 193

4.16在屏幕中实现一个About(关于)信息效果 193

4.16.1实例说明 193

4.16.2具体实现 193

4.16.3特别提醒——实现一个确认对话框 194

4.17在手机屏幕中实现程序加载效果 195

4.17.1实例说明 195

4.17.2具体实现 195

4.17.3特别提醒——ProgressDialog类 196

4.18创建一个有选择项的对话框 196

4.18.1实例说明 196

4.18.2具体实现 197

4.18.3特别提醒——AlertDialog.Builder的内部组成 197

4.19改变手机的主题 198

4.19.1实例说明 198

4.19.2具体实现 198

4.19.3特别提醒——设置Style 199

4.20在屏幕中自动显示输入的数据 199

4.20.1实例说明 199

4.20.2具体实现 199

4.20.3特别提醒——链接字符串的妙用 200

4.21实现手机振动效果 200

4.21.1实例说明 200

4.21.2具体实现 201

4.21.3特别提醒——Vibrator对象实现振动 203

4.22实现图文提醒效果 203

4.22.1实例说明 203

4.22.2具体实现 203

4.22.3特别提醒——带图提醒的妙用 205

4.23实现类似于MSN/QQ的状态效果 205

4.23.1实例说明 205

4.23.2具体实现 206

4.23.3特别提醒——使用NotificationManager的基本步骤 207

4.24检索手机中的通讯录 208

4.24.1实例说明 209

4.24.2具体实现 209

4.24.3特别提醒——URI介绍和ContentResolver的用法剖析 211

4.25管理手机系统中的文件 212

4.25.1实例说明 213

4.25.2具体实现 213

4.25.3特别提醒——同时显示文件名、图标和文件夹名 216

4.26清除、还原手机桌面 216

4.26.1实例说明 216

4.26.2具体实现 216

4.26.3特别提醒——类ContextWrapper的根类 217

4.27“修改/删除”手机中的文件 217

4.27.1实例说明 218

4.27.2具体实现 218

4.27.3特别提醒——I/O类的操作流程 223

4.28获取当前运行程序的路径 224

4.28.1实例说明 224

4.28.2具体实现 225

4.28.3特别提醒——两种表示目录的方式 227

4.29获取手机内SIM卡的信息 227

4.29.1实例说明 227

4.29.2具体实现 228

4.29.3特别提醒——SIM卡的意义 230

4.30查看当前系统中正在运行的程序 231

4.30.1实例说明 231

4.30.2具体实现 231

4.30.3特别提醒——AndroidManifest.xml中的权限 233

4.31修改手机屏幕的显示方向 236

4.31.1实例说明 236

4.31.2具体实现 236

4.31.3特别提醒——切换和不切换的实现方法 239

第5章 自动为您服务 240

5.1获取手机屏幕的分辨率 240

5.1.1实例说明 240

5.1.2具体实现 240

5.1.3特别提醒——一个模拟器模拟短信操作 242

5.2获取手机剩余的电池容量 243

5.2.1实例说明 243

5.2.2具体实现 243

5.2.3特别提醒——Reseiver的作用 244

5.3来电时自动发送信息提醒 245

5.3.1实例说明 245

5.3.2具体实现 245

5.3.3特别提醒——TelephonyManager和PhoneStateListener 247

5.4获取手机中存储卡的容量 248

5.4.1实例说明 248

5.4.2具体实现 248

5.4.3特别提醒——使用FAT32格式的磁盘镜像作为SD卡的模拟 249

5.5操作存储卡和内存卡中的信息 250

5.5.1实例说明 250

5.5.2具体实现 250

5.5.3特别提醒——管理SD卡中的内容 255

5.6设置闹钟 255

5.6.1实例说明 255

5.6.2具体实现 255

5.6.3特别提醒——类AlarmManager的作用 259

5.7设置黑名单来电自动静音 259

5.7.1实例说明 260

5.7.2具体实现 260

5.7.3特别提醒——检测Android系统是否静音 262

5.8定时更换手机桌面背景 262

5.8.1实例说明 262

5.8.2具体实现 262

5.8.3特别提醒——AlarmManager的原理 268

5.9开机后自动显示一个界面 269

5.9.1实例说明 269

5.9.2具体实现 269

5.9.3特别提醒——开机发送BOOT_COMPLETED广播信息 270

5.10替换手机屏幕的背景图片 270

5.10.1实例说明 270

5.10.2具体实现 270

5.10.3特别提醒——维持图片的宽高比 272

5.11在手机屏幕中拖动一个按钮 272

5.11.1实例说明 273

5.11.2具体实现 273

5.11.3特别提醒——通过keyCode来判断A~Z的按键 275

5.12自动控制系统服务 276

5.12.1实例说明 276

5.12.2具体实现 276

5.12.3特别提醒——Service的作用 278

5.13手机背面朝上时自动启动震动模式 278

5.13.1实例说明 278

5.13.2具体实现 278

5.13.3特别提醒——registerListener()的参数 282

5.14 AlarmManager的启动和关闭 283

5.14.1实例说明 283

5.14.2具体实现 283

5.14.3特别提醒——闹钟服务 284

5.15黑名单拦截机制 284

5.15.1实例说明 284

5.15.2具体实现 285

5.15.3特别提醒——Android的通话机制 287

5.16开机后启动一个服务 288

5.16.1实例说明 288

5.16.2具体实现 288

5.16.3特别提醒——开机自动启动的原理 288

第6章 数据存储服务 289

6.1在屏幕中显示SharedPreferences存储的信息 289

6.1.1实例说明 289

6.1.2具体实现 289

6.1.3特别提醒——存放数据的路径 290

6.2数据的添加和删除 290

6.2.1实例说明 290

6.2.2具体实现 290

6.2.3特别提醒——Android支持5种打印输出级别 294

6.3演示ContentProvider的用法 294

6.3.1实例说明 294

6.3.2具体实现 294

6.3.3特别别提醒——ContentResolver提供的接口 295

6.4使用SQLite编写一个日记本 296

6.4.1实例说明 296

6.4.2具体实现 296

6.4.3特别提醒——SimpleCursorAdapter和ArrayAdapter的对比 301

6.5使用Content Provider实现日记本功能 301

6.5.1实例说明 301

6.5.2具体实现 301

6.5.3特别提醒——Content Provider和ContentResolver中的Uri 310

6.6保存用户的信息 310

6.6.1实例说明 310

6.6.2具体实现 310

6.6.3特别提醒——XML文件的形式保存数据 312

6.7使用文件保存数据 312

6.7.1实例说明 312

6.7.2具体实现 313

6.7.3特别提醒——方法openFileOutput() 314

6.8将网上图片保存在SD卡中并显示出来 315

6.8.1实例说明 315

6.8.2具体实现 316

6.8.3特别提醒——总结数据存储方式 317

6.9读取上次保存的信息 319

6.9.1实例说明 319

6.9.2具体实现 319

6.9.3特别提醒——使用SharedPreferences保存key-value对的步骤 320

6.10使用Content Provider存储信息 320

6.10.1实例说明 320

6.10.2具体实现 320

6.10.3特别提醒——框架内部的操作 322

6.11使用SQLite操作数据 322

6.11.1实例说明 322

6.11.2具体实现 322

6.11.3特别提醒——使用SQLiteDatabase操作SQLite数据库 324

6.12一个SQLite管理程序 324

6.12.1实例说明 324

6.12.2具体实现 325

第7章 电话和短信应用 327

7.1实现一个简单的拨号程序 327

7.1.1实例说明 327

7.1.2具体实现 327

7.1.3特别提醒——IntentFilter实现拨号 329

7.2实现发送短信功能 330

7.2.1实例说明 330

7.2.2具体实现 330

7.2.3特别提醒——包android.telephony简介 331

7.3实现一个按钮拨号程序 332

7.3.1实例说明 332

7.3.2具体实现 332

7.3.3特别提醒——一段通用的验证电话号码的代码 334

7.4一个发送短信系统 334

7.4.1实例说明 334

7.4.2具体实现 334

7.4.3特别提醒——SmsManager类 337

7.5实现屏幕触控拨号程序 338

7.5.1实例说明 338

7.5.2具体实现 338

7.5.3特别提醒——将Action动作定义成常数 338

7.6实现短信群发功能 339

7.6.1实例说明 339

7.6.2具体实现 339

7.6.3特别提醒——Android的群组功能 341

7.7在发送短信时实现E-mail邮件通知 341

7.7.1实例说明 342

7.7.2具体实现 342

7.7.3特别提醒——通过Intent机制协助应用间的交互与通讯 345

7.8来电后自动发送邮件通知 345

7.8.1实例说明 345

7.8.2具体实现 345

7.8.3特别提醒——模拟器的问题 347

7.9监听短信是否发送成功 347

7.9.1实例说明 347

7.9.2具体实现 347

7.9.3特别提醒——发送短信的状态 350

7.10监控手机拨接状态 350

7.10.1实例说明 351

7.10.2具体实现 351

7.10.3特别提醒——getSystemService的返回对象 353

7.11监控收取的短信中是否含有某关键字 353

7.11.1实例说明 353

7.11.2具体实现 354

7.11.3特别提醒——不可以直接唤醒原来的主Activity 359

第8章 图形图像处理 361

8.1在手机屏幕中绘制一个矩形 361

8.1.1实例说明 361

8.1.2具体实现 361

8.1.3特别提醒——类Paint中的方法 363

8.2在手机屏幕中绘制一个画布 363

8.2.1实例说明 364

8.2.2具体实现 364

8.2.3特别提醒——生成图片水印效果 365

8.3在手机屏幕中绘制各种图形 365

8.3.1实例说明 366

8.3.2具体实现 366

8.3.3特别提醒——save方法和restore方法 368

8.4在手机屏幕中模拟实现水纹效果 368

8.4.1实例说明 368

8.4.2实例说明 369

8.4.3特别提醒——缩放位图 371

8.5在手机屏幕中渲染一个几何图形 371

8.5.1实例说明 371

8.5.2具体实现 371

8.5.3特别提醒——类Shader中的子类 373

8.6在手机屏幕中实现动画效果 373

8.6.1实例说明 373

8.6.2具体实现 373

8.6.3特别提醒——Tween动画的4种动画效果 375

8.7在手机屏幕中实现Frame动画效果 375

8.7.1实例说明 375

8.7.2具体实现 375

8.7.3特别提醒——实现Frame动画的方法 376

8.8使用Matrix实现图片缩放 376

8.8.1实例说明 376

8.8.2具体实现 377

8.8.3特别提醒——4种缩放位图的基本方法 379

8.9旋转屏幕中的图片 380

8.9.1实例说明 380

8.9.2具体实现 380

8.9.3特别提醒——用Matrix或Canvas旋转位图 382

8.10实现天上移动星星的效果 382

8.10.1实例说明 382

8.10.2具体实现 382

8.10.3特别提醒——OpenGL技术 385

8.11构建一个模拟3D场景 385

8.11.1实例说明 385

8.11.2具体实现 385

8.11.3特别提醒——分析相关的底层代码 387

8.12实现浮动的旗帜效果 388

8.12.1实例说明 388

8.12.2具体实现 388

8.12.3特别提醒——用OpenGL ES绘图的基本流程 389

8.13在屏幕中显示多个物体 390

8.13.1实例说明 390

8.13.2具体实现 390

8.13.3特别提醒——类FloatBuffer 392

8.14模拟实现粒子系统效果 392

8.14.1实例说明 392

8.14.2具体实现 392

8.14.3特别提醒——粒子系统的实现过程 394

8.15移动手机屏幕中的图片 394

8.15.1实例说明 395

8.15.2具体实现 395

8.15.3特别提醒——配对使用save和restore 397

8.16在Canvas画布中绘制字符串 398

8.16.1实例说明 398

8.16.2具体实现 398

8.16.3特别提醒——设置画布的属性 403

8.17在手机屏幕中移动一个不断变换颜色的图形 403

8.17.1实例说明 403

8.17.2具体实现 404

8.17.3特别提醒——SurfaceView的用法 406

8.18在手机屏幕中实现一个图片移动的动画效果 406

8.18.1实例说明 406

8.18.2具体实现 406

8.18.3特别提醒——在SurfaceHolder.Callback回调接口中的常用方法 408

8.19绘制一个三维圆柱体 409

8.19.1实例说明 409

8.19.2具体实现 409

8.19.3特别提醒——展开后的圆柱体 415

8.20在手机屏幕中混合图像 415

8.20.1实例说明 416

8.20.2具体实现 416

8.20.3特别提醒——常用的混合方式 419

8.21显示图片的宽和高 419

8.21.1实例说明 420

8.21.2具体实现 420

8.21.3特别提醒——使用BitmapDrawable或BitmapFactory获取资源中的位图 421

8.22绘制各种空心图形、实心图形和渐变图形 422

8.22.1实例说明 422

8.22.2具体实现 422

8.22.3特别提醒——Canvas与ImageView对比 424

8.23编写一个屏保程序 424

8.23.1实例说明 425

8.23.2具体实现 425

8.23.3特别提醒——4个Runnable 430

8.24在屏幕中通过单击的方式移动图片 430

8.24.1实例说明 430

8.24.2具体实现 430

8.24.3特别提醒——Bitmap的两点重要应用 433

8.25显示存储卡中的图片 433

8.25.1实例说明 433

8.25.2具体实现 433

8.25.3特别提醒——测试存储卡 435

8.26显示系统内的图片信息 436

8.26.1实例说明 436

8.26.2具体实现 436

8.26.3特别提醒——BitmapDrawable操作位图 437

8.27实现图片阴影效果和影子效果 438

8.27.1实例说明 438

8.27.2具体实现 438

8.27.3特别提醒——设置字体的阴影 439

第9章 互联网应用 441

9.1传递HTTP参数 441

9.1.1实例说明 441

9.1.2具体实现 441

9.1.3特别提醒——在Android系统中打开链接 444

9.2在手机中浏览网页 444

9.2.1实例说明 444

9.2.2具体实现 444

9.2.3特别提醒——loadUrl方法访问网页 445

9.3在手机中使用HTML程序 445

9.3.1实例说明 445

9.3.2具体实现 445

9.3.3特别提醒——开发Android网络项的注意事项 446

9.4使用内置浏览器打开网页 446

9.4.1实例说明 446

9.4.2具体实现 446

9.4.3特别提醒——WebSettings设置WebView属性 448

9.5在屏幕中显示QQ空间中的图片 448

9.5.1实例说明 448

9.5.2具体实现 448

9.5.3特别提醒 ——Gallery控件在游戏中的应用 450

9.6从网络中下载图片作为屏幕背景 450

9.6.1实例说明 450

9.6.2具体实现 450

9.6.3特别提醒——将InputStream转换为String 452

9.7将文件上传至服务器 452

9.7.1实例说明 452

9.7.2具体实现 453

9.7.3特别提醒——表单上传程序实现文件上传 454

9.8实现一个RSS系统 455

9.8.1实例说明 455

9.8.2具体实现 455

9.8.3特别提醒——RSS2.0的语法规则 461

9.9远程下载并安装一个软件 462

9.9.1实例说明 462

9.9.2具体实现 463

9.9.3特别提醒——APK文件介绍 466

9.10开发一个移动微博发布器 469

9.10.1实例说明 469

9.10.2具体实现 470

9.10.3特别提醒——乐多博客的接口 473

9.11解析和生成XML 474

9.11.1实例说明 474

9.11.2具体实现 474

9.11.3特别提醒——SAX解析器 475

9.12获取网络中的图片 476

9.12.1实例说明 476

9.12.2具体实现 476

9.12.3特别提醒——Android中获取网络图片的3种方法 477

9.13获取网页的代码 477

9.13.1实例说明 478

9.13.2具体实现 478

9.13.3特别提醒——Android获取网页数据的方法总结 478

9.14获取JSON数据 480

9.14.1实例说明 480

9.14.2具体实现 480

9.14.3特别提醒 ——Android获取JSON并输出显示的方法 480

9.15多线程下载 481

9.15.1实例说明 481

9.15.2具体实现 481

9.15.3特别提醒——多线程下载文件的过程 484

9.16 get方式传递数据 485

9.16.1实例说明 485

9.16.2具体实现 485

9.16.3特别提醒——解决乱码问题 486

9.17 post方式传递数据 486

9.17.1实例说明 486

9.17.2具体实现 486

9.17.3特别提醒——get方式和post方式的区别 487

9.18调用WebService的数据 487

9.18.1实例说明 487

9.18.2具体实现 487

9.18.3特别提醒——WebService介绍 488

第10章 多媒体应用 489

10.1调节手机音量的大小 489

10.1.1实例说明 489

10.1.2具体实现 489

10.1.3特别提醒——AudioManager管理手机声音 492

10.2在手机中播放MP3文件 492

10.2.1实例说明 492

10.2.2具体实现 492

10.2.3特别提醒——播放手机卡里的音乐或者网络中的流媒体 495

10.3编写一个录音程序 495

10.3.1实例说明 495

10.3.2具体实现 496

10.3.3特别提醒——Android的开源多媒体框架 500

10.4在手机中实现相机预览和拍照功能 500

10.4.1实例说明 500

10.4.2具体实现 500

10.4.3特别提醒——使用摄像头的方法 505

10.5在手机中播放影片 507

10.5.1实例说明 507

10.5.2具体实现 507

10.5.3特别提醒——VideoView类的构造函数 509

10.6编程的方式设置手机中的铃声 509

10.6.1实例说明 509

10.6.2具体实现 510

10.6.3特别提醒——设置3种声音 512

10.7播放远程网络中的MP3 512

10.7.1实例说明 512

10.7.2具体实现 512

10.7.3特别提醒——Runnable并不一定是新开一个线程 517

10.8从网络中远程下载手机铃声 517

10.8.1实例说明 517

10.8.2具体实现 518

10.8.3特别提醒——使用Notification的注意事项 522

10.9远程观看网络中的3GP视频 522

10.9.1实例说明 522

10.9.2具体实现 522

10.9.3特别提醒——Gallery调用MediaProvider的数据 527

10.10在屏幕中播放GIF动画 528

10.10.1实例说明 528

10.10.2具体实现 528

10.10.3特别提醒——GIF动画和帧播放 532

10.11编写一个简单的音乐播放器 533

10.11.1实例说明 533

10.11.2具体实现 533

10.11.3特别提醒——SD卡支持ContentProvider接口 536

10.12在手机中播放MP4视频 536

10.12.1实例说明 536

10.12.2具体实现 536

10.12.3特别提醒——VideoView中的常用方法 537

第11章 地图服务 538

11.1获取当前位置的坐标 538

11.1.1实例说明 538

11.1.2具体实现 538

11.1.3特别提醒——android.location的定位功能 540

11.2使用谷歌地图 540

11.2.1实例说明 540

11.2.2具体实现 542

11.2.3特别提醒——使用Map API密钥的基本流程 544

11.3输入一个坐标后在地图中实现定位 546

11.3.1实例说明 546

11.3.2具体实现 546

11.3.3特别提醒——类GeoPoint的方法 548

11.4在手机中实现地址查询 548

11.4.1实例说明 548

11.4.2具体实现 548

11.4.3特别提醒——Google Map API解密 551

11.5实现路径导航 551

11.5.1实例说明 551

11.5.2具体实现 551

11.5.3特别提醒——起点和终点的设置 555

11.6移动手机时自动实现位置更新 556

11.6.1实例说明 556

11.6.2具体实现 556

11.6.3特别提醒——判断GPS模块是否存在或开启 559

11.7在地图中绘制线路并计算距离 559

11.7.1实例说明 559

11.7.2具体实现 560

11.7.3特别提醒——JavaScript overlay类型 564

11.8在谷歌地图中显示指定的位置 564

11.8.1实例说明 564

11.8.2具体实现 564

11.8.3特别提醒——Android的位置访问 566

11.9在屏幕中显示当前位置的详细信息 566

11.9.1实例说明 566

11.9.2具体实现 566

11.9.3特别提醒——Android中实现定位的地图 569

11.10快速查询某个位置 569

11.10.1实例说明 569

11.10.2具体实现 569

11.10.3特别提醒——谷歌地图的3种视图模式 570

11.11在手机地图中查询一个地址 571

11.11.1实例说明 571

11.11.2具体实现 571

11.11.3特别提醒——选择中文输入法 572

第12章 Google API应用 573

12.1模拟验证官方账号 573

12.1.1实例说明 573

12.1.2具体实现 573

12.1.3特别提醒——Google Account的组成 578

12.2实现谷歌搜索功能 578

12.2.1实例说明 578

12.2.2具体实现 579

12.2.3特别提醒——使用Google Search API的流程 582

12.3使用Google Chart API生成二维条码 582

12.3.1实例说明 582

12.3.2具体实现 582

12.3.3特别提醒——Google Chart API的用法详解 585

12.4在手机中编写一个翻译软件 586

12.4.1实例说明 586

12.4.2具体实现 586

12.4.3特别提醒——Ajax语言的API 587

12.5在手机屏幕中生成二维条码 588

12.5.1实例说明 588

12.5.2具体实现 588

12.5.3特别提醒——DisplayMetircs处理分辨率问题 591

12.6引用qrcode项目实现二维条码 591

12.6.1实例说明 591

12.6.2具体实现 591

12.6.3特别提醒——Android拍照的两种方式 598

第13章 游戏应用 599

13.1五子棋游戏 599

13.1.1实例说明 599

13.1.2具体实现 599

13.2益智类游戏——魔塔 605

13.2.1实例说明 605

13.2.2具体实现 605

13.2.3特别提醒——一款游戏产品受到的限制 620

13.3一个简单的贪吃蛇游戏 620

13.3.1实例说明 620

13.3.2具体实现 621

13.3.3特别提醒——贪吃蛇游戏的基本思路 624

13.4扑克游戏 625

13.4.1实例说明 625

13.4.2具体实现 625

13.4.3特别提醒——游戏的大纲策划 628

13.5扫雷游戏 629

13.5.1实例说明 629

13.5.2具体实现 630

13.5.3特别提醒——用“?”标记空白 635

13.6体育竞技类游戏——疯狂足球 635

13.6.1实例说明 635

13.6.2具体实现 636

13.6.3特别提醒——做好准备工作 638

13.7象棋游戏 639

13.7.1实例说明 639

13.7.2具体实现 639

13.8 21点游戏 641

13.8.1实例说明 642

13.8.2具体实现 642

13.8.3特别提醒——棋牌游戏发展现状 644

13.9俄罗斯方块游戏 644

13.9.1实例说明 644

13.9.2具体实现 644

13.9.3特别提醒——经典棋牌类游戏 646

13.10蚂蚁迷呀 647

13.10.1实例说明 647

13.10.2具体实现 647

13.11推箱子游戏 650

13.11.1实例说明 650

13.11.2具体实现 650

13.11.3特别提醒——SurfaceView的作用 653

13.12更复杂的扫雷游戏 653

13.12.1实例说明 653

13.12.2具体实现 653

13.12.3特别提醒——关于扫雷游戏的一点说明 658

第14章 程序优化 659

14.1 <merge/>标签在UI界面中的优化作用 659

14.1.1实例说明 659

14.1.2具体实现 659

14.1.3特别提醒——使用<merge/>标签的注意事项 661

14.2测试计算机的性能 661

14.2.1实例说明 661

14.2.2具体实现 661

14.2.3特别提醒——使用动态代理 664

14.3测试内存性能 664

14.3.1实例说明 664

14.3.2具体实现 664

14.3.3特别提醒——命名问题 665

14.4 Android Layout优化 666

14.4.1实例说明 666

14.4.2具体实现 666

14.4.3特别提醒——Layout布局的注意事项 667

14.5优化Bitmap图片 667

14.5.1实例说明 667

14.5.2具体实现 667

14.5.3特别提醒——Options中的属性 669

14.6优化Android模拟器 669

14.6.1实例说明 669

14.6.2具体实现 669

14.6.3特别提醒——开启动画效果选项 671

第15章 平板电脑应用开发 672

15.1设置平板程序开发环境 672

15.1.1实例说明 672

15.1.2具体实现 672

15.1.3特别提醒——平板电脑的分辨率 673

15.2在平板电脑中开发一个音乐播放器 674

15.2.1实例说明 674

15.2.2具体实现 674

15.2.3特别提醒——在平板电脑中开发一个视频播放程序 678

15.3浏览指定的网页 679

15.3.1实例说明 679

15.3.2具体实现 679

15.3.3特别提醒——设置样式自适应 682

15.4开发一个天气预报系统 683

15.4.1实例说明 683

15.4.2具体实现 683

15.4.3特别提醒——XML实现方式 689

15.5使用文件存储数据的方法保存音乐状态 689

15.5.1实例说明 690

15.5.2具体实现 690

15.5.3特别提醒——修改平板电脑程序 692

15.6勇敢派递员游戏 692

15.6.1实例说明 692

15.6.2具体实现 692

15.6.3特别提醒——解读AndEngine框架 693

15.7愤怒的小鸟游戏 694

15.7.1实例说明 694

15.7.2具体实现 694

15.7.3特别提醒——AndEngine的基本运行流程 698

15.8仓库管理系统 698

15.8.1实例说明 698

15.8.2具体实现 698

15.8.3特别提醒——删除供应商信息步骤及处理流程 702

第16章 移动Web应用 704

16.1在Android模拟器测试网页 704

16.1.1实例说明 704

16.1.2具体实现 704

16.1.3特别提醒——移动设备将占据未来计算机市场 705

16.2编写第一个网页 705

16.2.1实例说明 705

16.2.2具体实现 705

16.2.3特别提醒——格式化一级和二级导航的<ul>元素 709

16.3使用jQuery设计网页 709

16.3.1实例说明 709

16.3.2具体实现 709

16.3.3特别提醒——jQuery介绍 711

16.4使用页面模板 711

16.4.1实例说明 711

16.4.2具体实现 711

16.4.3特别提醒——组件的增强样式 712

16.5使用多页面模板 712

16.5.1实例说明 713

16.5.2具体实现 713

16.5.3特别提醒——设置内部页面的页面标题 713

16.6使用Ajax驱动导航 714

16.6.1实例说明 714

16.6.2具体实现 714

16.6.3特别提醒——分析jQuery Mobile的处理流程 715

16.7开发一个Ajax网页 716

16.7.1实例说明 716

16.7.2具体实现 716

16.7.3特别提醒——智能手机数量猛增 719

16.8实现基本对话框效果 720

16.8.1实例说明 720

16.8.2具体实现 720

16.8.3特别提醒——使用操作表 721

16.9实现警告框 721

16.9.1实例说明 721

16.9.2具体实现 722

16.9.3特别提醒——使用多选项操作表 723

16.10实现竖屏和横屏自适应效果 723

16.10.1实例说明 723

16.10.2具体实现 723

16.10.3特别提醒——Webkit的媒体扩展 724

16.11实现全屏显示效果 724

16.11.1实例说明 724

16.11.2具体实现 724

16.11.3特别提醒——可以用于定位页眉的3种样式 725

16.12实现只有图标的按钮效果 725

16.12.1实例说明 726

16.12.2具体实现 726

16.12.3特别提醒——在页眉中使用分段控件 727

16.13实现回退按钮效果 727

16.13.1实例说明 727

16.13.2具体实现 727

16.13.3特别提醒——在页眉中添加回退链接 728

16.14在表单中输入文本 728

16.14.1实例说明 729

16.14.2具体实现 729

16.14.3特别提醒——将输入字段与其语义类型关联 730

16.15动态输入文本 731

16.15.1实例说明 731

16.15.2具体实现 731

16.15.3特别提醒——使用选择菜单 732

16.16实现一个自定义选择菜单效果 732

16.16.1实例说明 732

16.16.2具体实现 732

16.16.3特别提醒——占位符选项 734

16.17使用内置列表 734

16.17.1实例说明 734

16.17.2具体实现 734

16.17.3特别提醒——使用列表分割线 735

16.18实现缩略图列表效果 735

16.18.1实例说明 735

16.18.2具体实现 735

16.18.3特别提醒——使用拆分按钮列表 737

16.19实现可折叠设置效果 737

16.19.1实例说明 737

16.19.2具体实现 737

16.19.3特别提醒——使用CSS设置样式 739

16.20使用网络连接API 739

16.20.1实例说明 739

16.20.2具体实现 739

16.20.3特别提醒——使用指南针API 740

16.21预加载一个网页 740

16.21.1实例说明 740

16.21.2具体实现 741

16.21.3特别提醒——Pagebeforechange事件 741

16.22开发一个Web版的电话簿系统 741

16.22.1实例说明 742

16.22.2具体实现 742

16.22.3特别提醒——使用页面初始化事件Page initialization events 746

16.23搭建PhoneGap开发环境 746

16.23.1实例说明 746

16.23.2具体实现 747

16.23.3特别提醒——PhoneGap移动Web开发的步骤 748

16.24创建基于PhoneGap的HeIIoWorld程序 748

16.24.1实例说明 748

16.24.2具体实现 748

16.24.3特别提醒——使用PhoneGap API 752

第17章 创意开发 753

17.1开发一个蓝牙遥控器 753

17.1.1实例说明 753

17.1.2具体实现 753

17.1.3特别提醒——蓝牙在模拟器上发生问题 758

17.2手机模拟实现跋杯仪式 758

17.2.1实例说明 758

17.2.2具体实现 759

17.2.3特别提醒——使用传感器技术 763

17.3随时检测我们当前的加速度 763

17.3.1实例说明 763

17.3.2具体实现 763

17.3.3特别提醒——安装SensorSimulator工具 765

17.4语音识别系统 767

17.4.1实例说明 767

17.4.2具体实现 767

17.4.3特别提醒——谷歌的语音识别技术 768

17.5在Android中使用JavaScript 769

17.5.1实例说明 769

17.5.2具体实现 769

17.5.3特别提醒——在Android中做网页 771

17.6动态更换壁纸 771

17.6.1实例说明 771

17.6.2具体实现 771

17.6.3特别提醒——Service BroadcastReceiver与AlarmManager 772

17.7二维扫描码程序 772

17.7.1实例说明 772

17.7.2具体实现 773

17.7.3特别提醒——Zxing开源项目 775

17.8随身日记本 775

17.8.1实例说明 775

17.8.2具体实现 775

17.8.3特别提醒——Cursor对象的常用方法 777

相关图书
作者其它书籍
返回顶部