Android开发权威指南

Android开发权威指南 pdf epub mobi txt 电子书 下载 2026

出版者:人民邮电出版社
作者:李宁
出品人:
页数:582
译者:
出版时间:2011-9
价格:79.00元
装帧:
isbn号码:9787115257147
丛书系列:
图书标签:
  • Android
  • Android开发权威指南
  • 移动开发
  • 开发权威指南
  • 程序设计
  • 计算机
  • android
  • 编程
  • Android
  • Android开发
  • 移动开发
  • 编程
  • 技术
  • 计算机
  • 开发指南
  • 教程
  • 书籍
  • Android SDK
想要找书就要到 本本书屋
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

第一部分 准备篇,包括第1章和第2章,第1章 Android开发简介、第2章 搭建和使用Android开发环境。

第二部分 基础篇,包括第3章~第16章,第3章 Android程序设计基础、第4章 用户界面开发基础、第5章 控件(Widget)详解、第6章 菜单、第7章 信息提醒(对话框、Toast与Notification)、第8章 数据存储、第9章 Android中的窗口——Activity、第10章 全局事件——广播(Broadcast)、第11章 跨应用数据源 Content Provider、第12章 服务(Service)、第13章 网络与通讯、第14章 多媒体开发、第15章 2D游戏开发、第16章 有趣的Android应用。

第三部分 高级篇,包括第17章~第22章,第17章 HTML5与移动Web开发、第18章 输入法开发、第19章 Android OpenGL ES开发基础、第20章 OpenGL ES的超酷效果、第21章 NDK编程、第22章 测试驱动开发(TDD)。

第四部分 综合实例篇,包括第23章~第28章,第23章 蓝牙聊天、第24章 月球登陆(游戏)、第25章 全键盘输入法(应用)、第26章 贪吃蛇(游戏)、第27章 新浪微博客户端(应用)、第28章 笑脸连连看(游戏)。

