欢迎进入神秘的Android世界!自2008年相关设备进入市场以来,Android的发展日新月异,Android设备日益繁盛,而其背后开发应用潜藏的经济效益也展露无遗!
本书将引领大家开发引人入胜的Android 2.x应用,包括如何设计GUI、如何使用GPS和访问Web服务,以及如何将理念转换成实际应用! 本书包含大量即时可用的简单示例,自此之后,构建实际、流行的应用将不再困难,只要你投入时间,发挥出创造力。
通读本书,你将了解以下内容:
应用Android为各种手机和设备构建基于Java的移动应用
同时使用Android部件框架和内置的WebKit驱动的Web浏览器组件创建UI
使用Android引擎特性,包括位置跟踪、地图、因特网访问
使用和创建整合了活动、服务、内容提供程序和广播接收器的Android应用
支持Android 1.5、1.6和2.0 设备,包括处理多个版本的Android OS、多种屏幕尺寸和其他特定于设备的特性
第1章 Android开发概述 1
1.1 智能手机编程的挑战 1
1.2 Android由哪些部分构成 2
1.3 你能够控制什么 3
第2章 项目和目标 4
2.1 基本概念 4
2.2 创建项目 5
2.3 项目结构 5
2.3.1 根目录 5
2.3.2 主Activity 6
2.3.3 资源 6
2.3.4 编译结果 7
2.4 AndroidManifest.xml文件 7
2.4.1 一开始是根元素 8
2.4.2 权限、编排和应用程序 8
2.4.3 应用程序总要做点什么 9
2.4.4 确保最大兼容性 10
2.4.5 版本=控制 10
2.5 模拟器和目标 11
2.5.1 虚拟设备 11
2.5.2 设定目标 13
第3章 简单的应用程序 14
3.1 创建项目 14
3.2 剖析Activity 15
3.3 构建和运行Activity 17
第4章 基于XML的布局 18
4.1 何谓基于XML的布局 18
4.2 为什么使用基于XML的布局 18
4.3 举个例子 19
4.4 什么时候加@符号 20
4.5 怎样在Java中使用布局文件 20
4.6 把故事讲完 20
第5章 使用基本的部件 22
5.1 标签 22
5.2 按钮 23
5.3 图像 23
5.4 字段 24
5.5 复选框 25
5.6 单选按钮 27
5.7 视图 28
5.7.1 特性 28
5.7.2 方法 29
5.7.3 颜色 29
第6章 使用容器 30
6.1 线性布局 30
6.1.1 LinearLayout的概念和特性 30
6.1.2 LinearLayout示例 33
6.2 相对布局 36
6.2.1 RelativeLayout的概念和属性 36
6.2.2 RelativeLayout示例 37
6.3 表格布局 40
6.3.1 TableLayout的概念和特性 40
6.3.2 TableLayout示例 42
6.4 滚动 42
第7章 使用选择部件 45
7.1 适配器 45
7.2 列表 46
7.3 微调控件 49
7.4 网格 51
7.5 自动完成字段(至少减少35%的输入) 53
7.6 画廊 55
第8章 使用列表 57
8.1 初步改进 57
8.2 动态列表 58
8.3 更好,更快,更强 60
8.3.1 使用convertView 61
8.3.2 使用持有者模式 62
8.4 交互式列表 64
8.5 可重用列表 68
8.6 选用其他适配器 74
第9章 高级部件和容器 75
9.1 选择日期和时间 75
9.2 时钟 78
9.3 进度条 79
9.4 滑动选择 79
9.5 选项卡 80
9.5.1 构建 80
9.5.2 规则 80
9.5.3 使用 81
9.5.4 增强 83
9.5.5 Intent和View 84
9.6 翻转 85
9.6.1 手工翻转 86
9.6.2 动态添加内容 87
9.6.3 自动翻转 88
9.7 滑动的抽屉 89
9.8 其他容器 91
第10章 输入法框架 92
10.1 键盘,硬还是软 92
10.2 按需定制 92
10.3 修改附属键 95
10.4 适应布局 96
10.5 释放创造力 97
第11章 使用菜单 98
11.1 选项菜单 98
11.1.1 创建选项菜单 98
11.1.2 添加菜单项和子菜单 99
11.2 上下文菜单 100
11.3 简单的示例 100
11.4 扩展的示例 104
11.4.1 菜单的XML结构 104
11.4.2 菜单项与XML 105
11.4.3 创建菜单 106
第12章 字体 107
12.1 珍惜已有字体 107
12.2 更多字体 108
12.3 字形介绍 109
第13章 嵌入WebKit浏览器 111
13.1 小型浏览器 111
13.2 加载内容 112
13.3 导航内容 113
13.4 扩展应用程序 114
13.5 设置、首选项和选项 115
第14章 显示弹出消息 116
14.1 弹出Toast 116
14.2 提醒框 117
14.3 检查效果 117
第15章 处理线程 120
15.1 了解处理程序 120
15.1.1 消息 120
15.1.2 Runnable 123
15.2 就地运行 123
15.3 我的UI线程到哪去了 123
15.4 异步观感 123
15.4.1 原理 124
15.4.2 AsyncTask、泛型和Vararg 124
15.4.3 AsyncTask的各个阶段 125
15.4.4 示例任务 125
15.5 附加说明 129
第16章 处理Activity生命周期事件 130
16.1 Activity的状态 130
16.2 Activity的生命周期 131
16.2.1 onCreate()和
onDestroy() 131
16.2.2 onStart()、onRestart()和onStop() 131
16.2.3 onPause()和onResume() 131
16.3 优美的状态 132
第17章 创建Intent过滤器 133
17.1 你有什么意图 133
17.1.1 Intent组成 133
17.1.2 Intent路由 134
17.2 叙述Intent 135
17.3 缩小接收器范围 136
17.4 暂停警告 137
第18章 启动活动和子活动 138
18.1 对等活动和子活动 138
18.2 启动 139
18.2.1 制作Intent 139
18.2.2 进行调用 139
18.3 多标签浏览 142
第19章 处理旋转 145
19.1 销毁问题 145
19.2 异同 145
19.3 更多保存 149
19.4 DIY旋转 151
19.5 强制解决问题 152
19.6 综述 154
第20章 处理资源 156
20.1 资源 156
20.2 字符串理论 156
20.2.1 纯文本字符串 157
20.2.2 字符串格式 157
20.2.3 样式文本 157
20.2.4 样式字符串格式 158
20.3 获取图片 160
20.4 XML:资源之路 162
20.5 杂项 164
20.5.1 维度 164
20.5.2 颜色 165
20.5.3 数组 165
20.5.4 因人而异 166
第21章 使用首选项 171
21.1 获取想要的内容 171
21.2 编辑首选项 172
21.3 目前的框架 172
21.4 让用户自己选择 173
21.5 添加“分层”结构 176
21.6 弹出对话框 177
第22章 管理和访问本地数据库 180
22.1 数据库示例 180
22.2 SQLite快速入门 181
22.3 从头开始 182
22.4 设置表 184
22.5 数据 184
22.6 有因必有果 185
22.6.1 Raw查询 186
22.6.2 常规查询 186
22.6.3 使用构造器进行构建 186
22.6.4 使用Cursor 187
22.7 无所不在的数据 188
第23章 访问文件 190
23.1 使用的数据 190
23.2 读取与写入 192
第24章 充分利用Java库 196
24.1 外部限制 196
24.2 Ant和JAR 197
24.3 参照脚本 197
24.4 滴酒不沾 200
24.5 评审脚本 200
第25章 通过Internet进行通信 201
25.1 REST和Relaxation 201
25.2 通过Apache HttpClient操作HTTP 201
25.3 解析响应 203
25.4 要考虑的问题 205
第26章 使用内容提供程序 206
26.1 数据片段 206
26.2 获得句柄 207
26.3 查询 207
26.4 适应环境 208
26.5 舍与得 209
26.6 感知BLOB 210
第27章 构建内容提供程序 211
27.1 剖析 211
27.2 类型 212
27.3 创建内容提供程序 212
27.3.1 第一步:创建提供程序类 212
27.3.2 第二步:提供URI 217
27.3.3 第三步:声明属性 218
27.3.4 第四步:更新清单文件 218
27.4 更改通知支持 219
第28章 请求和要求许可 220
28.1 请求许可 220
28.2 声明许可 221
28.2.1 通过清单文件强制实施
许可 222
28.2.2 在其他地方强制实施许可 222
28.3 别忘了文档 223
第29章 创建服务 224
29.1 通过类创建服务 224
29.2 单例 225
29.3 清单文件的作用 226
29.4 事件提醒 227
29.4.1 回调 227
29.4.2 广播Intent 228
29.5 远程服务与其他代码 229
第30章 调用服务 230
30.1 联系的纽带 230
30.2 接收广播内容 232
第31章 利用通知提醒用户 234
31.1 发布通知的类型 234
31.1.1 硬件通知 235
31.1.2 图标 235
31.2 查看运行中的通知发布 235
第32章 访问基于位置的服务 238
32.1 位置提供程序:它们知道你藏在哪里 238
32.2 自我定位 239
32.3 移动 240
32.4 我们到了吗 241
32.5 测试 241
第33章 使用MapView和MapActivity显示地图 242
33.1 条款无情 242
33.2 添加项问题 242
33.3 基本要素 243
33.4 练习控制 244
33.4.1 缩放 244
33.4.2 居中 245
33.5 地形起伏 245
33.6 层上加层 245
33.6.1 Overlay类 246
33.6.2 绘制ItemizedOverlay 246
33.6.3 处理屏幕单击 247
33.7 MyLocationOverlay 248
33.8 关键所在 249
第34章 呼叫处理 250
34.1 向管理者报告 250
34.2 亲自进行呼叫 250
第35章 开发工具 253
35.1 层次结构管理 253
35.2 令人愉快的Dalvik调试详细演示 257
35.2.1 日志记录 259
35.2.2 文件推拉 259
35.2.3 屏幕截图 260
35.2.4 位置更新 260
35.2.5 接入呼叫和消息 261
35.3 存储卡 262
35.3.1 创建卡的映像 262
35.3.2 插入卡 263
第36章 处理多种屏幕尺寸 264
36.1 默认设置 264
36.2 多合一 265
36.2.1 考虑规则,而不是位置 265
36.2.2 考虑物理尺寸 266
36.2.3 避免使用实际像素 266
36.2.4 选择可缩放的Drawable 266
36.3 量身定制 267
36.3.1 添加
36.3.2 资源和资源集 268
36.3.3 查找尺寸 268
36.4 一切都是模拟的 269
36.4.1 密度不同 269
36.4.2 调整密度 270
36.4.3 访问实际设备 270
36.5 充分利用形势 271
36.5.1 用按钮代替菜单 271
36.5.2 使用简单的Activity代替选项卡 271
36.5.3 整合多个Activity 272
36.6 示例:EU4You 272
36.6.1 第一个版本 272
36.6.2 固定字体大小 277
36.6.3 固定大小的图标 278
36.6.4 使用空间 278
36.6.5 不是浏览器会怎样 279
36.7 合作伙伴的错误有哪些 280
第37章 手机的处理 281
37.1 该应用程序包含显式指令 281
37.2 按钮 282
37.3 有保障的市场 282
37.4 细枝末节 283
37.4.1 Archos 5 Android Internet Tablet 283
37.4.2 Motorola CLIQ/DEXT 284
37.4.3 Motorola DROID/Milestone 284
37.4.4 Google/HTC Nexus One 284
37.4.5 Motorola BACKFLIP 284
第38章 处理平台变更 285
38.1 品牌管理 285
38.2 让人头疼的更多问题 286
38.2.1 视图层次结构 286
38.2.2 变更资源 287
38.3 处理API变更 287
38.3.1 检测版本 287
38.3.2 包装API 287
第39章 未来何去何从 292
39.1 问题——部分答案 292
39.2 源代码 292
39.3 获得最新的信息 293
《直觉泵和其他思考工具》内容简介:哲学泰斗倾囊传授77招思维搏击术,助你清醒思考,看破一切套路!陈嘉映、汪丁丁、万维钢诚意推
《国际经济学教程(第二版)》内容简介:本书主要内容有国际贸易的理论与政策、国际收支理论、汇率理论、要素的国际流动理论、国际
SwiftisanewprogramminglanguageforcreatingiOSandOSXapps.SwiftbuildsonthebestofCan...
由胡翔骏编著的《电路分析》是面向21世纪课程教材——《电路分析》(胡翔骏编)的修订版,也是普通高等教育“十一五”国家级规划
当今社会技术体系面临变革,巨大的社会需求和挑战不断涌现,毫不夸张地说,这是一个人人参与设计的时代。在此背景下,无论是设计
《这个世界就分两种人》内容简介:本书为作者数年来撰写的各类杂文、散文和论说文的合集。文章不长,却极有锐度,往往令读者掩卷深
《房地产大转型的“互联网+”路径》中国正在快速步入移动互联网时代,线下向线上的人口大迁移浪潮深刻改变着人们生活的方方面面,
内容介绍———————————————————————————帮助读者认识并发展自身的创造力为着眼点。作者从过去的实验和
《北海道漫步》内容简介:作为近年来热门的旅行目的地,北海道以其独特的自然风貌及冰雪景观吸引着世界各地的旅行者。本书从北海道
《游戏架构:核心技术与面试精粹》内容简介:本书从架构与封装、艺术资源、底层核心、自定义扩展和独立游戏五个方向组织内容,每一
《小学主题式综合活动课程案例选编》内容简介:本书是上海市开展小学主题式综合活动课程研究和实施工作以来汇总的首个学校案例集。
《室内分布系统规划与设计:GSM/TD-SCDMA/TD-LTE/WLAN》介绍了GSM/TD—SCDMA/WLAN/TD—LTE四网融合室内分布系统的基本原理...
西方社会已经经历了两次信息传播的重大变革:第一次——从口述到手写,第二次——从手写到印刷。现在,则是第三次变革——从印刷
《Rhino7犀利建模》内容简介:本书是由长沙卓尔谟教育科技有限公司编写的一部以Rhino7(犀牛软件)建模方法教学为核心的综合性教程
《汉英科技翻译》是以原汁原味的英语原文作为译文这样的创新思维构思的,采用了从汉语语法和英语语法的结合上阐述翻译方法这样的
《GraphQL学习指南》内容简介:本书为希望开始使用GraphQL的前端Web开发人员、后端工程师以及项目或产品经理提供了一条清晰的学习路
ReadytocommittousingmoreCSSonyoursites?Ifyouareahands-onlearnerwhohasbeentoyingw...
安藤忠雄是当今最为活跃、最具影响力的世界建筑大师之一。他的建筑屹立在巴黎联合国教科文组织总部;他神性的空间语言是普利策美
《图论与网络流理论》系统地阐述图论与网络流理论的基本概念、方法和定理,介绍该领域重要的问题以及典型的算法,展示图论与网络
CCNA学习指南路由和交换认证-(第2版) 本书特色 本书是通过CCNA考试100-105、200-105和200-125的权威指南。由知名思科技术培训专家To...