《Android开发案例驱动教程》

简介: <p><a href="http://www.amazon.cn/gp/product/B00590AI9O/ref=s9_simh_gw_p14_d0_i2?pf_rd_m=A1AJ19PSB66TGU&pf_rd_s=center-1&pf_rd_r=17YZMRQ8GBEGM"><strong><span style="font-size:18px">《Android

《Android开发案例驱动教程》

  作者:关东升,赵志荣
Java或C++程序员转变成为Android程序员
采用案例驱动模式展开讲解知识点,即介绍案例->案例涉及技术->展开知识点->总结的方式
本书作者从事多年一线开发和培训,讲解知识点力求细致,深入浅出

目    录
前言
第1章  Android操作系统概述 1
1.1  Android历史介绍 1
1.2  Android架构 1
1.3  Android平台介绍 2
1.4  现有智能手机操作系统比较 4
第2章  Android开发环境搭建 5
2.1  Eclipse和ADT插件 5
2.1.1  Eclipse安装 5
2.1.2  ADT插件 6
2.2  Android SDK 8
2.2.1  Android SDK的获得 8
2.2.2  Android SDK版本说明 10
2.2.3  ADT配置 10
2.3  Android开发模拟器 11
2.3.1  创建模拟器 11
2.3.2  启动模拟器 13
2.3.3  键盘映射与模拟器控制 13
2.3.4  横屏与竖屏切换 14
第3章  第一个Android程序 15
3.1  HelloAndroid 15
3.1.1  在Eclipse中创建项目 15
3.1.2  编写程序项目代码 17
3.1.3  运行HelloAndroid 18
3.1.4  Android工程目录 19
3.1.5  AndroidManifest.xml文件 21
3.2  Android中的组件介绍 22
3.3  使用Android SDK帮助 23
3.3.1  Android SDK API文档 23
3.3.2  Android SDK开发指南 24
3.3.3  Android SDK samples 24
3.4  使用DDMS帮助调试程序 26
3.4.1  启动DDMS 26
3.4.2  Device 28
3.4.3  Emulator Control 29
3.4.4  File Explorer 30
3.4.5  LogCat 31
3.5  使用ADB帮助调试程序 33
3.5.1  查询模拟器实例和设备 34
3.5.2  进入shell 34
3.5.3  导入导出文件 35
3.6  应用程序的打包、安装和卸载 37
3.6.1  应用程序打包 37
3.6.2  应用程序安装 40
3.6.3  应用程序卸载 40
本章小结 42
第4章  UI基础知识 43
4.1  Android UI组件概述 43
4.1.1  View 43
4.1.2  ViewGroup 44
4.1.3  布局管理器 44
4.2  UI设计工具 44
4.2.1  DroidDraw工具 44
4.2.2  ADT插件UI设计工具 46
4.3  事件处理模型 47
4.3.1  接口实现事件处理模型 47
4.3.2  内部类事件处理模型 49
4.3.3  匿名内部类事件处理模型 51
4.4  Activity中的常用事件 53
4.4.1  触摸事件 53
4.4.2  键盘事件 55
4.5  菜单 57
4.5.1  文本菜单 57
4.5.2  图片文本菜单 59
本章小结 60
第5章  UI基础控件 61
5.1  按钮 61
5.1.1  Button 62
5.1.2  ImageButton 63
5.1.3  ToggleButton 64
5.2  TextView 64
5.3  EditText 65
5.4  RadioButton和RadioGroup 66
5.4.1  RadioButton 66
5.4.2  RadioGroup 67
5.5  CheckBox 68
5.6  ImageView 70
5.7  Progress Bar 70
5.7.1  条状进度条 71
5.7.2  圆形进度条 73
5.7.3  对话框进度条 74
5.7.4  标题栏中进度条 75
5.8  SeekBar 76
5.9  RatingBar 78
本章小结 82
第6章  UI高级控件 83
6.1  列表类控件 83
6.1.1  Adapter概念 83
6.1.2  AutoComplete 84
6.1.3  Spinner 87
6.1.4  ListView 90
6.1.5  GridView 96
6.1.6  Gallery 99
6.2  Toast 103
6.2.1  文本类型 103
6.2.2  图片类型 104
6.2.3  复合类型 105
6.2.4  自定义显示位置Toast 106
6.3  对话框 107
6.3.1  文本信息对话框 107
6.3.2  简单列表项对话框 109
6.3.3  单选项列表项对话框 111
6.3.4  复选框列表项对话框 113
6.3.5  复杂布局列表项对话框 115
6.4  Android国际化和本地化 118
本章小结 121
第7章  UI布局 122
7.1  FrameLayout 122
7.1.1  TextSwitcher 124
7.1.2  ImageSwitcher 126
7.1.3  DatePicker 129
7.1.4  TimePicker 131
7.1.5  ScrollView 133
7.1.6  选项卡 134
7.2  LinearLayout 138
7.3  RelativeLayout 139
7.4  AbsoluteLayout 141
7.5  TableLayout 143
7.6  布局嵌套 146
7.7  屏幕旋转 152
本章小结 154
第8章  多线程 155
8.1  多线程案例--计时器 155
8.2  线程概念 156
8.2.1  进程概念 156
8.2.2  线程概念 156
8.3  Java中的线程 157
8.3.1  Java中的实现线程体方式1 157
8.3.2  Java中的实现线程体方式2 160
8.3.3  Java中的实现线程体方式3 162
8.4  Android中的线程 163
8.4.1  Android线程应用中的问题与分析 164
8.4.2  Message和MessageQueue 169
8.4.3  Handler 169
8.4.4  Looper和HandlerThread 172
本章小结 178
第9章  Activity和Intent 179
9.1  Activity 179
9.1.1  创建Activity 179
9.1.2  Activity生命周期 180
9.2  Intent 183
9.2.1  显式Intent 184
9.2.2  隐式Intent 186
9.2.3  匹配组件 186
9.3  多Activity之间跳转 188
9.3.1  多个Activity之间数据传递 189
9.3.2  跳转与返回 192
9.3.3  任务与标志 196
9.4  Android系统内置Intent 199
本章小结 201
第10章  数据存储 203
10.1  健康助手案例 203
10.2  Android数据存储概述 205
10.3  本地文件 205
10.3.1  访问SD卡 207
10.3.2  访问应用文件目录 212
10.4  SQLite数据库 216
10.4.1  SQLite数据类型 216
10.4.2  Android平台下管理SQLite数据库 216
10.5  编写访问SQLite数据库组件 220
10.5.1  DBHelper类 220
10.5.2  数据插入 222
10.5.3  数据删除 224
10.5.4  数据修改 224
10.5.5  数据查询 227
10.6  案例重构 229
10.6.1  系统架构设计 229
10.6.2  重构数据访问层 230
10.7  为案例增加参数设置功能 238
10.7.1  Shared Preferences 240
10.7.2  Preferences控件介绍 243
10.7.3  使用Preferences控件的案例 248
本章小结 250
第11章  Content Provider 251
11.1  Content Provider概述 251
11.2  Content URI 252
11.2.1  Content URI含义 252
11.2.2  内置的Content URI 253
11.3  通过Content Provider访问联系人 253
11.3.1  查询联系人 255
11.3.2  通过联系人ID查询联系人的Email 258
11.3.3  按照过滤条件查询Email 259
11.3.4  查询联系人的电话 261
11.4  通过Content Provider访问通话记录 262
11.4.1  查询通话记录 262
11.4.2  按照过滤条件查询通话记录 264
11.5  通过Content Provider访问短信 266
11.6  自定义Content Provider实现数据访问 269
11.6.1  编写Content Provider 269
11.6.2  在不同的应用中调用Content Provider 277
11.6.3  重构Content Provider调用 278
本章小结 281
第12章  多媒体 282
12.1  多媒体文件介绍 282
12.1.1  音频多媒体文件介绍 282
12.1.2  视频多媒体文件介绍 283
12.2  Android音频播放 284
12.2.1  Android音频/视频播放状态 284
12.2.2  音频播放案例介绍 286
12.2.3  资源音频文件播放 287
12.2.4  本地音频文件播放 291
12.2.5  网络音频文件播放 292
12.2.6  完善案例其他功能 293
12.3  Android音频录制 303
12.3.1  Android音频/视频录制状态 303
12.3.2  音频录制案例介绍 303
12.3.3  音频录制案例实现 305
12.4  Android视频播放 309
12.4.1  视频播放案例 309
12.4.2  采用MediaPlayer类播放视频 310
12.4.3  使用VideoView控件重构案例 315
本章小结 316
第13章  Service 317
13.1  Service概述 317
13.1.1  本地Service生命周期 317
13.1.2  远程Service生命周期 318
13.2  本地Service 319
13.2.1  本地Service案例 319
13.2.2  编写AudioService 320
13.2.3  调用Service 322
13.2.4  重构案例 323
13.3  远程Service 325
13.3.1  远程Service调用原理 325
13.3.2  远程Service案例 326
13.3.3  设计AIDL文件 327
13.3.4  编写AudioService 331
13.3.5  调用远程Service 336
13.3.6  组件间参数传递 343
本章小结 347
第14章  Broadcast Receiver和Notification 348
14.1  Broadcast Receiver 348
14.1.1  音频播放案例 349
14.1.2  编写音频播放Broadcast Receiver 350
14.1.3  注册音频播放Broadcast Receiver 351
14.1.4  接收系统的广播 353
14.1.5  MP3下载服务案例 353
14.2  Notification 358
14.2.1  完善MP3下载服务案例 358
14.2.2  完善音频播放案例 363
14.2.3  其他形式的Notification 369
本章小结 371
第15章  云端应用 372
15.1  典型云端应用--城市天气信息服务 372
15.2  网络通信技术与实现 374
15.2.1  网络通信技术介绍 376
15.2.2  Java URL类实现方式 377
15.2.3  Apache HttpClient实现方式 378
15.3  数据交换格式 380
15.3.1  纯文本格式 381
15.3.2  XML格式 381
15.3.3  JSON格式 385
15.4  自定义服务器端程序实例 387
15.4.1  Java Servlet概述 387
15.4.2  编写城市信息服务的Servlet 388
15.4.3  编写城市天气服务的Servlet 393
15.4.4  再次探讨HttpClient的POST请求 395
15.5  云端应用案例优化 400
本章小结 404
第16章  Google Map和定位服务 405
16.1  MyMap服务系统案例 405
16.2  Android Google Map 406
16.2.1  申请Google Map Android API Key 407
16.2.2  编写Android Google Map骨架程序 409
16.2.3  控制地图 412
16.2.4  地图的显示模式 416
16.2.5  地图的图层 419
16.2.6  查询与定位 422
16.3  Android定位服务 430
16.3.1  开启定位服务 431
16.3.2  模拟测试 433
16.3.3  GPS与Google Map结合 435
16.4  案例重构 437
16.4.1  重构"定位查询"方法 438
16.4.2  重构"查询周围"方法 440
本章小结 443
第17章  Android通信应用 444
17.1  电话应用开发 444
17.1.1  拨打电话功能 444
17.1.2  呼入电话状态 446
17.2  短信和彩信应用开发 450
17.2.1  Android内置的发送短信/彩信功能 450
17.2.2  自己编写发送文本内容的短信 452
17.2.3  自己编写接收文本内容的短信 458
17.2.4  自己编写发送二进制内容的短信 459
17.2.5  自己编写接收二进制内容的短信 461
17.3  蓝牙通信 463
17.3.1  Android 2 BluetoothChat案例 464
17.3.2  Android 2 蓝牙API介绍 464
17.3.3  TCP Socket与蓝牙Socket的区别 465
17.3.4  BluetoothChat中的类 466
17.3.5  初始化本地蓝牙设备 467
17.3.6  查找蓝牙设备 471
17.3.7  管理连接 476
17.3.8  互相之间的通信 480
17.4  WiFi通信 484
17.4.1  管理WiFi 484
17.4.2  扫描热点 487
17.4.3  Socket通信 489
本章小结 491
参考文献 492