《Android开发权威指南》 内容提要: 本书旨在为广大 Android 应用开发者提供一本全面、深入且实用的开发指南。无论您是初涉 Android 开发的萌新,还是希望精进技艺的资深开发者,本书都能为您提供宝贵的知识和实践经验。我们将系统地讲解 Android 开发的核心概念、关键技术以及高级技巧,帮助您掌握构建高质量、高性能 Android 应用的必备技能。 内容概述: 本书从 Android 开发的基础知识入手,逐步深入到更复杂的主题,力求覆盖 Android 应用开发的方方面面。 第一部分:Android 开发基础 Android 平台概览: 介绍 Android 操作系统的架构,包括 Linux 内核、HAL、Android 运行时、Java API 框架以及核心应用程序。理解平台架构有助于开发者更好地把握应用的运行机制和系统限制。 开发环境搭建: 详细指导读者如何设置 Android 开发环境,包括安装 Android Studio、SDK 及必要的插件。我们将演示如何创建第一个 Android 项目,熟悉 Android Studio 的各项功能,为后续的开发做好准备。 Activity 和生命周期: 深入解析 Activity 的概念及其生命周期,包括 onCreate()、onStart()、onResume()、onPause()、onStop() 和 onDestroy() 等关键方法。理解 Activity 生命周期对于管理应用状态、避免内存泄漏至关重要。 用户界面 (UI) 设计: 讲解 Android UI 设计的核心组件,包括布局管理器(LinearLayout, RelativeLayout, ConstraintLayout 等)、View 和 ViewGroup。我们将深入介绍 XML 布局文件的编写,以及如何使用各种 UI 控件(TextView, EditText, Button, ImageView, RecyclerView 等)来构建丰富多样的用户界面。 事件处理: 讲解如何响应用户的交互事件,如按钮点击、文本输入等。我们将介绍 OnClickListener、OnTouchListener 等事件监听器的使用,以及如何实现自定义的事件处理逻辑。 Intent: 详细介绍 Intent 的概念及其在组件间通信中的作用。我们将讲解显式 Intent 和隐式 Intent 的使用场景,包括启动 Activity、发送广播、启动服务等。 Fragment: 讲解 Fragment 的概念,它允许将 UI 和行为封装到可重用的模块中。我们将演示如何创建、管理 Fragment,以及 Fragment 与 Activity 之间的通信方式,特别是在平板电脑等大屏幕设备上的应用。 资源管理: 介绍 Android 应用中各种资源的类型,如字符串、颜色、尺寸、图片、布局文件等,以及如何通过不同的限定符(如屏幕方向、语言)来管理不同资源的适配。 数据存储: 讲解 Android 中多种数据存储方式,包括 SharedPreferences (轻量级键值对存储)、文件存储 (内部存储和外部存储) 以及 SQLite 数据库 (关系型数据库)。我们将演示如何选择合适的存储方式,并提供相关的 API 使用示例。 第二部分:Android 应用进阶 服务 (Service): 讲解 Service 的概念,它允许在后台执行长时间运行的操作,而无需用户界面。我们将介绍启动 Service、绑定 Service 以及 Service 的生命周期,并演示一些常见的应用场景,如音乐播放、后台数据同步等。 广播接收器 (BroadcastReceiver): 讲解 BroadcastReceiver 的概念,它用于接收和响应系统级或应用级的广播通知。我们将演示如何注册和发送广播,以及如何处理各种系统广播(如网络连接变化、电池电量变化)。 内容提供者 (ContentProvider): 介绍 ContentProvider 的作用,它允许应用之间共享数据。我们将演示如何创建自定义的 ContentProvider,以及如何查询、插入、更新和删除数据。 通知 (Notification): 讲解如何创建和管理 Android 通知,以便向用户传达重要信息。我们将介绍不同类型的通知,以及如何定制通知的样式、声音和行为。 后台处理和线程: 深入探讨 Android 应用中的多线程编程,包括 Thread、AsyncTask (已弃用,但理解其原理有益)、Handler、Looper、MessageQueue 和 WorkManager。我们将重点讲解如何避免在主线程执行耗时操作,以保证 UI 的流畅性,并介绍 WorkManager 作为现代 Android 应用推荐的后台任务调度方案。 网络通信: 讲解 Android 应用中进行网络通信的常用库和技术,如 HttpURLConnection、OkHttp 和 Retrofit。我们将演示如何发起 HTTP 请求,处理 JSON/XML 数据,以及如何处理网络错误和异常。 数据持久化进阶: 进一步介绍 Room Persistence Library,它是 SQLite 的一个抽象层,提供了更便捷、更安全的方式来访问数据库。我们将演示如何定义实体类、DAO (Data Access Object) 和数据库类,以及如何进行数据库的 CRUD 操作。 权限管理: 讲解 Android 6.0 (API 23) 引入的运行时权限模型,以及如何请求和处理用户授予或拒绝的权限。我们将演示如何声明权限,检查权限,以及请求权限的流程。 第三部分:现代 Android 开发实践 Jetpack 库概览: 介绍 Android Jetpack 是一套旨在帮助开发者更轻松地构建高质量 Android 应用的库、工具和指南。我们将重点介绍其中一些关键组件,如: ViewModel: 用于在配置更改 (如屏幕旋转) 期间存储和管理 UI 相关数据的生命周期感知组件。 LiveData: 一个可观察的数据持有者,允许 UI 观察数据的变化并自动更新。 Navigation Component: 用于简化应用内导航的组件,能够处理 Fragment 和 Activity 之间的导航。 Room Persistence Library: (已在前面提及,此处作为 Jetpack 的一部分再次强调) WorkManager: 用于在设备重启后仍然可靠地执行可延迟的后台任务。 Kotlin 语言特性在 Android 开发中的应用: 鉴于 Kotlin 已成为 Android 开发的首选语言,本书将大量结合 Kotlin 的现代语法和特性进行讲解,如数据类、扩展函数、协程 (Coroutines) 等,以提升开发效率和代码质量。 Jetpack Compose 简介: 简要介绍 Jetpack Compose,这是 Android 原生的 UI 工具包,用于声明式 UI 开发。虽然本书重点仍在于传统的 View 系统,但对 Compose 的介绍将为读者了解未来的 UI 开发趋势提供指引。 依赖注入 (Dependency Injection): 介绍依赖注入的概念及其在 Android 开发中的优势,如提高代码的可测试性和可维护性。我们将介绍 Hilt for Android,它是 Dagger 的一个简化版本,专为 Android 开发而设计。 架构模式: 探讨常见的 Android 应用架构模式,如 MVVM (Model-View-ViewModel)、MVP (Model-View-Presenter) 和 MVI (Model-View-Intent),并分析其优缺点及适用场景。 测试: 讲解 Android 应用的测试策略,包括单元测试、集成测试和 UI 测试。我们将介绍 JUnit、Mockito 等测试框架,以及 Espresso 等 UI 测试工具,帮助开发者编写健壮、可靠的应用。 性能优化: 提供关于 Android 应用性能优化的实用技巧和方法,包括内存管理、布局优化、网络优化、电池优化等,帮助开发者构建响应迅速、资源消耗低的应用。 安全: 讲解 Android 应用开发中的安全注意事项,如数据加密、防止代码被反编译、安全地处理敏感信息等。 本书特色: 理论与实践相结合: 本书不仅深入讲解 Android 开发的理论知识,还提供了大量的代码示例和实战项目,帮助读者将所学知识融会贯通。 循序渐进,由浅入深: 按照逻辑顺序组织内容,从基础概念到高级主题,让读者能够逐步建立起完整的知识体系。 紧跟技术发展: 涵盖了现代 Android 开发中最重要的技术和工具,如 Jetpack 库、Kotlin 语言特性以及架构模式。 实用性强: 专注于解决开发者在实际开发中遇到的问题,提供可直接应用的解决方案。 语言通俗易懂: 避免使用过于晦涩的技术术语,力求用清晰、简洁的语言进行讲解。 通过阅读《Android 开发权威指南》,您将能够系统地掌握 Android 应用开发的核心技能,自信地设计、实现和优化各种类型的 Android 应用,并为成为一名优秀的 Android 开发者打下坚实的基础。

