《Android移动应用开发从入门到精通》涵盖了Android开发从概念、技术到市场推广应用的全部话题,内容包括:Android概览、Android应用程序设计精髓、Android用户界面设计精髓、常用AndroidAPI、更多Android应用程序设计原则、对外发布你的Android应用程序和附录等7个部分。附录还包含了Android开发常用工具(如模拟器、DDMS、调试桥和SQLite等)的使用指南。
《Android移动应用开发从入门到精通》不仅适合Android应用程序开发人员阅读,还能为QA测试人员提供指导。另外《Android移动应用开发从入门到精通》还可以帮助项目经理更好地管理项目进程和项目团队,帮助市场推广人员更好地把握市场、创造令人瞩目的销售业绩。
《Android移动应用开发从入门到精通》网友评价
这本书完全按照官方的开发指南编写,Android版本是1.5,应用Eclipse作为开发环境。
优点:Android平台接口的描述非常标准,截图清晰、规范,例程的质量很高。讲解通俗易懂,结构清晰,易于理解。但并不涉及Java语法,适合有一定Java基础的人阅读。
缺点:有些句子翻译不通顺。不过读下来是没有问题的。第一章之后,完整的代码示例较少。很多代码片段解释得不太透彻,有时需要在网上查阅相关资料,不过网上的资料实在太丰富了,感谢Google!
如果你有一定Java开发经验,但没有接触过Android,看这本书可以在一个月之内比较全面的掌握Android的开发方法。
《Android移动应用开发从入门到精通》前言
在以开放手机联盟(Open Handset Alliance,OHA)和Google公司为先驱的开拓下,Android作为一个热门、新潮、免费、开源的移动平台在无线通信领域引起了不小的波澜。而你手中的这本书恰恰能够为软件开发团队提供设计、开发、测试、调试和发布Android应用程序的一系列指导。如果你是一位资深的移动开发人员,那么书中一些小提示和小技巧可以帮助你更好地利用Android的某些独特功能,从而更加顺利地完成整个开发过程。相反,如果你刚刚踏入移动开发领域,那么本书将为你提供所有需要掌握的知识和技能,从而帮助你平稳而顺利地从传统软件开发过渡到移动开发——尤其是,过渡到其中最富有前景的新平台:Android。
此书为谁而写
本书涵盖了作者数年来在移动开发领域所积累的经验,以及成功进行移动项目开发所需的全部概念和实用技术,包括移动开发过程与传统软件开发的区别,还包括帮助你节约宝贵时间和规避隐患的技巧。不管你的项目有多大规模,本书都能为你提供帮助。
本书主要针对以下3类人群。
(1)想要学习编写专业Android应用程序的软件开发人员
本书主体部分主要针对有Java程序开发经验而无需具有移动开发经验的程序员。但是,具有丰富移动开发经验的开发人员更能够从本书中学习到如何充分运用和发挥Android的优势,同时了解它与市面上其他移动开发技术的区别。
(2)担负Android程序测试任务的QA人员
无论QA工程师采用的是“黑盒”还是“白盒”的测试方法,这本书对于他们而言都具有非凡的价值。我们花了几章的篇幅来讲解有关QA的问题,例如:制订稳健的测试计划,为应用程序开发漏洞跟踪系统,管理手机设备以及利用Android工具进行完整测试的方法。
(3)筹建和管理Android开发团队的项目经理
本书可以帮助项目经理完成从筹建开发团队、聘用开发人员到执行Android项目的整个过程。我们探讨了有关项目风险管理和顺利进行项目开发的有关话题。
这本书不仅适用于软件开发人员,而且适用于一个正在寻找潜在的垂直市场应用软件(Vertical Market Application)的公司,一个正在构思某个“新奇酷”手机软件的企业家,抑或一个正在探寻新手机乐趣的发烧友。同时,这本书也可以帮助某些正在为某个特定目的(例如可行性分析)而对Android进行评估的企业,或者任何拥有Android手机并且乐于创造新的移动应用软件的人。
《Android移动应用开发从入门到精通》精彩书摘
移动开发领域正处在一个转折点:移动用户的需求曰益增长,他们需要具有更多功能、更为个性化的手机;移动运营商想为用户提供易于管理、获利更多的增值服务;开发人员需要获取更多自由,以开发出受用户欢迎的、功能强大的应用程序,同时避免在成功的道路上遭遇层层阻碍;而手机制造商则希望有一个稳定、安全和廉价的平台,以充分发挥硬件的性能。到目前为止,仅有一个移动平台可以满足所有的需求——Android——在移动开发领域异军突起。具有划时代意义的开放移动平台Android横空出世,顺应潮流,定位准确而恰当,能够很好地满足市场的各方面需求。
本章将告诉读者Android是什么,为什么开发Android,它是如何成长起来的,以及它在移动领域市场中所处的位置。
1.1 移动软件开发简史
要弄清楚为什么Android如此令人着迷,我们需要从移动通信的进化历程讲起,逐步了解Android同其他与其竞争的平台的不同之处。
1.1.1 遥想当年
还记得电话仅仅是电话的年代么?那时我们所能依赖的仅仅是一条固定的电话线。当电话铃一响,我们就得匆匆奔去,而非简单地从口袋里掏出什么来;当我们在喧闹的人群中和同伴挤散时,只能踮起脚尖四处寻找,结果往往是苦苦等上好几个小时;当我们忘记了购物清单上的物品时,只能寻找公用电话或者无奈地开车回家。
这些日子早已一去不复返了。现在(见图1.1),这种基本问题的解决方式已经变成“单键拨号”或是一条类似“哪?”、“20?”或“牛奶和?”的简单的短信。
手机在让我们感到安全的同时保持着与他人的联系。当我们四处闲逛时,手机已不仅仅是用来联系朋友、家人和同事的工具,它还能够告诉我们到哪儿去、做什么以及怎么做。如今,即使再家常的事情也可能需要手机来解决。
《Android移动应用开发从入门到精通》价格
《Android移动应用开发从入门到精通》目录
第一部分 Android概览
第1章 Android简介 2
1.1 移动软件开发简史 2
1.1.1 遥想当年 2
1.1.2 “砖头” 3
1.1.3 无线应用协议(WAP) 4
1.1.4 商用移动平台 6
1.2 开放手机联盟(OHA) 8
1.2.1 无线Google 8
1.2.2 开放手机联盟成立 8
1.2.3 制造商:设计Android手机 9
1.2.4 内容提供商:开发Android应用程序 9
1.2.5 移动操作系统:传播Android体验 9
1.2.6 充分发挥Android的优势 10
1.3 Android平台的不同之处 10
1.3.1 Android:下一代平台 10
1.3.2 免费开放源代码 11
1.3.3 熟悉和廉价的开发工具 11
1.3.4 合理的开发人员学习曲线 12
1.3.5 强大的应用程序开发支持 12
1.3.6 丰富、安全的应用集成 12
1.3.7 无障碍发布 13
1.3.8 为应用程序提供的“自由市场” 13
1.3.9 新生并逐渐成长的平台 14
1.4 Android平台 14
1.4.1 Android的基本体系结构 14
1.4.2 安全与许可权限 16
1.4.3 开发Android应用程序 17
小结 18
参考资料和更多信息 19
第2章 你的Android开发环境 20
2.1 配置你的开发环境 20
2.1.1 支持的操作系统 20
2.1.2 安装Java开发包(JDK) 20
2.1.3 安装Eclipse开发环境 21
2.1.4 其他开发环境 22
2.1.5 安装Android软件开发包(SDK) 22
2.1.6 安装与配置Android Eclipse插件(ADT) 23
2.1.7 ADT安装释疑 25
2.1.8 升级Android SDK 25
2.1.9 Android SDK的问题 25
2.1.10 配置Android编译硬件 26
2.1.11 配置操作系统以适应设备编译 26
2.1.12 本书使用的开发环境 27
2.2 探索Android SDK 27
2.2.1 Android SDK许可协议 27
2.2.2 Android SDK文档 28
2.2.3 Android应用程序框架 29
2.2.4 Android工具 30
2.2.5 Android示例应用程序 33
小结 34
参考资料和更多信息 34
第3章 编写第一个Android应用程序 35
3.1 测试你的开发环境 35
3.1.1 在Eclipse工程中导入Snake应用程序 35
3.1.2 为Snake工程创建Android虚拟设备(AVD) 37
3.1.3 为Snake工程创建运行配置参数 37
3.1.4 在Android模拟器中运行Snake应用程序 39
3.2 构建你的第一个Android应用程序 39
3.2.1 创建和配置新的Android工程 40
3.2.2 Android应用程序的核心文件和目录 40
3.2.3 为新工程创建Android虚拟设备 41
3.2.4 为工程配置运行参数 41
3.2.5 在模拟器中运行Android应用程序 42
3.2.6 在模拟器中调试Android应用程序 43
3.2.7 为Android应用程序添加日志记录 45
3.2.8 为应用程序添加媒体支持 46
3.2.9 为应用程序添加基于位置的服务(LBS) 48
3.2.10 在硬件上调试应用程序 50
小结 51
参考资料和更多信息 51
第二部分 Android应用程序设计精髓
第4章 剖析Android应用程序 54
4.1 Android应用程序的生存周期 54
4.1.1 使用Activity执行应用程序任务 54
4.1.2 使用Intent在不同Activity之间实现跳转 55
4.1.3 Android Activity的生存周期 58
4.2 使用Android Manifest文件定义应用程序 62
4.2.1 管理你的应用程序身份 65
4.2.2 注册Activity和其他应用程序组件 65
4.2.3 使用许可权限 67
4.2.4 指定应用程序所需输入设备和软件 69
4.2.5 使用库和Android SDK版本 70
4.2.6 在Manifest文件中定义应用程序的其他配置参数 71
小结 71
第5章 管理应用程序资源 72
5.1 什么是资源 72
5.1.1 应用程序资源的存储方式和位置 72
5.1.2 资源目录的层级结构 72
5.1.3 资源的类型 73
5.1.4 存储不同的资源类型 74
5.1.5 使用程序访问资源 75
5.2 实例:使用Eclipse设置简单资源 75
5.3 使用资源 78
5.3.1 使用String(字符串)资源 79
5.3.2 使用格式化的String资源 80
5.3.3 使用String数组 81
5.3.4 使用颜色 82
5.3.5 使用尺寸 82
5.3.6 使用简单Drawable资源 83
5.3.7 使用图像 84
5.3.8 使用动画 88
5.3.9 使用菜单 89
5.3.10 使用XML文件 90
5.3.11 使用原始文件 91
5.3.12 资源引用 92
5.3.13 使用布局(layout) 93
5.3.14 使用样式(style) 97
5.3.15 使用主题(theme) 100
5.4 引用系统资源 100
5.5 管理各种应用程序配置 101
5.5.1 为本地化和设备配置指定资源 102
5.5.2 在程序中使用适当的配置资源 104
5.5.3 高效地组织应用程序资源 106
小结 107
参考资料和更多信息 108
第三部分 Android用户界面设计精髓
第6章 探索用户界面屏幕元素 110
6.1 Android视图、Widget和布局简介 110
6.1.1 Android视图简介 110
6.1.2 Android Widget简介 110
6.1.3 Android布局简介 111
6.2 使用TextView显示文本 111
6.2.1 配置布局和尺寸 112
6.2.2 在文本中创建上下文链接 113
6.3 使用EditText和Spinner获取用户文本 114
6.3.1 使用自动补全辅助用户 116
6.3.2 使用输入过滤器约束用户输入 118
6.3.3 使用Spinner Widget的下拉列表约束用户输入 119
6.4 使用按钮、多选框和单选组 121
6.4.1 使用基本按钮 122
6.4.2 使用多选框和Toggle按钮 123
6.4.3 使用RadioGroup和RadioButton 124
6.5 获取用户输入的日期和时间 126
6.6 向用户显示信息 127
6.6.1 使用ProgressBar指示进度 128
6.6.2 使用SeekBar指示和调整进度 130
6.6.3 使用RatingBar指示和调整评分 130
6.6.4 使用Chronometer指示时间推移 131
6.6.5 使用AnalogClock和DigitalClock指示当前时间 133
6.7 为用户提供选项和上下文菜单 133
6.7.1 使用选项菜单 133
6.7.2 使用ContextMenu(上下文菜单) 136
6.8 掌控用户事件 137
6.8.1 监听触摸模式状态改变 138
6.8.2 监听全屏幕上的事件 138
6.8.3 监听长时单击 139
6.8.4 监听手势 140
6.8.5 监听焦点改变 142
6.8.6 监听屏幕旋转 143
6.9 使用样式 143
6.10 使用主题 146
小结 147
第7章 使用布局设计Android用户界面 149
7.1 创建Android用户界面 149
7.1.1 使用XML资源创建布局 149
7.1.2 使用代码创建布局 150
7.2 使用ViewGroup组织用户界面 152
7.3 使用内建的布局类 156
7.3.1 使用AbsoluteLayout 158
7.3.2 使用FrameLayout 159
7.3.3 使用LinearLayout 161
7.3.4 使用RelativeLayout 162
7.3.5 使用TableLayout 165
7.3.6 在屏幕上使用多布局 167
7.4 使用内建的View容器类 167
7.4.1 结合AdapterView使用数据驱动View容器 168
7.4.2 使用TabActivity和TabHost组织视图 171
7.4.3 探索其他视图容器 173
7.5 使用AppWidget显示应用程序视图 175
7.6 成为AppWidget提供者 176
小结 177
第8章 Android绘图与动画 178
8.1 屏幕绘图 178
8.2 使用文字 182
8.2.1 使用默认字体 182
8.2.2 使用自定义字体 183
8.2.3 测量文字所需的屏幕尺寸 184
8.3 使用位图 184
8.3.1 在画布上绘制位图 185
8.3.2 缩放位图 185
8.3.3 使用Matrix变换位图 186
8.4 使用图形 186
8.4.1 用XML资源定义图形 187
8.4.2 使用程序定义图形 187
8.4.3 绘制各种图形 188
8.5 使用动画 193
8.5.1 使用逐帧动画 194
8.5.2 使用补间动画 195
小结 200
第四部分 常用Android API
第9章 使用Android数据和存储API 202
9.1 使用应用程序首选项 202
9.1.1 创建私有和共享首选项 203
9.1.2 搜索和读取首选项 203
9.1.3 新增、修改和删除首选项 204
9.1.4 使用Android文件系统查找首选项数据 204
9.2 使用文件和目录 205
9.2.1 探索Android应用程序目录 206
9.2.2 在默认应用程序目录中创建和写入文件 206
9.2.3 在默认应用程序目录中读取文件内容 207
9.2.4 使用Android文件系统操作其他目录和文件 208
9.3 使用SQLite数据库存储结构化数据 209
9.3.1 创建SQLite数据库 210
9.3.2 创建、修改和删除数据库记录 212
9.3.3 在SQLite数据库中执行查询 215
9.3.4 关闭和删除SQLite数据库 220
9.3.5 设计持久数据库 220
9.3.6 向应用程序界面绑定数据 223
9.4 使用Content Provider在应用程序间共享数据 227
9.4.1 为访问图像调整Content Provider 227
9.4.2 探索Android的部分内建Content Provider 232
9.4.3 在Content Provider中修改数据 239
9.5 使用自定义Content Provider扩展你的Android应用程序 241
9.5.1 继承Content Provider 241
9.5.2 定义数据URI 242
9.5.3 定义数据列 242
9.5.4 实现query()、insert()、update()、delete()和getType() 243
9.5.5 更新Manifest文件 248
9.6 使用Live Folder 249
小结 251
参考资料和更多信息 252
第10章 使用Android网络API 253
10.1 访问因特网(HTTP) 253
10.1.1 从Web读取数据 253
10.1.2 使用HttpURLConnection 254
10.1.3 解析从网络获取的XML 255
10.1.4 使用线程访问网络 257
10.1.5 显示从网络资源获取的图像 260
10.1.6 获取Android网络状态 262
10.2 使用WebView浏览Web 263
小结 265
参考资料和更多信息 266
第11章 使用位置服务(LBS)API 267
11.1 使用全球定位服务(GPS) 267
11.1.1 查找你的位置 267
11.1.2 定位你的模拟器 269
11.2 位置地理编码 269
11.3 在地图上标注位置 272
11.3.1 地图标注内容 272
11.3.2 地图标注视图 272
11.3.3 获得调试API Key 274
11.3.4 拖曳地图视图 275
11.3.5 缩放地图视图 276
11.3.6 标记点 277
11.4 位置服务扩展应用 281
小结 282
参考资料和更多信息 282
第12章 使用Android多媒体API 283
12.1 操作静态图像 283
12.1.1 使用摄像头捕捉静态图像 283
12.1.2 分享图像 287
12.1.3 将图像指定为墙纸 288
12.2 使用视频 289
12.2.1 录制视频 289
12.2.2 播放视频 290
12.3 使用音频 291
12.3.1 录制音频 291
12.3.2 播放音频 293
12.3.3 共享音频 294
12.3.4 使用铃音 294
小结 295
第13章 使用Android电话API 296
13.1 使用电话功能包 296
13.1.1 为获取手机状态信息取得许可权限 296
13.1.2 请求获取通话状态 297
13.1.3 请求获取服务信息 299
13.1.4 使用电话号码 299
13.2 使用短消息 300
13.2.1 获得发送和接收短消息的许可权限 301
13.2.2 发送短消息 301
13.2.3 接收短消息 303
13.3 拨打电话 305
小结 307
参考资料和更多信息 307
第14章 通过OpenGL ES使用Android 3D图形 308
14.1 定义OpenGL ES 308
14.2 使用基于OpenGL ES的Android 3D应用程序 309
14.2.1 创建SurfaceView 309
14.2.2 启动OpenGL ES线程 311
14.2.3 初始化EGL 312
14.2.4 初始化GL 314
14.2.5 绘制 315
14.3 绘制3D物体 316
14.3.1 绘制顶点(vertices) 316
14.3.2 为顶点着色 317
14.3.3 绘制更多复杂物体 318
14.3.4 照亮你的场景 320
14.3.5 为对象赋予材质 321
14.4 同Android视图和事件进行交互 323
14.4.1 允许OpenGL线程向应用程序线程发送信息 324
14.4.2 允许应用程序线程向OpenGL线程发送信息 325
14.5 清理OpenGL ES 326
14.6 使用GLSurfaceView类 327
小结 330
参考资料和更多信息 330
第15章 使用Android可选硬件API 331
15.1 使用设备传感器 331
15.2 使用Wi-Fi 334
15.3 监视电池 337
小结 339
第五部分 更多Android应用程序设计原则
第16章 使用通知 342
16.1 使用状态栏发布通知 342
16.2 让手机震动 345
16.3 灯光闪烁 346
16.4 发出声响 347
16.5 自定义通知 348
小结 350
第17章 使用服务 351
17.1 创建服务 351
17.2 控制服务 355
17.3 实现远程接口 356
17.4 实现可包装(parcelable)类 358
小结 360
第六部分 对外发布你的Android应用程序
第18章 移动软件开发过程 364
18.1 移动开发过程概览 364
18.2 选择一种软件开发方法 364
18.2.1 理解“瀑布模型”的危险 365
18.2.2 认识迭代式开发的价值 365
18.3 整合应用程序需求 366
18.3.1 确定工程需求 366
18.3.2 为移动应用程序开发用例 367
18.3.3 吸纳第三方需求 367
18.3.4 管理手机设备数据库 368
18.4 项目风险评估 370
18.4.1 确定目标手机 370
18.4.2 获取目标手机 371
18.4.3 确定应用程序需求的可行性 372
18.4.4 理解质量保障的风险 372
18.5 编写基本项目文档 373
18.5.1 为质量保障制定测试计划 374
18.5.2 提供第三方所需的文档 374
18.5.3 提供维护和移植所需的文档 374
18.6 实现移动应用程序配置管理系统 374
18.6.1 选择一个源代码控制系统 374
18.6.2 实现一个可用的版本管理系统 375
18.7 设计移动应用程序 375
18.7.1 认识移动设备的局限 375
18.7.2 移动应用程序体系结构探索 376
18.7.3 可扩展和维护设计 376
18.7.4 应用程序交互设计 377
18.8 开发移动应用程序 377
18.9 测试移动应用程序 378
18.10 发布移动应用程序 378
18.10.1 确定目标市场 379
18.10.2 将市场需求引入应用程序需求 379
18.11 支持和维护移动应用程序 379
18.11.1 维护适当的应用程序文档 379
18.11.2 管理服务器的动态更改 379
18.11.3 确定低风险移植机会 380
小结 380
参考资料和更多信息 380
第19章 开发和测试“防弹”Android应用程序 381
19.1 “防弹”移动应用程序设计最佳实践 381
19.1.1 满足移动用户的需求 382
19.1.2 为移动设备设计用户界面 382
19.1.3 设计稳定、灵敏的移动应用程序 384
19.1.4 设计安全的移动应用程序 385
19.1.5 在设计移动应用程序时考虑利益的最大化 385
19.1.6 在Android应用程序设计时使用第三方标准 386
19.1.7 设计便于维护和升级的移动应用程序 386
19.1.8 在应用程序设计中使用Andriod工具 388
19.1.9 避免设计时的愚蠢错误 388
19.2 “防弹”移动应用程序开发最佳实践 388
19.2.1 设计有效的移动开发过程 389
19.2.2 提早和经常地测试应用程序可行性 389
19.2.3 使用代码标准、代码检查和单元测试以提高代码质量 389
19.2.4 处理某单一手机的缺陷 391
19.2.5 在应用程序开发中使用Android工具 392
19.2.6 避免开发时的愚蠢错误 392
19.3 移动应用程序测试最佳实践 392
19.3.1 设计一个应用程序漏洞跟踪系统 392
19.3.2 管理测试环境 393
19.4 确定设备的“洁净”初始状态 394
19.4.1 模仿现实世界的活动 395
19.4.2 尽量全面地进行测试 395
19.4.3 在应用程序测试中使用Android工具 400
19.4.4 避免测试时的愚蠢错误 401
19.4.5 外包测试的责任 401
小结 401
参考资料和更多信息 401
第20章 销售你的Android应用程序 402
20.1 为发布而打包你的应用程序 402
20.1.1 准备封装你的代码 402
20.1.2 准备你的软件包 403
20.1.3 测试软件包的发布版本 406
20.1.4 认证你的Android应用程序 406
20.2 赚钱 406
20.2.1 在Android Market上销售你的应用程序 406
20.2.2 在自己的服务器上销售你的应用程序 411
20.2.3 销售应用程序的其他途径 412
20.2.4 保护你的知识产权 413
20.2.5 让用户付费 413
小结 414
参考资料和更多信息 414
第七部分 附录
附录A Android模拟器快速入门 416
A.1 玩转默认模拟器 416
A.2 使用Android虚拟设备管理模拟器配置 418
A.3 列表显示Android目标操作系统 418
A.3.1 创建AVD 419
A.3.2 列表显示所有已知的AVD 424
A.3.3 删除AVD 424
A.3.4 使用其他的AVD命令 425
A.4 使用启动选项控制模拟器行为 425
A.4.1 以命令行的方式配置模拟器启动选项 426
A.4.2 使用Eclipse配置模拟器启动选项 426
A.5 配置模拟器的位置信息 427
A.6 在两个模拟器实例之间拨打电话 427
A.7 在两个模拟器实例之间发送消息 429
A.8 通过控制台与模拟器交互 429
A.8.1 使用控制台模拟来电 429
A.8.2 使用控制台模拟短消息 429
A.8.3 使用控制台发送GPS坐标 430
A.8.4 使用控制台监视网络状态 431
A.8.5 使用控制台操作电源设置 431
A.8.6 使用其他控制台命令 432
A.9 享受模拟器 432
A.10 认识模拟器的局限 433
附录B Android DDMS快速入门 434
B.1 独立或结合Eclipse使用DDMS 434
B.2 熟悉DDMS的关键特性 436
B.3 使用进程 436
B.3.1 向Android应用程序关联调试器 437
B.3.2 监视Android应用程序的线程活动 437
B.3.3 在Android应用程序中触发垃圾回收(GC) 438
B.3.4 监视Android应用程序的堆活动 438
B.3.5 终止Android进程 438
B.4 使用文件浏览器 439
B.4.1 从模拟器或设备上拷贝文件 440
B.4.2 向模拟器或设备拷贝文件 440
B.4.3 删除模拟器或设备上的文件 440
B.5 使用模拟器控制 441
B.5.1 模拟语音来电 441
B.5.2 模拟短消息接收 441
B.5.3 发送位置坐标 442
B.6 使用应用程序日志 442
B.7 在模拟器或目标设备上截屏 443
附录C Android调试桥快速入门 445
C.1 列表显示连接到计算机的设备和模拟器 445
C.2 针对特定设备使用ADB命令 446
C.3 启动和停止ADB服务进程 446
C.3.1 停止ADB服务进程 446
C.3.2 启动和检测ADB服务进程 446
C.4 使用ADB从/向Android应用程序拷贝文件 446
C.4.1 向设备发送文件 447
C.4.2 从设备提取文件 447
C.5 使用ADB安装和卸载Android应用程序 447
C.5.1 使用ADB安装应用程序 447
C.5.2 使用ADB重装应用程序 448
C.5.3 使用ADB卸载应用程序 448
C.6 使用LogCat记录日志 448
C.6.1 显示所有的日志信息 448
C.6.2 更改日志记录模式以包含日期和时间信息 449
C.6.3 过滤日志信息 449
C.6.4 清除日志 450
C.6.5 将日志输出重定向至一个文件 450
C.6.6 访问次级日志 450
C.7 生成Bug报告 451
C.8 发布Shell命令 451
C.8.1 发布单条Shell命令 451
C.8.2 启动和使用一个Shell会话 451
C.8.3 使用ADB Shell启动和终止模拟器 452
C.8.4 使用ADB Shell查看SQLite数据库 452
C.8.5 在ADB Shell中使用Monkey进行应用程序压力测试 452
C.8.6 通过Shell安装和使用自定义二进制文件 455
C.9 其他ADB命令探索 456
附录D SQLite快速入门 457
D.1 探索SQLite的常见任务 457
D.2 使用sqlite3命令行接口 457
D.2.1 启动sqlite3命令行接口并连接数据库 458
D.2.2 探索你的数据库 458
D.2.3 导入和导出数据库 460
D.2.4 在命令行中执行SQL命令 461
D.2.5 窥视SQLite内部 462
D.2.6 使用其他的sqlite3命令 462
D.2.7 认识SQLite的局限 462
D.3 通过实例理解SQLite:学生成绩数据库 463
D.3.1 设计学生成绩数据库的模式 463
D.3.2 结合AUTOINCREMENT创建简单表 464
D.3.3 向表中插入数据 464
D.3.4 使用SELECT查询表数据 465
D.3.5 创建具有外键和复合主键的表 466
D.3.6 修改和更新表数据 467
D.3.7 使用JOIN进行多表查询 467
D.3.8 使用计算列 468
D.3.9 对计算列使用子查询 469
D.3.10 删除表 470
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。