欢迎进入神秘的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
InDesign CC实战从入门到精通-(全彩版) 本书特色 InDesign是当今流行的专业排版软件,被广泛应用于平面设计、印刷出版、数字媒体等诸多领域。本书...
作者结合丰富的设计案例,全面讲解了现代书籍设计的基本要素和流程,介绍了将书稿信息进行逻辑化、秩序化、艺术化和趣味化编排与
《地方政府的战略成长》内容简介:改革开放40年来,城市府际治理在区域经济社会发展与公共事务治理中起到了关键性推动作用。本书以
《高可用mysql:构建健壮的数据中心》是“mysqlhighavailability”的中文翻译版,主要讲解真实环境下如何使用mysql的复制、集群和
《砖瓦》内容简介:中国古代建筑采用木结构体系,一座房屋的木构架完成后,在屋面上用瓦铺顶,在立柱之间用砖砌墙,从而围合成可使
IrmaBoom早年一直学习媒体艺术,积累了对各种材料的认识与处理的经验;大学毕业后进入荷兰国家印刷协会工作,对纸张、印刷、装订
光学与光子学技术是现代生活的中心,一直作为最重要的使能技术推动着人类文明的进步,并毋庸置疑地将在未来产生更为深远的影响。
2015年下半年综合性电商平台已基本稳定,大平台出现商家拥堵现象,O2O项目遍地开花,移动互联网飞速发展,火爆一时的微商经济出现
《自己动手写Docker》内容简介:《自己动手写Docker》在详细分析Docker所依赖的技术栈的基础上,一步一步地通过代码实例,让读者可
《工业产品设计手绘典型实例(第3版)》内容简介:本书共12章,分为3个层次,对应教学的需要,第1~3章是基础部分,主要讲述线条、
一个优秀的网站,通常具备丰富的内容、美观的界面效果和独特的风格,并在这几个方面能够实现和谐的统一。在多姿多彩的互联网世界
《美国的故事(套装书共7册)》内容简介:本书聚焦于美国建国前后的激情岁月。从北美殖民地的建立,到独立战争的打响,再到美国前几
计算机网络 本书特色 《计算机网络(普通高等教育计算机类特色专业系列规划教材)》(作者程莉、刘建毅、王枞)具有三个特点:**,知识结构完整,综合iso/...
《机器学习算法的数学解析与Python实现》内容简介:学习机器学习的动机很多,可能是实际工作需要,可能是兴趣爱好,也可能是学业要
在《JavaScript实战手册》中,畅销书作者DavidMcFarland教你如何以高级的方式使用JavaScript,即便你只有很少或者没有编程经验。
《山水田园城市实践》内容简介:本书从贵安新区山水田园城市实践切入,围绕新区农村综合改革社村标准化建设体系这根线,大量翻阅了
《绞刑架下的报告:增订版》内容简介:《绞刑架下的报告》这部纪实文学作品,是伏契克在纳粹德国盖世太保监狱里万分艰难的处境中,
《Scratch真好玩:教小孩学编程》内容简介:本书以一个猫猫侠角色引入,将读者设定为编程世界的一位勇士,跟随猫猫侠一起学习Scrat
《摄影造型解析》内容简介:《摄影造型解析》作者董介人系南师大徐悲鸿教育奖获得者。本书作者以该校摄影专业研究生课的基础,加以
《好好读书:特级教师蒋军晶经典童书阶梯导读(第6阶)》内容简介:童书真多啊。“一天”里出版的书,认真读的话,可能一辈子也读不