作者简介

目录信息

《android开发权威指南》
第一部分 准 备 篇
第1章 初识庐山真面目——android开发简介 2
1.1 android的基本概念 2
1.1.1 android简介 2
1.1.2 android的版本 4
1.1.3 android的系统构架 5
1.1.4 android的应用程序框架 6
1.2 jil widget介绍 7
1.3 小结 8
第2章 工欲善其事,必先利其器——搭建和使用android开发环境 9
2.1 开发包及工具的安装 9
2.1.1 开发android程序都需要些什么 9
2.1.2 安装jdk和配置java开发环境 10
2.1.3 eclipse的安装与汉化 11
2.1.4 安装androidsdk 12
2.1.5 安装eclipse插件adt 13
2.2 真实体验——编写第一个android程序(随机绘制圆饼) 15
2.2.1 创建android工程 15
2.2.2 在模拟器中运行android程序 17
.2.2.3 界面控件的布局 19
2.2.4 编写代码 20
2.2.5 调试程序 23
2.2.6 在手机上运行和调试程序 28
2.3 迁移android工程可能发生的错误 29
2.4 不需要写一行代码的开发工具:appinventor 31
2.4.1 appinventor简介 31
2.4.2 appintentor的下载和安装 31
2.4.3 用拖曳控件的方式设计界面 33
2.4.4 像拼图一样拼装代码 34
2.5 小结 37
第二部分 基 础 篇
第3章 千里之行始于足下——android程序设计基础 40
3.1 android应用程序框架 40
3.1.1 android项目的目录结构 40
3.1.2 androidmanifest.xml文件的结构 42
3.2 android应用程序中的资源 44
3.3 android的应用程序组件 44
3.3.1 activity(android的窗体) 45
3.3.2 service(服务) 45
3.3.3 broadcast receiver(广播接收器) 45
3.3.4 content provider(内容提供者) 46
3.4 android程序的ui设计 46
3.4.1 手工配置xml布局文件 46
3.4.2 adt自带的可视化ui设计器 47
3.4.3 使用droiddraw设计ui布局 47
3.5 小结 48
第4章 我的ui我做主——用户界面开发基础 49
4.1 activity的使用方法 49
4.1.1 创建activity 49
4.1.2 配置activity 50
4.1.3 显示其他的activity(intent与activity) 52
4.2 activity的生命周期 55
4.3 在不同activity之间传递数据 60
4.3.1 使用intent传递数据 60
4.3.2 使用静态变量传递数据 62
4.3.3 使用剪切板传递数据 63
4.3.4 使用全局对象传递数据 65
4.3.5 返回数据到前一个activity 67
4.4 视图(view) 68
4.4.1 视图简介 68
4.4.2 使用xml布局文件定义视图 69
4.4.3 在代码中控制视图 70
4.5 布局(layout) 72
4.5.1 框架布局(framelayout) 72
4.5.2 线性布局(linearlayout) 75
4.5.3 相对布局(relativelayout) 79
4.5.4 表格布局(tablelayout) 81
4.5.5 绝对布局(absolutelayout) 82
4.5.6 重用xml布局文件 82
4.5.7 优化xml布局文件 85
4.5.8 查看apk文件中的布局 86
4.6 小结 87
第5章 良好的学习开端—— 控件(widget)详解 88
5.1 常用xml属性解析 88
5.1.1 android:id属性 88
5.1.2 控件的宽度(android:layout_width)和高度(android:layout_height) 88
5.1.3 android:layout_margin属性 89
5.1.4 android:padding属性 89
5.1.5 android:layout_weight属性 90
5.1.6 android:layout_gravity和android: gravity属性 90
5.1.7 android:visibility属性 91
5.1.8 android:background属性 91
5.1.9 指定单击事件方法(android:onclick属性) 92
5.1.10 控件焦点属性(android:focusable和android:focusable-intouchmode) 92
5.2 textview(显示文本的控件) 93
5.2.1 显示富文本(url、不同大小、字体、颜色的文本) 93
5.2.2 在textview中显示表情图像和文字 97
5.2.3 单击链接弹出activity 100
5.2.4 为指定文本添加背景 103
5.2.5 带边框的textview 106
5.2.6 设置行间距 110
5.2.7 在未显示完的文本后面加省略号(…) 111
5.2.8 用textview实现走马灯效果 113
5.2.9 垂直滚动textview中的文本 114
5.3 edittext(编辑文本的控件) 115
5.3.1 像qq一样输入表情图像 115
5.3.2 在edittext中输入特定的字符 117
5.3.3 autocompletetext-view(自动完成输入内容的控件) 118
5.4 按钮和复选框控件 120
5.4.1 button(普通按钮控件) 120
5.4.2 图文混排的按钮 122
5.4.3 imagebutton(图像按钮控件) 124
5.4.4 radiobutton(选项按钮控件) 124
5.4.5 togglebutton(开关状态按钮控件) 125
5.4.6 checkbox(复选框控件) 126
5.5 imageview(显示图像的控件) 128
5.5.1 imageview控件的基本用法 128
5.5.2 显示指定区域的图像 129
5.5.3 缩放和旋转图像 132
5.6 时间与日期控件 133
5.6.1 datepicker(输入日期的控件) 133
5.6.2 timepicker(输入时间的控件) 134
5.6.3 datepicker、timepicker与textview同步显示日期和时间 134
5.6.4 analogclock和digitalclock(显示时钟的控件) 136
5.7 进度条控件 137
5.7.1 progressbar(进度条控件) 137
5.7.2 seekbar(拖动条控件) 139
5.7.3 设置progressbar和seekbar的颜色及背景图 140
5.7.4 ratingbar(评分控件) 143
5.8 列表控件 145
5.8.1 listview(普通列表控件) 145
5.8.2 为listview列表项添加复选框和选项按钮 147
5.8.3 对列表项进行增、删、改操作 149
5.8.4 改变列表项的背景色 153
5.8.5 listactivity(封装listview的activity) 154
5.8.6 expandablelistview(可扩展的列表控件) 155
5.8.7 spinner(下拉列表控件) 157
5.9 滚动控件 160
5.9.1 scrollview(垂直滚动控件) 160
5.9.2 horizontalscrollview(水平滚动控件) 161
5.9.3 可垂直和水平滚动的视图 162
5.9.4 gallery(画廊控件) 163
5.10 imageswitcher(图像切换控件) 164
5.11 gridview(网格控件) 166
5.12 tabhost(标签控件) 168
5.13 viewstub(惰性装载控件) 169
5.14 小结 171
第6章 友好的菜单——menu介绍与实例 172
6.1 菜单的基本用法 172
6.1.1 创建选项菜单(options menu) 172
6.1.2 带图像的选项菜单 173
6.1.3 关联activity 173
6.1.4 响应菜单的单击动作 174
6.1.5 动态添加、修改和删除选项菜单 175
6.1.6 带复选框和选项按钮的子菜单 176
6.1.7 上下文菜单 178
6.1.8 菜单事件 179
6.1.9 从菜单资源中装载菜单 180
6.2 菜单特效 181
6.2.1 自定义菜单 181
6.2.2 模拟ucweb效果菜单 184
6.2.3 quickcontactbadge与联系人菜单 189
6.3 小结 192
第7章 友好地互动交流——信息提醒(对话框、toast与notification) 193
7.1 对话框的基本用法 193
7.1.1 带2个按钮(确认/取消)的对话框 193
7.1.2 带3个按钮(覆盖/忽略/取消)的对话框 195
7.1.3 简单列表对话框 196
7.1.4 单选列表对话框 198
7.1.5 多选列表对话框 199
7.1.6 进度对话框 201
7.1.7 登录对话框 205
7.1.8 使用activity托管对话框 207
7.2 对话框的高级应用 209
7.2.1 阻止单击按钮关闭对话框 209
7.2.2 改变对话框的显示位置 213
7.2.3 在对话框按钮和内容文本中插入图像 215
7.2.4 改变对话框的透明度 216
7.3 toast 217
7.3.1 toast的基本用法 217
7.3.2 永不关闭的toast 218
7.3.3 用popupwindow模拟toast提示信息框 221
7.4 通知(notification) 221
7.4.1 在状态栏上显示通知信息 222
7.4.2 notification的清除动作 224
7.4.3 永久存在的notification 225
7.4.4 自定义notification 226
7.5 小结 227
第8章 移动的信息仓库——数据存储 228
8.1 读写key-value对:sharedpreferences 228
8.1.1 sharedpreferences的基本用法 228
8.1.2 数据的存储位置和格式 229
8.1.3 存取复杂类型的数据 230
8.1.4 设置数据文件的访问权限 233
8.1.5 可以保存设置的activity:preferenceactivity 234
8.2 文件存储 238
8.2.1 openfileoutput和openfileinput方法 238
8.2.2 读写sd卡中的文件 239
8.2.3 sax引擎读取xml文件的原理 241
8.2.4 将xml文件转换成java对象 242
8.2.5 文件压缩(jar、zip) 245
8.3 sqlite数据库 249
8.3.1 sqlite数据库管理工具 249
8.3.2 sqliteopenhelper类与自动升级数据库 251
8.3.3 数据绑定与simplecursoradapter类 252
8.3.4 操作sd卡上的数据库 255
8.3.5 将数据库与应用程序一起发布 256
8.3.6 内存数据库 257
8.4 小结 258
第9章 android中的窗口——activity 259
9.1 调用其他程序中的activity 259
9.1.1 直接拨号 259
9.1.2 将电话号传入拨号程序 259
9.1.3 调用拨号程序 260
9.1.4 浏览网页 261
9.1.5 向e-mail客户端传递e-mail地址 261
9.1.6 发送e-mail 261
9.1.7 查看联系人 262
9.1.8 显示系统设置界面(设置主界面、wifi设置界面) 263
9.1.9 启动处理音频的程序 264
9.2 自定义activity action 264
9.3 activity的高级应用 266
9.3.1 activitygroup 266
9.3.2 自定义半透明窗口 268
9.3.3 activity之间切换的动画效果 269
9.4 小结 270
第10章 全局事件——广播(broadcast) 271
10.1 什么是广播 271
10.2 接收系统广播 272
10.2.1 短信拦截 272
10.2.2 用代码注册广播接收器 274
10.2.3 广播接收器的优先级 275
10.2.4 来去电拦截 276
10.2.5 截获屏幕休眠与唤醒 280
10.2.6 开机自动运行 281
10.2.7 显示手机电池的当前电量 282
10.3 发送广播 284
10.4 验证广播接收器是否注册 285
10.5 小结 286
第11章 跨应用数据源——content provider 287
11.1 content provider的作用 287
11.2 获得系统数据 288
11.2.1 读取联系人信息 288
11.2.2 查看收到的短信 290
11.3 自定义contentprovider 291
11.3.1 查询城市信息 291
11.3.2 为content provider添加访问权限 297
11.4 小结 298
第12章 一切为用户服务——service基础与实例 299
12.1 service基础 299
12.1.1 service的生命周期 299
12.1.2 绑定activity和service 302
12.1.3 开机启动service 305
12.1.4 判断service是否已注册 306
12.1.5 判断service是否已开始 307
12.2 跨进程访问(aidl服务) 308
12.2.1 什么是aidl服务 308
12.2.2 建立aidl服务的步骤 308
12.2.3 建立aidl服务 308
12.2.4 传递复杂数据的aidl服务 312
12.2.5 aidl与来去电自动挂断 317
12.3 小结 319
第13章 做好应用桥梁——网络与通信 320
13.1 webview控件 320
13.1.1 用webview控件浏览网页 320
13.1.2 用webview控件装载html代码 322
13.2 访问http资源 324
13.2.1 提交http get和http post请求 324
13.2.2 httpurlconnection类 326
13.2.3 上传文件 327
13.3 客户端socket 330
13.3.1 连接服务器 331
13.3.2 扫描服务器打开的端口 331
13.3.3 发送和接收数据 333
13.3.4 获得无线路由分配给手机的ip地址 334
13.3.5 设置socket选项 335
13.4 服务端socket 339
13.4.1 手机服务器的实现 339
13.4.2 利用socket在应用程序之间通信 340
13.5 蓝牙通信 342
13.5.1 蓝牙简介 342
13.5.2 打开和关闭蓝牙设备 343
13.5.3 搜索蓝牙设备 344
13.5.4 蓝牙数据传输 346
13.6 小结 351
第14章 炫酷你的应用——多媒体开发 352
14.1 音乐 352
14.1.1 播放音乐 352
14.1.2 录音 353
14.2 视频 354
14.2.1 使用videoview播放视频 354
14.2.2 使用surfaceview播放视频 355
14.2.3 录制视频 357
14.3 相机 357
14.3.1 调用系统的拍照功能 358
14.3.2 自定义拍照功能 359
14.4 铃声 364
14.5 小结 366
第15章 2d游戏开发 367
15.1 绘制游戏的画布 367
15.1.1 在view上实现动画效果 367
15.1.2 在surfaceview上实现动画效果 371
15.2 图形绘制基础 374
15.2.1 绘制像素点 374
15.2.2 绘制直线 374
15.2.3 绘制圆形 375
15.2.4 绘制弧 375
15.2.5 绘制文本 376
15.2.6 综合绘制各种图形 376
15.3 高级图像处理技术 380
15.3.1 绘制位图 380
15.3.2 图像的透明度 382
15.3.3 旋转图像 383
15.3.4 路径 384
15.3.5 shader的渲染效果 388
15.4 帧(frame)动画 392
15.4.1 animationdrawable与帧动画 392
15.4.2 播放gif动画 394
15.5 补间(tween)动画 397
15.5.1 移动补间动画 397
15.5.2 缩放补间动画 399
15.5.3 旋转补间动画 402
15.5.4 透明度补间动画 403
15.6 小结 404
第16章 有趣的android应用 405
16.1 传感器 405
16.1.1 如何使用传感器 405
16.1.2 加速度传感器(accelerometer) 409
16.1.3 重力传感器(gravity) 409
16.1.4 光线传感器(light) 410
16.1.5 陀螺仪传感器(gyroscope) 411
16.1.6 方向传感器(orientation) 411
16.1.7 其他传感器 412
16.2 输入输出技术 413
16.2.1 语音识别 413
16.2.2 手势输入 415
16.2.3 语音朗读(tts) 417
16.3 google地图 419
16.4 gps定位 423
16.5 桌面上的小东西 425
16.5.1 窗口小部件(appwidget) 425
16.5.2 快捷方式 431
16.5.3 实时文件夹 433
16.6 应用更华丽——动态壁纸 435
16.7 小结 441
第三部分 高 级 篇
第17章 html5与移动web开发 444
17.1 html5简介 444
17.2 html5精彩效果演示 445
17.3 html5在android中的应用 447
17.4 html5的画布(canvas) 448
17.4.1 canvas概述 448
17.4.2 检测浏览器是否支持canvas 449
17.4.3 在web页面中使用canvas 450
17.4.4 使用路径(path) 452
17.4.5 设置线条风格 453
17.4.6 设置填充类型 453
17.4.7 填充矩形区域 454
17.4.8 使用渐变色(gradient) 454
17.4.9 拉伸画布对象 455
17.4.10 在canvas上绘制文本 456
17.4.11 使用阴影 457
17.5 调试javascript 458
17.6 小结 459
第18章 输入法开发 460
18.1 android输入法简介 460
18.2 控制输入法 461
18.3 输入法实战 462
18.3.1 实现输入法的步骤 463
18.3.2 编写输入法程序 463
18.3.3 输入法服务的生命周期 466
18.3.4 预输入文本 467
18.3.5 输入法设置 467
18.4 小结 468
第19章 android opengl es开发基础 469
19.1 opengl简介 469
19.2 什么是opengl es 469
19.3 多边形 470
19.4 颜色 474
19.5 旋转三角形 475
19.6 旋转立方体 477
19.7 小结 478
第20章 opengl es的超酷效果 479
20.1 保持平衡的旋转文本 479
20.2 左右摇摆的android机器人 482
20.3 纠缠在一起的旋转立方体 485
20.4 透明背景的旋转立方体 486
20.5 触摸旋转的立方体 487
20.6 2d和3d的综合旋转效果 489
20.7 旋转立体天空 491
20.8 小结 493
第21章 android ndk编程 494
21.1 android ndk简介 494
21.2 安装、配置和测试ndk开发环境 495
21.2.1 系统和软件要求 495
21.2.2 下载和安装android ndk 495
21.2.3 下载和安装cygwin 495
21.2.4 配置android ndk的开发环境 498
21.3 第一个ndk程序:世界你好 499
21.3.1 编写和调用ndk程序 499
21.3.2 用命令行方式编译ndk程序 501
21.3.3 在eclipse中集成android ndk 502
21.4 背景不断变化的三角形(ndk 版opengl es) 504
21.5 使用ndk opengl esapi实现千变万化的3d效果 507
21.6 使用ndk调用音频api 510
21.7 本地activity(native activity) 511
21.8 android ndk配置文件详解 513
21.8.1 android ndk定义的变量 513
21.8.2 android ndk定义的函数 514
21.8.3 描述模块的变量 515
21.8.4 配置application.mk文件 516
21.9 小结 516
第22章 测试驱动开发(tdd) 517
22.1 junit测试框架 517
22.2 测试activity 517
22.3 测试content provider 521
22.4 测试service 523
22.5 测试普通类 523
22.6 小结 525
第四部分 综合实例篇
第23章 android综合案例一——蓝牙聊天 528
23.1 蓝牙聊天主界面 528
23.2 添加选项菜单 530
23.3 搜索和连接蓝牙设备 530
23.4 使设备可被其他蓝牙设备发现 533
23.5 发送和接收聊天信息 533
23.6 小结 537
第24章 android综合案例二——月球登陆(游戏) 538
24.1 游戏的玩法 538
24.2 实现游戏界面 539
24.3 设置游戏难度 540
24.4 开始游戏 541
24.5 控制飞船喷火 544
24.6 控制飞船改变飞行方向 544
24.7 判断飞船是否成功 着陆 545
24.8 小结 546
第25章 android综合案例三——全键盘输入法(应用) 547
25.1 安装输入法 547
25.2 输入法的初始化工作 548
25.3 响应键盘操作 549
25.4 根据edittext控件的 属性显示不同的软键盘 551
25.5 小结 553
第26章 android综合案例四——贪吃蛇(游戏) 554
26.1 游戏玩法 554
26.2 游戏主界面设计 555
26.3 控制小蛇的移动 557
26.4 小结 560
第27章 android综合案例五—— 新浪微博客户端 (应用) 561
27.1 新浪微博简介 561
27.1.1 新浪微博客户端 561
27.1.2 新浪微博开放 api 563
27.2 使用新浪微博开发 api 563
27.3 创建和配置新浪微 博客户端工程 564
27.4 登录新浪微博 564
27.5 功能按钮 567
27.6 显示“我的首页”的微博 569
27.7 评论微博 572
27.8 转发微博 573
27.9 写微博 574
27.10 小结 576
第28章 android综合案例六—— 笑脸连连看 (游戏) 577
28.1 游戏玩法 577
28.2 准备图像素材 578
28.3 实现主界面 578
28.4 随机生成连连看 图像 580
28.5 选中两个相同图像 后消失 580
28.6 用定时器限制游戏 时间 581
28.7 小结 582
· · · · · · (收起)