目录
相关文章
|
8天前
|
消息中间件 网络协议 Java
Android 开发中实现数据传递:广播和Handler
Android 开发中实现数据传递:广播和Handler
13 1
|
9天前
|
Linux 编译器 Android开发
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
在Linux环境下,本文指导如何交叉编译x265的so库以适应Android。首先,需安装cmake和下载android-ndk-r21e。接着,下载x265源码,修改crosscompile.cmake的编译器设置。配置x265源码,使用指定的NDK路径,并在配置界面修改相关选项。随后,修改编译规则,编译并安装x265,调整pc描述文件并更新PKG_CONFIG_PATH。最后,修改FFmpeg配置脚本启用x265支持,编译安装FFmpeg,将生成的so文件导入Android工程,调整gradle配置以确保顺利运行。
32 1
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
|
11天前
|
Unix Linux Shell
FFmpeg开发笔记(八)Linux交叉编译Android的FFmpeg库
在Linux环境下交叉编译Android所需的FFmpeg so库,首先下载`android-ndk-r21e`,然后解压。接着,上传FFmpeg及相关库(如x264、freetype、lame)源码,修改相关sh文件,将`SYSTEM=windows-x86_64`改为`SYSTEM=linux-x86_64`并删除回车符。对x264的configure文件进行修改,然后编译x264。同样编译其他第三方库。设置环境变量`PKG_CONFIG_PATH`,最后在FFmpeg源码目录执行配置、编译和安装命令,生成的so文件复制到App工程指定目录。
43 9
FFmpeg开发笔记(八)Linux交叉编译Android的FFmpeg库
|
1天前
|
机器学习/深度学习 安全 数据处理
构建未来:基于Android的智能家居控制系统开发
【4月更文挑战第29天】 随着物联网技术的蓬勃发展,智能家居已成为现代技术革新的重要领域。本文将深入探讨基于Android平台的智能家居控制系统的设计和实现,旨在提供一种用户友好、高度集成且功能丰富的解决方案。通过利用Android设备的广泛普及和其强大的处理能力,结合最新的无线通讯技术和人工智能算法,我们旨在打造一个可靠、易用且具有高度可定制性的智能家居控制环境。文中不仅详细阐述了系统架构、关键技术选型以及界面设计,还对可能遇到的安全挑战进行了分析,并提出了相应的解决策略。
|
1天前
|
监控 Java Android开发
安卓应用开发:打造高效用户界面的五大策略
【4月更文挑战第29天】 在安卓应用开发的世界中,构建一个既美观又高效的用户界面(UI)对于吸引和保留用户至关重要。本文将深入探讨五种策略,这些策略可以帮助开发者优化安卓应用的UI性能。我们将从布局优化讲起,逐步过渡到绘制优化、内存管理、异步处理以及最终的用户交互细节调整。通过这些实践技巧,你将能够为用户提供流畅而直观的体验,确保你的应用在竞争激烈的市场中脱颖而出。
|
3天前
|
机器学习/深度学习 搜索推荐 Android开发
【专栏】安卓应用开发:构建高效用户界面的实用指南
【4月更文挑战第27天】本文介绍了构建高效安卓用户界面的指南,分为设计原则和技巧两部分。设计原则包括一致性、简洁性和可访问性,强调遵循安卓系统规范,保持界面简洁,考虑不同用户需求。技巧方面,建议合理布局、优化图标和图片、运用动画效果、提供个性化设置及优化性能。随着技术发展,未来安卓应用开发将融合更多智能化和个性化元素,开发者需持续学习新技术,提升用户体验。
|
6天前
|
数据库 Android开发 开发者
安卓应用开发:构建高效用户界面的策略
【4月更文挑战第24天】 在竞争激烈的移动应用市场中,一个流畅且响应迅速的用户界面(UI)是吸引和保留用户的关键。针对安卓平台,开发者面临着多样化的设备和系统版本,这增加了构建高效UI的复杂性。本文将深入分析安卓平台上构建高效用户界面的最佳实践,包括布局优化、资源管理和绘制性能的考量,旨在为开发者提供实用的技术指南,帮助他们创建更流畅的用户体验。
|
7天前
android-agent-web中js-bridge案例
android-agent-web中js-bridge案例
13 2
|
8天前
|
存储 Android开发
Android 解决USB TP驱动中触摸卡顿和防抖动问题
Android 解决USB TP驱动中触摸卡顿和防抖动问题
13 1
|
8天前
|
传感器 Android开发
Android MediaTek 添加LPS22HB压力传感器驱动
Android MediaTek 添加LPS22HB压力传感器驱动
4 0