Android开发完全讲义(第三版)

-
【作 者】李宁
【I S B N 】978-7-5170-3663-0
【责任编辑】张玉玲
【适用读者群】本专通用
【出版时间】2016-01-07
【开 本】16开
【装帧信息】平装(光膜)
【版 次】第1版第1次印刷
【页 数】608
【千字数】975
【印 张】38
【定 价】¥88
【丛 书】暂无分类
【备注信息】
简介
本书特色
前言
章节列表
精彩阅读
下载资源
相关图书
Android经典专著升级版,全面介绍Android的应用开发技术。主要内容包括Android入门,第一个Android程序,Android应用程序架构,建立用户接口,控件详解,View事件分发机制,移动存储解决方案,App之间的通信,服务(Service),网络技术,多媒体技术,Fragment,ActionBar,Android 5.x新特性:质感主题,Android 5.x新特性:阴影和视图裁剪,Android 5.x新特性:列表和卡片控件,Android 5.x新特性:Drawable资源,其他Android 5.X新特性,2D动画,OpenGL ES编程,媒体特效API,资源、国际化与自适应,访问Android手机的硬件,NDK技术,蓝牙技术,有趣的Android技术,Android App性能调优,内存泄露检测,项目实战:超级手电筒,项目实战:基于XMPP的IM客户端。
本书适合:有一定的Java基础,想通过Android进入移动开发领域的读者;已经有一定的Android开发经验,想进一步提高Android开发能力的读者;想将本书作为Android的参考手册,随时随地查阅的读者;对Android报有浓厚兴趣的其他手机平台的开发人员;正在学习Android的在校大学生以及培训学校的学员等使用。
资深一线Android开发工程师、极客、51CTO、cnblogs、CSDN超人气博主“银河使者”快意分享
本书的两版版权均输出到台湾,深受两岸数万Android学习者好评,被称为“Android第1节”
一本真正全面又系统的Android开发技术学习讲义,轻梭不乏味
完美的实战环境搭建,Step by Step的案例讲解,真正消灭常见学习暗障
赠送全国首个技术测试APP金版帐号(账号获得方式:见geekculture技术支持微信公众号)
第三版前言
从2007年的第一版Android系统,到现在为止(2015年),已经整整8年时光了,正进入稳步发展的时期。Android的版本也从1.x、2.x、3.x、4.x升级到现在的5.x。在最新版的Android系统中,变化还是大大地。除了底层从Dalivk变到了ART,SDK层也发生了翻天覆地的变化。除了增加了数千API,还引入了质感设计等新的UI风格。
由于现在关于Android 5.x的书仍然比较匮乏,所以在第二版的基础上,增加了Android 5.x的新特性部分。尤其是质感设计部分,读者可以通过这一部分内容,充分了解Android 5.x的主要变化。由于Android 5.x引入了ART技术,所以App的启动和运行效率明显提高,因此,未来的Android将会彻底摆脱App体验没有iOS App好的帽子。
本书是一本全面介绍Android各种常用开发技术的专著。全面介绍了Android 5.x的各种开发技术。
1.内容丰富,知识面广
本书全面介绍了Android的各种应用开发技术,主要包括四大应用程序组件、UI控件、Fragment、ActionBar、数据存储、网络、蓝牙、多媒体、NDK、GPS等。读者通过本书可以深入了解Android应用开发技术的细节。
2.深入讲解了Android 5.x带来的新技术
本书利用多章篇幅,详细介绍了Android 5.x给我们带来的新特性。例如,质感主题、新的控件、矢量动画等技术。通过这些内容,读者一定会喜欢上Android 5.x的。因为它不仅给我们带来了新的API,还带来了惊喜。
3.内容详实,深入浅出
本书绝大多数章节都配有大量的习题,采用了先理论后实战的方式进行讲解。让读者在理论和代码编写上都游刃有余。
4.精彩综合实战案例
为了让读者可以综合运用本书知识,最后两章提供了两个综合案例:超级手电筒和基于XMPP的IM客户端。通过这两个综合案例,可以进一步消化本书的知识和技巧。
源代码下载:
本书源代码可以通过微信公众号(geekculture)下载,二维码如右图;或从中国水利水电出版社网站或万水书苑上免费下载,网址为:http://www.waterpub.com.cn/softdown/和http://www.wsbookshow.com。
1.1 Android的基本概念 1
1.1.1 Android简介 2
1.1.2 Android的系统构架 3
1.2 Android开发环境的搭建 4
1.2.1 开发Android程序需要些什么 4
1.2.2 安装Android SDK 5
1.2.3 安装Eclipse插件ADT 7
1.2.4 创建AVD 8
1.2.5 启动Android模拟器 10
1.2.6 让Android模拟器飞(X86加速) 11
1.2.7 测试Android开发环境是否
安装成功 12
1.3 Android SDK中的常用命令行工具 14
1.3.1 启动和关闭ADB服务(adb
start-server和adb kill-server) 14
1.3.2 查询当前模拟器/设备的实例
(adb devices) 14
1.3.3 安装、卸载和运行程序(adb install、
adb uninstall和am) 14
1.3.4 PC与模拟器或真机交换文件(adb
pull和adb push) 15
1.3.5 Shell命令 15
1.3.6 创建、删除和浏览AVD设备
(android) 16
1.3.7 获取Android版本对应的ID 17
1.3.8 创建SD卡 17
1.4 Android的学习资源 17
1.5 Google Play 18
1.6 小结 18
第2章 第一个Android程序 19
2.1 编写用于显示当前日期和时间的程序 19
2.1.1 新建一个Android工程 19
2.1.2 界面控件的布局 20
2.1.3 编写实际代码 20
2.2 调试程序 22
2.3 签名和发布应用程序 23
2.3.1 使用命令行方式进行签名 23
2.3.2 使用ADT插件方式进行签名 24
2.4 DDMS透视图 25
2.5 小结 26
第3章 Android应用程序架构 27
3.1 Android应用程序中的资源 27
3.1.1 资源存放在哪里 27
3.1.2 资源的种类 28
3.1.3 资源的基本使用方法 28
3.2 Android的应用程序组件 29
3.2.1 活动(Activity)组件 29
3.2.2 服务(Service)组件 30
3.2.3 广播接收者(Broadcast receivers)
组件 30
3.2.4 内容提供者(Content providers)
组件 31
3.3 AndroidManifest.xml文件的结构 31
3.4 小结 32
第4章 建立用户接口 33
4.1 建立、配置和使用Activity 33
4.1.1 建立和配置Activity 33
4.1.2 Activity的生命周期 35
4.1.3 Activity生命周期的演示 37
4.2 视图(View) 40
4.2.1 视图简介 40
4.2.2 使用XML布局文件控制视图 40
4.2.3 在代码中控制视图 42
4.2.4 混合使用XML布局文件和代码
来控制视图 43
4.2.5 定制控件(Widget)的三种方式 45
4.2.6 定制控件—带图像的TextView 46
4.2.7 定制控件—带文本标签的
EditText 49
4.2.8 定制控件—可更换表盘的
指针时钟 52
4.3 使用AlertDialog类创建对话框 57
4.3.1 AlertDialog类简介 57
4.3.2 “确认/取消”对话框 58
4.3.3 创建询问是否删除文件的
“确认/取消”对话框 58
4.3.4 带3个按钮的对话框 60
4.3.5 创建“覆盖/忽略/取消”对话框 60
4.3.6 简单列表对话框 61
4.3.7 单选列表对话框 61
4.3.8 多选列表对话框 62
4.3.9 创建3种选择省份的列表对话框 62
4.3.10 水平进度对话框和圆形进度
对话框 67
4.3.11 水平进度对话框和圆形进度
对话框演示 68
4.3.12 自定义对话框 71
4.3.13 创建登录对话框 71
4.3.14 用Activity托管对话框 73
4.3.15 创建悬浮对话框和触摸任何位置
都可以关闭的对话框 74
4.4 Toast和Notification 77
4.4.1 用Toast显示提示信息框 77
4.4.2 Notification与状态栏信息 78
4.5 布局 81
4.5.1 框架布局(FrameLayout) 81
4.5.2 霓虹灯效果的TextView 81
4.5.3 线性布局(LinearLayout) 83
4.5.4 利用LinearLayout将按钮放在屏幕
的四角和中心位置 85
4.5.5 相对布局(RelativeLayout) 86
4.5.6 利用RelativeLayout实现梅花效果
的布局 86
4.5.7 表格布局(TableLayout) 87
4.5.8 计算器按钮的布局 88
4.5.9 绝对布局(AbsoluteLayout) 88
4.5.10 查看apk文件中的布局 89
4.6 小结 89
第5章 控件详解 90
5.1 显示和编辑文本的控件 91
5.1.1 显示文本的控件:TextView 91
5.1.2 在TextView中显示URL及不同字体
大小、不同颜色的文本 93
5.1.3 带边框的TextView 94
5.1.4 设置TextView控件的行间距 97
5.1.5 输入文本的控件:EditText 98
5.1.6 在EditText中输入特定的字符 99
5.1.7 按Enter键显示EditText 100
5.1.8 自动完成输入内容的控件:
AutoCompleteTextView 101
5.2 按钮与复选框控件 102
5.2.1 普通按钮控件:Button 103
5.2.2 异形(圆形、五角星、螺旋形和
箭头)按钮 103
5.2.3 图像按钮控件:ImageButton 105
5.2.4 同时显示图像和文字的按钮 105
5.2.5 选项按钮控件:RadioButton 106
5.2.6 开关状态按钮控件:ToggleButton 107
5.2.7 复选框控件:CheckBox 108
5.2.8 利用XML布局文件动态创建
CheckBox 108
5.3 日期与时间控件 110
5.3.1 输入日期的控件:DatePicker 110
5.3.2 输入时间的控件:TimePicker 110
5.3.3 DatePicker、TimePicker与TextView
同步显示日期和时间 111
5.3.4 显示时钟的控件:AnalogClock
和DigitalClock 112
5.4 进度条控件 112
5.4.1 进度条控件:ProgressBar 113
5.4.2 拖动条控件:SeekBar 114
5.4.3 改变ProgressBar和SeekBar
的颜色 115
5.4.4 评分控件:RatingBar 116
5.5 其他重要控件 118
5.5.1 显示图像的控件:ImageView 118
5.5.2 可显示图像指定区域的ImageView
控件 119
5.5.3 动态缩放和旋转图像 119
5.5.4 列表控件:ListView 121
5.5.5 可以单选和多选的ListView 123
5.5.6 动态添加、删除ListView列表项 125
5.5.7 改变ListView列表项选中状态
的背景颜色 128
5.5.8 封装ListView的Activity:
ListActivity 129
5.5.9 使用SimpleAdapter建立复杂的
列表项 130
5.5.10 给应用程序评分 131
5.5.11 可展开的列表控件:
ExpandableListView 133
5.5.12 下拉列表控件:Spinner 136
5.5.13 垂直滚动视图控件:ScrollView 137
5.5.14 水平滚动视图控件:
HorizontalScrollView 138
5.5.15 可垂直和水平滚动的视图 138
5.5.16 网格视图控件:GridView 139
5.5.17 可循环显示和切换图像的控件:
Gallery和ImageSwitcher 140
5.6 小结 142
第6章 View事件分发机制 143
6.1 事件分发的始作俑者 143
6.2 View类中的事件分发引擎 144
6.3 ViewGroup类的事件分发引擎 146
6.4 通过代码验证View事件分发机制 148
6.4.1 实现一个派生自Button的类 148
6.4.2 实现布局 149
6.4.3 实现主窗口类 149
6.5 单击事件(onClick)是如何被触发的 152
6.6 Activity中的dispatchTouchEvent方法 154
6.7 小结 157
第7章 移动存储解决方案 158
7.1 最简单的数据存储方式:
SharedPreferences 158
7.1.1 使用SharedPreferences存取数据 158
7.1.2 数据的存储位置和格式 160
7.1.3 存取复杂类型的数据 161
7.1.4 设置数据文件的访问权限 163
7.1.5 可以保存设置的Activity:
PreferenceActivity 165
7.2 文件的存储 168
7.2.1 openFileOutput和openFileInput
方法 168
7.2.2 SD卡文件浏览器 169
7.2.3 存取SD卡中的图像 173
7.2.4 SAX引擎读取XML文件的原理 175
7.2.5 将XML数据转换成Java对象 175
7.3 SQLite数据库 178
7.3.1 SQLite数据库管理工具 178
7.3.2 创建数据库和表 179
7.3.3 模糊查询 181
7.3.4 分页显示记录 181
7.3.5 事务 181
7.4 在Android中使用SQLite数据库 182
7.4.1 SQLiteOpenHelper类与自动
升级数据库 182
7.4.2 SimpleCursorAdapter类与
数据绑定 183
7.4.3 带照片的联系人管理系统 185
7.4.4 将数据库与应用程序一起发布 188
7.4.5 英文词典 189
7.5 持久化数据库引擎(db4o) 192
7.5.1 什么是db4o 192
7.5.2 下载和安装db4o 193
7.5.3 创建和打开数据库 193
7.5.4 向数据库中插入Java对象 194
7.5.5 从数据库中查询Java对象 195
7.5.6 高级数据查询 195
7.5.7 更新数据库中的Java对象 196
7.5.8 删除数据库中的Java对象 196
7.6 小结 196
第8章 App之间的通信 197
8.1 Intent与Activity 197
8.1.1 用Intent启动Activity,并在Activity
之间传递数据 197
8.1.2 调用其他应用程序中的Activity(拨打
电话、浏览网页、发E-mail等) 200
8.1.3 定制自己的Activity Action 204
8.1.4 将电子词典的查询功能共享
成一个Activity Action 205
8.2 接收和发送广播 207
8.2.1 接收系统广播 208
8.2.2 开机可自动运行的程序 208
8.2.3 收到短信了,该做点什么 209
8.2.4 显示手机电池的当前电量 211
8.2.5 在自己的应用程序中发送广播 212
8.2.6 接收联系人系统中发送的添加
联系人广播 213
8.3 小结 214
第9章 服务(Service) 215
9.1 Service起步 215
9.1.1 Service的生命周期 215
9.1.2 绑定Activity和Service 218
9.2 系统服务 220
9.2.1 获得系统服务 220
9.2.2 监听手机来电 221
9.2.3 来电黑名单 222
9.2.4 在模拟器上模拟重力感应 223
9.2.5 手机翻转静音 225
9.3 时间服务 227
9.3.1 计时器:Chronometer 227
9.3.2 预约时间Handler 229
9.3.3 定时器Timer 230
9.3.4 在线程中更新GUI组件 232
9.3.5 全局定时器AlarmManager 234
9.3.6 定时更换壁纸 234
9.3.7 多次定时提醒 237
9.4 跨进程访问(AIDL服务) 239
9.4.1 什么是AIDL服务 240
9.4.2 建立AIDL服务的步骤 240
9.4.3 建立AIDL服务 240
9.4.4 传递复杂数据的AIDL服务 243
9.5 小结 248
第10章 网络技术 249
10.1 可装载网络数据的控件 249
10.1.1 装载网络数据的原理 250
10.1.2 将网络图像装载到ListView
控件中 250
10.1.3 Google图像画廊(Gallery) 253
10.2 WebView控件 257
10.2.1 用WebView控件浏览网页 257
10.2.2 手机浏览器 258
10.2.3 用WebView控件装载HTML代码 259
10.2.4 将英文词典整合到Web页中
(JavaScript调用Java方法) 260
10.3 访问HTTP资源 262
10.3.1 提交HTTP GET和HTTP POST
请求 262
10.3.2 HttpURLConnection类 265
10.3.3 上传文件 265
10.3.4 远程Apk安装器 268
10.3.5 调用WebService 270
10.3.6 通过WebService查询产品信息 271
10.4 Internet地址 275
10.4.1 Internet地址概述 275
10.4.2 创建InetAddress对象 276
10.4.3 判断IP地址类型 278
10.5 客户端Socket 279
10.5.1 Socket类基础 280
10.5.2 多种连接服务端的方式 282
10.5.3 客户端Socket的超时 283
10.5.4 Socket类的getter和setter方法 283
10.5.5 Socket的异常 289
10.6 服务端Socket 290
10.6.1 创建ServerSocket对象 290
10.6.2 设置请求队列的长度 291
10.6.3 绑定IP地址 292
10.6.4 默认构造方法的使用 292
10.6.5 读取和发送数据 293
10.6.6 关闭连接 294
10.7 小结 294
第11章 多媒体技术 295
11.1 图形 295
11.1.1 图形绘制基础 296
11.1.2 绘制基本的图形和文本 298
11.1.3 绘制位图 301
11.1.4 用两种方式绘制位图 302
11.1.5 设置颜色的透明度 303
11.1.6 可任意改变透明度的位图 303
11.1.7 旋转图像 304
11.1.8 旋转动画 305
11.1.9 扭曲图像 306
11.1.10 按圆形轨迹扭曲图像 307
11.1.11 拉伸图像 310
11.1.12 拉伸图像演示 310
11.1.13 路径 312
11.1.14 沿着路径绘制文本 316
11.1.15 可在图像上绘制图形的画板 318
11.2 音频和视频 323
11.2.1 使用MediaPlayer播放MP3文件 323
11.2.2 使用MediaRecorder录音 324
11.2.3 使用VideoView播放视频 325
11.2.4 使用SurfaceView播放视频 326
11.3 小结 327
第12章 Fragment 328
12.1 什么是Fragment 328
12.2 Fragment的设计原则 330
12.3 Fragment初步 331
12.3.1 Fragment的使用方法 331
12.3.2 实例:一个简单的Fragment App 331
12.4 Fragment的生命周期 335
12.4.1 生命周期详解 335
12.4.2 实例:Fragment生命周期演示 340
12.5 动态创建Fragment 343
12.6 Fragment与Activity之间的交互 346
12.7 回退栈 348
12.8 小结 350
第13章 ActionBar 351
13.1 ActionBar简介 351
13.2 ActionBar基础 352
13.2.1 隐藏/显示ActionBar 352
13.2.2 Action按钮 354
13.3 应用程序图标导航 357
13.4 收缩和展开Action View 358
13.5 导航标签 361
13.6 下拉导航列表 366
13.7 小结 368
第14章 Android 5.x新特性:质感主题 369
14.1 使用不同的质感主题 369
14.2 修改质感主题的默认属性值 371
14.3 小结 372
第15章 Android 5.x新特性:阴影和
视图裁剪 373
15.1 阴影 373
15.1.1 高度和Z轴的位置 373
15.1.2 带有阴影的拖动效果 376
15.2 视图裁剪 377
15.3 小结 379
第16章 Android 5.x新特性:列表和
卡片控件 380
16.1 RecyclerView控件简介 380
16.2 用RecyclerView控件实现垂直
列表效果 381
16.2.1 建立Model 381
16.2.2 定制列表项的分隔条 382
16.2.3 实现Adapter类 383
16.2.4 如何使用RecyclerView控件 385
16.2.5 用RecyclerView控件实现增加和
删除列表项的效果 386
16.3 用RecyclerView控件实现画廊的效果 389
16.3.1 为画廊提供数据 390
16.3.2 自定义RecyclerView控件 391
16.3.3 让RecyclerView控件横屏显示 392
16.4 CardView控件 393
16.4.1 出现R$styleable没找到错误的
原因 393
16.4.2 在布局文件中使用CardView 395
16.4.3 用Java代码来控制CardView
控件 396
16.5 小结 398
第17章 Android 5.x新特性:Drawable
资源 399
17.1 着色 399
17.2 矢量Drawable资源 400
17.3 矢量动画 402
17.3.1 指针会动的时钟 402
17.3.2 笑脸表情 404
17.4 Ripple Drawable资源 406
17.5 小结 409
第18章 其他Android 5.x新特性 410
18.1 以Immersive模式隐藏及显示状态栏
和导航条 410
18.1.1 什么是Immersive模式 410
18.1.2 实现界面的布局 411
18.1.3 隐藏和显示 411
18.1.4 监听隐藏和显示状态 412
18.2 新的通知中心 412
18.3 续航与安全性 413
18.4 更多的新功能 414
18.5 小结 414
第19章 2D动画 415
19.1 帧(Frame)动画 415
19.1.1 AnimationDrawable与帧动画 416
19.1.2 通过帧动画方式播放GIF动画 417
19.1.3 播放帧动画的子集 420
19.2 补间(Tween)动画 422
19.2.1 移动补间动画 422
19.2.2 循环向右移动的EditText与
上下弹跳的球 424
19.2.3 缩放补间动画 426
19.2.4 跳动的心 427
19.2.5 旋转补间动画 428
19.2.6 旋转的星系 429
19.2.7 透明度补间动画 430
19.2.8 投掷炸弹 431
19.2.9 振动效果 434
19.2.10 自定义动画渲染器(Interceptor) 434
19.2.11 以动画方式切换View的
控件ViewFlipper 436
19.3 小结 437
第20章 OpenGL ES编程 438
20.1 OpenGL ES简介 438
20.2 在3D空间中绘图 440
20.2.1 绘制3D图形的第一步 440
20.2.2 定义顶点 442
20.2.3 绘制三角形 443
20.2.4 三角形合并法绘制矩形 445
20.2.5 顶点法绘制矩形 447
20.2.6 顶点的选取顺序 448
20.2.7 索引法绘制矩形 449
20.2.8 基于OpenGL ES的动画原理 450
20.2.9 旋转的矩形 450
20.3 视图 452
20.3.1 有趣的比喻:照相机拍照 453
20.3.2 模型变换:立方体旋转 454
20.3.3 用gluLookAt方法变换视图 457
20.4 颜色 458
20.5 小结 460
第21章 媒体特效API 461
21.1 实现主界面布局 461
21.2 初始化主界面 463
21.3 媒体特效API演示 464
21.3.1 Brightness特效 464
21.3.2 反差特效(Contrast) 464
21.3.3 Crossprocess特效 465
21.3.4 纪录片(Documentary)特效 465
21.3.5 双色调(Duotone)特效 465
21.3.6 鱼眼(Fish Eye)特效 465
21.3.7 垂直翻转特效 466
21.3.8 灰度特效 467
21.3.9 Lomoish特效 467
21.3.10 底片特效 467
21.3.11 色调特效 467
21.4 让特效生效 468
21.5 小结 468
第22章 资源、国际化与自适应 469
22.1 Android中的资源 470
22.1.1 Android怎么存储资源 470
22.1.2 资源的种类 470
22.1.3 资源文件的命名 471
22.2 定义和使用资源 471
22.2.1 使用系统资源 471
22.2.2 字符串(String)资源 473
22.2.3 数组(Array)资源 474
22.2.4 颜色(Color)资源 476
22.2.5 尺寸(Dimension)资源 477
22.2.6 类型(Style)资源 479
22.2.7 主题(Theme)资源 480
22.2.8 绘画(Drawable)资源 482
22.2.9 动画(Animation)资源 483
22.2.10 菜单(Menu)资源 483
22.2.11 布局(Layout)资源 486
22.2.12 属性(Attribute)资源 486
22.2.13 改进可显示图标的IconTextView
控件 488
22.2.14 XML资源 490
22.2.15 RAW资源 491
22.2.16 ASSETS资源 492
22.3 国际化和资源自适应 492
22.3.1 对资源进行国际化 492
22.3.2 Locale与国际化 494
22.3.3 常用的资源配置 494
22.4 小结 495
第23章 访问Android手机的硬件 496
23.1 在手机上测试硬件 496
23.1.1 安装Android USB驱动 497
23.1.2 在手机上测试程序 498
23.1.3 在手机上调试程序 499
23.2 录音 500
23.3 控制手机摄像头(拍照) 500
23.3.1 调用系统的拍照功能 501
23.3.2 实现自己的拍照Activity 503
23.4 传感器在手机中的应用 507
23.4.1 在应用程序中使用传感器 507
23.4.2 电子罗盘 509
23.4.3 计步器 510
23.5 GPS与地图定位 511
23.5.1 Google地图 511
23.5.2 用GPS定位到当前位置 515
23.6 WIFI 516
23.7 小结 519
第24章 NDK技术 520
24.1 Android NDK简介 520
24.2 安装、配置和测试NDK开发环境 521
24.2.1 系统和软件要求 521
24.2.2 下载和安装Android NDK 522
24.2.3 下载和安装Cygwin 522
24.2.4 配置Android NDK的开发环境 525
24.2.5 编译和运行NDK自带的例子 526
24.3 Android NDK开发 528
24.3.1 JNI接口设计 528
24.3.2 编写Android NDK程序的步骤 529
24.3.3 将文件中的小写字母转换成大写
字母(NDK版本) 529
24.3.4 配置Android.mk文件 532
24.3.5 Android NDK定义的变量 533
24.3.6 Android NDK定义的函数 533
24.3.7 描述模块的变量 534
24.3.8 配置Application.mk文件 535
24.4 小结 536
第25章 蓝牙技术 537
25.1 蓝牙简介 537
25.2 打开和关闭蓝牙设备 538
25.3 搜索蓝牙设备 539
25.4 蓝牙数据传输 541
25.5 蓝牙通信一定需要UUID吗 544
25.6 小结 545
第26章 有趣的Android技术 546
26.1 手势(Gesture) 546
26.1.1 创建手势文件 546
26.1.2 通过手势输入字符串 547
26.1.3 通过手势调用程序 549
26.1.4 编写自己的手势创建器 550
26.2 让手机说话(TTS) 551
26.3 动态壁纸 552
26.4 小结 559
第27章 Android App性能调优 560
27.1 刷新频率与丢帧 560
27.2 开发者选项与查看GPU负载 561
27.3 GPU渲染时间与性能调优 564
27.4 Overdraw与区域绘制 565
27.5 内存抖动与性能 566
27.6 小结 568
第28章 内存泄露检测 569
28.1 造成内存泄露的原因 569
28.1.1 非静态内嵌类 569
28.1.2 Handler要用静态变量或弱引用 570
28.1.3 线程引发的内存泄露 571
28.1.4 其他可能会造成内存泄露的情况 572
28.1.5 弱引用(WeakReference)和软引
用(SoftReference) 572
28.2 内存泄露检测工具:Eclipse MAT 573
28.3 小结 576
第29章 项目实战:超级手电筒 577
29.1 手电筒APP简介 577
29.2 手电筒的架构 578
29.3 手电筒照明 579
29.3.1 手电筒的布局 579
29.3.2 通过代码调整控制区域位置 580
29.3.3 打开和关闭闪光灯 580
29.4 警告灯 581
29.5 发送莫尔斯密码 583
29.6 其他功能的实现 585
29.7 小结 585
第30章 项目实战:基于XMPP的IM
客户端 586
30.1 XMPP简介 586
30.2 Openfire安装与配置 587
30.3 Spark的安装和使用 590
30.4 用户登录 591
30.5 获取好友信息 591
30.6 添加好友 594
30.7 发送聊天信息 594
30.8 接收聊天信息 595
30.9 其他功能 596
30.10 小结 596
- 零基础玩转国产大模型DeepSeek [徐永冰 张帅 编著]
- 网络工程师5天修炼(适配第6版考纲) [主编 朱小平 施游]
- 信息系统项目管理师考试32小时通关(适用第4版考纲) [薛大龙]
- 信息系统管理工程师考试32小时通关(适配第2版考纲) [薛大龙 刘伟]
- 土木工程材料检测实训 [洪晓江 达则晓丽 钱波]
- 科技信息检索与论文写作实用教程 [李振华]
- 传统山水画论解读与实践 [陈钠 著]
- Python数据库编程 [主编 殷树友 邢 翀]
- 计算机基础实训指导 [主编 袁春萍 朱妮]
- 嵌入式人工智能技术应用(数字教材) [主编 胡娜 杨国勇 晏廷荣]
- Vienna整流器技术 [桂存兵 著]
- 变频器与伺服应用 [陈刚 叶云飞]
- 物联网工程设计与实践 [汤琳 李敏]
- 炉边夜话——深入浅出话AI [汪建 著]
- 电商运营与管理 [钟肖英 陈潇]
- Java面向对象程序设计 [主编 姜春磊 陈虹洁]
- 信息技术基础(Windows 10+WPS Office)(微课版) [主编 石利平 田辉平 谢盛嘉]
- 人工智能应用 [主编 陈 萍 刘培培 陈孟军]
- 大学生职业发展与就业指导 [主编 刘志坚]
- 高级办公应用项目教程 [主编 屈晶 赵成丽]
- 微信小程序开发项目实战(微课版) [主编 黄龙泉 郭峰 朱倩]
- 企业档案工作实战宝典百问百答 [华俊 卢秀英 邵甜甜 著]
- 计算机网络原理及应用 [主编 唐继勇 叶坤 孙梦娜]
- 大学生创业基础 [主编 王丽莉 王 杨]
- 船舶辅机 [主编 王连海 于洋 姜淑翠]
- 大学生就业指导 [主编 王丽莉 董宴廷]
- 系统架构设计师章节习题与考点特训 [主编 薛大龙 邹月平]
- 高校学生工作探索与实践 [郭亮 著]
- 大学生情商管理 [方雄 著]
- 2023年长沙市会展业发展报告 [主编 周栋良]