读后感

评分

太难了,而且每一章的末尾都没有习题,为的师兄将这本书说成是字典,你入门就看字典吗? 我坚持看到了地13章,然后我特么就崩溃了啊我,这根本就不是正常人看的,或者说所我太笨了,但是为不是第一次学编程啊,C,java,HTML等我都有接触,就是这样,看这本书还算看到我的头超...  

评分

包括了android大多数的内容。例如,第8章数据存储介绍了android几乎全部的数据操作方式,而且提供了大量的例子。还有网络和通讯一章,介绍了http、socket、蓝牙等技术。很实用。书中又大量的例子,在光盘中,可以直接运行,不错不错。强烈推荐

评分

包括了android大多数的内容。例如,第8章数据存储介绍了android几乎全部的数据操作方式,而且提供了大量的例子。还有网络和通讯一章,介绍了http、socket、蓝牙等技术。很实用。书中又大量的例子,在光盘中,可以直接运行,不错不错。强烈推荐

评分

包括了android大多数的内容。例如,第8章数据存储介绍了android几乎全部的数据操作方式,而且提供了大量的例子。还有网络和通讯一章,介绍了http、socket、蓝牙等技术。很实用。书中又大量的例子,在光盘中,可以直接运行,不错不错。强烈推荐

评分

包括了android大多数的内容。例如,第8章数据存储介绍了android几乎全部的数据操作方式,而且提供了大量的例子。还有网络和通讯一章,介绍了http、socket、蓝牙等技术。很实用。书中又大量的例子,在光盘中,可以直接运行,不错不错。强烈推荐

