欢迎进入神秘的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
Ifanything,thisvolumespremise--thatthebusinessofWebdesignisoneofconstantchange-h...
《如何用保险保障你的一生》内容简介:本书是知乎保险类大V李元霸写给普通大众的保险科普书。本书获得《小狗钱钱》策划人汤小明作序
《赢在运营》内容简介:这是一个产品高度同质化的时代。为什么有的企业,明明产品并不是最好的,但投放市场却更受欢迎?因为他们的
本书面向所有对机器学习与数据挖掘的实践及竞赛感兴趣的读者,从零开始,以Python编程语言为基础,在不涉及大量数学模型与复杂编
《著作权纠纷案例与实务》内容简介:本书共分5章,主要包括著作权概述、著作权侵权纠纷、邻接权纠纷、著作权合同纠纷和网络著作权纠
《深入Linux设备驱动程序内核机制》内容简介:这是一本系统阐述Linux设备驱动程序技术内幕的专业书籍,它的侧重点不是讨论如何在
《心理学与沟通技巧》内容简介:本书全面系统地揭示了心理学在沟通技巧中的运用,指导读者把握好沉默的分寸,把握好说话时机、说话
《作文课:让创意改变作文》内容简介:读书是为了更好的生活做准备,作文是表达自己的最好方式。本书作者谭旭东老师曾在中小学校举
《程序员面试逻辑题解析》共分为3个部分。第一部分从有趣且锻炼头脑的谜题入手,继而给出解题思路和详细答案,更有“热身问题”给
《莆田史话》内容简介:莆田地处东南沿海,历史悠久、人文鼎盛,素有“海滨邹鲁、文献名邦”之誉,也是闻名世界的“海上和平女神”
《中国佛教信仰与生活史》内容简介:本书从制度史、社会史、文化史的视角,以忏法、素食、慈善、讲经、放生、菩萨信仰、名山信仰等
王映民编著的《TD-LTE-Advanced移动通信系统设计》是一本专门介绍TD-LTE-Advanced系统与技术的图书,主要内容包括:背景与概述、
从Photoshop2.5开始,PhotoshopWow!book在全世界范围内的设计师、绘图师和摄影师之间广为传颂。本书是最新版本的PhotoshopWoW!...
“不作恶”的Google何以身陷“三重门”?聪明的Google为何在中国变得不够聪明?强大的Google在与百度的交锋中为何会完败?作者简
《经典常谈》内容简介:作者朱自清先生用浅显的语言,将代表我国传统文化的几部书,如说文、周易、尚书、诗经、三礼、春秋三传、四
JenniferCampbell是多伦多大学计算机科学系高级讲师,本书所基于的课程就是由她创建的。PaulGries是多伦多大学计算机科学系高级讲
在线阅读本书Whydoadvertisingcampaignsandnewproductsoftenfail?Whydoconsumersfeelthatcom...
Describinghimselfasa"visualjackdaw",masterdesignerAlanFletcherhasspentalifetimec...
本书主要介绍的是大规模工业化生产的技术,其中的一些技术已经非常成熟,而另外一些则刚刚被研发出来。为了使这些“模具”可以被
《大众媒介研究导论》(第7版)是一本经典的媒介研究方法教材。两位作者都是资深的媒介研究者,维曼博士是一家市场研究公司的总裁和