用户评价

评分

从一个资深开发者的角度来看,这本书的独特价值在于它对“前沿趋势”的整合能力和“历史脉络”的梳理。它没有沉迷于过时的技术点,但同时,它也回溯了经典API的演变,比如从AsyncTask到RxJava再到Kotlin Coroutines的异步处理范式变迁,这有助于我们理解技术栈的选择逻辑。它成功地在“稳定可靠”和“面向未来”之间找到了一个绝佳的平衡点。例如,书中对Compose UI框架的介绍,并不是肤浅的示例代码堆砌,而是深入探讨了声明式UI的核心思想,以及它与传统View体系的根本区别和兼容策略。这种既顾及当下生产力,又布局未来技术方向的视角,让这本书的“保质期”大大延长。我敢说,即使在未来一两年内,这本书依然会是我工具箱中最可靠的那个“瑞士军刀”,随时可以从中汲取解决复杂工程问题的智慧和方案。它提供的知识体系是完整的、立体的,而非零散的知识点集合。

评分

我必须说,这本书在语言风格和排版设计上都展现出了极高的专业素养,读起来完全没有传统技术书籍的枯燥感。它的行文逻辑非常流畅,作者似乎深知读者的认知习惯,总能在最需要解释复杂概念的时候,适时地插入清晰的流程图和代码片段对比。尤其是在讲解模块化和组件化设计时,书中的架构图清晰地展示了如何通过Gradle配置和路由机制实现各个模块的解耦,那种清晰的逻辑层次感,让人一目了然。它不像一些翻译过来的书籍那样晦涩难懂,这本书的语言是为本土开发者量身定制的,用词精准到位,避免了冗余和口水话。我记得我第一次接触多模块项目时,感觉头都大了,但通过这本书的系统阐述,我很快掌握了如何设计合理的模块边界、如何处理跨模块的依赖注入。这种结构化思维的培养,比单纯学习API本身重要得多。这种设计上的匠心,让学习过程变成了一种享受,而不是煎熬。

评分

这本书简直是Android开发者的宝典,我从入门到现在的项目中都离不开它。它的内容组织得极其有条理,从最基础的四大组件到复杂的性能优化、多线程处理,都讲解得深入浅出。我尤其欣赏作者在介绍新技术和新API时的前瞻性,每次Google I/O大会后,我都能在这本书里找到对新特性的权威解读和实践指导,这比那些零散的博客和论坛帖子靠谱多了。举个例子,书中对Jetpack架构组件的讲解,简直是教科书级别的,协程(Coroutines)的异步编程模式,它不仅解释了原理,还提供了大量的实际应用场景,比如如何优雅地处理生命周期敏感的数据流。读完这部分,我才真正理解了MVVM设计模式的精髓,而不是停留在理论层面。更别提它对底层原理的剖析,比如Activity的启动流程、内存的回收机制,那些平时开发中遇到的疑难杂症,通过这本书的解析,都变得豁然开朗。可以说,它不仅仅是一本“如何做”的指南,更是一本“为什么这样设计”的哲学书。对于想从“会写代码”迈向“精通架构”的开发者来说,这本书提供的知识深度和广度是无与伦比的。我甚至会时不时地翻阅一些关于源码分析的章节,以加深对Android系统运行机制的理解。

评分

这本书的深度远超出了“入门”或“进阶”的范畴,它更像是一本面向“架构师”的参考手册。让我印象特别深刻的是关于Android安全性的章节。在当前移动应用安全日益重要的背景下,这本书详尽地分析了代码混淆、数据加密、签名校验以及如何防范常见漏洞(如SQL注入和敏感信息泄露)。它不仅告诉你“要加密”,还深入到了如何选择合适的加密算法,以及在Android环境下如何安全地存储密钥。这种对安全性的重视,体现了作者极高的行业责任感。此外,书中关于性能剖析的论述也极具前瞻性,它指导读者如何使用Systrace和Profiler工具,去定位那些难以察觉的CPU抖动和内存泄漏点。通过书中的指导,我成功优化了一个我们团队应用中困扰已久的启动速度问题,将启动时间减少了近30%。这本书教会我的不是如何使用工具,而是如何像一个专业的性能工程师那样思考问题。

评分

这本书的实战性强到令人发指,简直就像是资深架构师坐在你旁边手把手带着做项目。我最喜欢它的地方在于,它从不局限于官方文档的枯燥描述,而是结合了海量真实生产环境中的案例和“坑点”进行讲解。比如,书中关于自定义View和View动画的部分,简直是视觉效果实现者的福音。它没有简单地罗列属性,而是详细拆解了测量(Measure)、布局(Layout)、绘制(Draw)这三大生命周期的每一个细节,教你如何写出高性能、兼容性好的自定义控件。我曾经花了整整一周时间都搞不定的一个复杂列表项的滑动冲突问题,在这本书中找到了一个非常巧妙的解决方案,它涉及到嵌套Scroller和手势冲突的底层处理。此外,书中对网络模块的讲解也极其到位,对比了Retrofit、OkHttp等主流库的底层实现,并教你如何构建一个健壮的缓存策略和错误重试机制。对我而言,这本书的最大价值在于,它教会我如何“写出健壮的代码”,而不是仅仅“让功能跑起来”。那些关于版本迭代兼容性的处理技巧,更是让我避免了不少线上事故。

评分

我是有多古董才会读这本书?现在是2016.12.24,我读的是2011年出版的~~推荐不要读了。读新版吧。不过内容真的是很扎实。感谢作者。 对了, 不要觉得难,这本书写的很有趣, 坚持读下去,很舒服。

评分

讲的很差

评分

不错,正在看

评分

源码很不错

评分

很不好用啊。新手看不懂。代码给的又不全易出错。推荐去看head first android development!入门了以后通过反编译别人的软件和看官方文档学吧

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2026 onlinetoolsland.com All Rights Reserved. 本本书屋 版权所有