书籍详情

Android从小白到大牛(Kotlin版)

Android从小白到大牛(Kotlin版)

作者:关东升

出版社:清华大学出版社

出版时间:2022-10-01

ISBN:9787302604457

定价:¥89.50

购买这本书可以去
内容简介
  本书是一部介绍如何使用Kotlin语言开发Android应用的教程,旨在帮助读者全面掌握Android开发技术,学习独立开发Android应用项目。 本书主要介绍Android应用开发技术,分为22章,包括开篇综述、Kotlin语言基础、Android开发环境搭建、第一个Android应用程序、Android界面编程基础、Android界面布局、Android基础控件、Android高级控件、活动、碎片、意图、数据存储、使用内容提供者共享数据、Android多任务开发、服务、广播接收器、多媒体开发、网络通信技术、百度地图与定位服务、Android绘图与动画技术、手机电话功能开发、项目实战——“我的备忘录”云服务版。 本书采用案例驱动式展开讲解,为便于读者高效学习,快速掌握使用Kotlin语言开发Android应用的方法,本书提供完整的教学课件、源代码、视频教程以及在线答疑服务等配套资源。本书既可作为高等学校计算机软件技术课程的教材,也可作为社会培训机构的培训教材,还可作为广大Android初学者和Android应用开发程序员的参考书。
作者简介
  关东升一个在IT领域摸爬滚打20多年的老程序员、知名培训专家、畅销书作家。精通多种IT技术。参与设计和开发北京市公交一卡通大型项目,开发国家农产品追溯系统、金融系统微博等移动客户端项目,并在App Store发布多款游戏和应用软件。 长期为中国移动、中国联通、南方航空、中石油、工商银行、平安银行和天津港务局等企事业单位提供培训服务。先后出版了《iOS开发指南》《Cocos2d-x实战》《Java从小白到大牛》《Python从小白到大牛》等40多部图书。
目录

基 础 篇
第1章 开篇综述 3
  1.1 Kotlin语言简介 3
    1.1.1 Kotlin语言设计目标 3
    1.1.2 Kotlin语言特点 3
  1.2 Android移动操作系统概述 4
    1.2.1 Android历史介绍 4
    1.2.2 Android架构 5
    1.2.3 Android平台介绍 6
  1.3 本章总结 7
第2章 Kotlin语言基础 8
  2.1 Kotlin语言学习环境的搭建 8
  2.2 JDK 8
    2.2.1 JDK的下载和安装 8
    2.2.2 设置环境变量 9
  2.3 IntelliJ IDEA开发工具 11
    2.3.1 创建第一个IntelliJ IDEA项目 12
    2.3.2 编写Kotlin源代码文件 14
    2.3.3 运行程序 15
  2.4 变量与常量 16
  2.5 Kotlin数据类型 17
    2.5.1 基本数据类型 17
    2.5.2 可空类型 18
  2.6 字符串 21
    2.6.1 字符串表示形式 21
    2.6.2 字符串模板 22
  2.7 Kotlin中的函数 23
    2.7.1 函数声明 23
    2.7.2 使用命名参数调用函数 24
    2.7.3 参数默认值 24
    2.7.4 表达式函数体 25
  2.8 Kotlin函数式编程 25
    2.8.1 函数类型 26
    2.8.2 Lambda表达式 26
  2.9 Kotlin面向对象编程 28
    2.9.1 类声明 28
    2.9.2 构造函数 29
    2.9.3 属性 30
  2.10 数据类 32
  2.11 嵌套类 32
2.11.1 声明嵌套类 32
2.11.2 内部类 34
2.11.3 对象表达式 35
  2.12 抽象类与接口 37
2.12.1 抽象类声明及实现 37
2.12.2 接口声明及实现 39
  2.13 数据容器 40
2.13.1 数组 41
2.13.2 set集合 44
2.13.3 List集合 48
2.13.4 Map集合 51
  2.14 本章总结 55
第3章 Android开发环境的搭建 56
  3.1 下载和安装Android Studio 56
  3.2 安装Android SDK 57
    3.2.1 配置Android SDK环境变量 58
    3.2.2 变更Android SDK的安装路径 59
  3.3 创建Android模拟器 60
  3.4 本章总结 62
第4章 第一个Android应用程序 63
  4.1 通过Android Studio工具创建项目 63
  4.2 Android项目剖析 65
    4.2.1 Android项目目录结构 65
    4.2.2 活动文件MainActivity.kt 65
    4.2.3 activity_main.xml布局文件 66
    4.2.4 AndroidManifest.xml文件 66
  4.3 运行项目 67
  4.4 学会使用Android开发者社区帮助文档 68
    4.4.1 在线帮助文档 68
    4.4.2 Android SDK API文档 68
    4.4.3 Android SDK开发指南 69
  4.5 本章总结 69
界 面 篇
第5章 Android界面编程基础 73
  5.1 Android界面组成 73
    5.1.1 视图 73
    5.1.2 视图组 73
  5.2 Android应用界面构建 74
    5.2.1 使用Android Studio界面设计工具 74
    5.2.2 LabelButton实例:界面布局实现 74
  5.3 事件处理模型 78
    5.3.1 活动作为事件监听器 78
    5.3.2 对象表达式作为事件监听器 80
    5.3.3 Lambda表达式作为事件监听器 80
  5.4 屏幕上的事件处理 81
    5.4.1 触摸事件 81
    5.4.2 实例:屏幕触摸事件 82
    5.4.3 键盘事件 84
    5.4.4 实例:改变图片的透明度 84
  5.5 本章总结 86
第6章 Android界面布局 87
  6.1 Android界面布局设计模式 87
    6.1.1 表单布局模式 87
    6.1.2 列表布局模式 88
    6.1.3 网格布局模式 88
  6.2 布局管理 89
    6.2.1 帧布局 89
    6.2.2 实例:帧布局 89
    6.2.3 线性布局 91
    6.2.4 线性布局实例:构建登录界面 91
    6.2.5 相对布局 94
    6.2.6 相对布局实例:构建查询功能界面 94
    6.2.7 网格布局 96
    6.2.8 网格布局实例:构建计算器界面 96
    6.2.9 布局文件嵌套实例:构建登录界面 98
  6.3 Android约束布局 100
    实例:使用约束布局重构LabelButton界面 100
  6.4 本章总结 103
第7章 Android基础控件 104
  7.1 按钮 104
    7.1.1 Button 104
    7.1.2 ImageButton 104
    7.1.3 ToggleButton 105
    7.1.4 实例:ButtonSample 106
  7.2 标签 107
  7.3 文本框 108
    7.3.1 文本框相关属性 108
    7.3.2 实例:用户登录 109
    7.3.3 实例:文本框输入控制 110
  7.4 单选按钮 113
    7.4.1 RadioButton 113
    7.4.2 RadioGroup 114
    7.4.3 实例:使用单选按钮 114
  7.5 复选框 116
    7.5.1 CheckBox 116
    7.5.2 实例:使用复选框 117
  7.6 进度栏 119
    7.6.1 进度栏相关属性和函数 119
    7.6.2 实例:水平条状进度栏 120
    7.6.3 实例:圆形进度栏 124
  7.7 拖动栏 125
    7.7.1 SeekBar 126
    7.7.2 实例:使用拖动栏 126
  7.8 本章总结 128
第8章 Android高级控件 129
  8.1 列表类型控件 129
    8.1.1 适配器 129
    8.1.2 Spinner 129
    8.1.3 实例:使用Spinner进行选择 131
    8.1.4 ListView 132
    8.1.5 实例:使用ListView实现显示文本 133
    8.1.6 实例:使用ListView实现显示文本 图片 134
  8.2 Toast 138
    实例:文本类型Toast 138
  8.3 对话框 139
    8.3.1 实例:显示文本信息对话框 139
    8.3.2 实例:简单列表项对话框 141
    8.3.3 实例:单选列表对话框 142
    8.3.4 实例:复选列表对话框 144
    8.3.5 实例:复杂布局对话框 146
  8.4 操作栏和菜单 148
    8.4.1 操作栏 148
    8.4.2 菜单编程 149
    8.4.3 实例:文本菜单 149
    8.4.4 实例:操作表按钮 151
  8.5 本章总结 152
第9章 活动 153
  9.1 活动概述 153
    9.1.1 创建活动 153
    9.1.2 活动的生命周期 155
    9.1.3 实例:Back和Home按钮的区别 156
  9.2 多个活动之间的跳转 161
    9.2.1 用户登录 161
    9.2.2 启动下一个活动 162
    9.2.3 参数传递 164
    9.2.4 返回上一个活动 165
  9.3 活动任务与返回栈 166
  9.4 本章总结 167
第10章 碎片 168
  10.1 界面重用问题 168
  10.2 碎片技术 169
  10.3 碎片的生命周期 169
  10.4 使用碎片开发 171
10.4.1 碎片相关类 171
10.4.2 创建碎片 172
10.4.3 静态添加碎片到活动 173
10.4.4 动态添加碎片到活动 174
10.4.5 管理碎片事务 175
10.4.6 碎片与活动之间的通信 175
  10.5 实例:比赛项目 176
10.5.1 创建两个碎片 177
10.5.2 创建MainActivity活动 181
10.5.3 点击Master碎片列表项 183
10.5.4 数据访问对象 186
  10.6 本章总结 187
进 阶 篇
第11章 意图 191
  11.1 意图概述 191
11.1.1 意图与目标组件间的通信 191
11.1.2 意图对象包含的内容 191
  11.2 意图类型 192
11.2.1 显式意图 192
11.2.2 隐式意图 193
  11.3 匹配组件 193
11.3.1 动作 194
11.3.2 数据 195
11.3.3 类别 196
  11.4 实例:Android系统内置意图 197
  11.5 本章总结 199
第12章 数据存储 200
  12.1 Android数据存储概述 200
  12.2 本地文件 200
12.2.1 沙箱目录设计 200
12.2.2 访问应用程序files目录 201
12.2.3 实例:访问本地CSV文件 201
  12.3 SQLite数据库 205
12.3.1 SQLite数据类型 205
12.3.2 Android平台下管理SQLite数据库 206
  12.4 SQLite数据存储实例:我的备忘录 207
12.4.1 我的备忘录App概述 207
12.4.2 数据库设计 208
12.4.3 SQLiteOpenHelper帮助类 208
12.4.4 数据查询 209
12.4.5 数据插入 213
12.4.6 数据删除 214
  12.5 使用SharedPreferences 217
实例:读写SharedPreferences 217
  12.6 本章总结 219
第13章 使用内容提供者共享数据 220
  13.1 内容提供者概述 220
  13.2 Content URI 221
13.2.1 Content URI概述 221
13.2.2 内置Content URI 222
  13.3 实例:访问联系人信息 223
13.3.1 查询联系人 223
13.3.2 运行时权限 227
  13.4 实例:查询联系人Email 229
  13.5 实例:查询联系人电话 231
  13.6 实例:访问通话记录 232
  13.7 本章总结 237
第14章 Android多任务开发 238
  14.1 Android中使用Kotlin协程 238
14.1.1 在项目中添加协程库 238
14.1.2 第一个Android协程程序 240
  14.2 案例:协程实现计时器 241
14.2.1 主线程更新UI问题 242
14.2.2 协程解决更新UI问题 242
  14.3 本章总结 243
第15章 服务 244
  15.1 服务概述 244
15.1.1 创建服务 244
15.1.2 服务的分类 245
  15.2 启动类型服务 246
15.2.1 启动类型服务生命周期 246
15.2.2 实例:启动类型服务 247
  15.3 绑定类型服务 248
15.3.1 绑定类型服务生命周期 248
15.3.2 实例:绑定类型服务 249
  15.4 本章总结 252
第16章 广播接收器 253
  16.1 广播接收器概述 253
  16.2 编写与注册广播接收器 253
16.2.1 编写广播接收器 253
16.2.2 注册广播接收器 254
16.2.3 实例:发送广播 255
  16.3 系统广播 257
16.3.1 系统广播动作 257
16.3.2 实例:Downloader 257
  16.4 通知 262
发送通知实例:NotificationSample 262
  16.5 本章总结 265
第17章 多媒体开发 266
  17.1 多媒体文件概述 266
17.1.1 音频文件 266
17.1.2 视频文件 267
  17.2 Android音频/视频播放API 267
17.2.1 核心API——MediaPlayer类 268
17.2.2 播放状态 268
  17.3 音频播放实例:MyAudioPlayer 270
17.3.1 资源音频文件播放 270
17.3.2 本地音频文件播放 274
  17.4 Android音频/视频录制API 277
  17.5 音频录制实例:MyAudioRecorder 278
  17.6 视频播放 281
17.6.1 VideoView控件 281
17.6.2 实例:使用VideoView控件播放视频 281
  17.7 本章总结 283
第18章 网络通信技术 284
  18.1 网络通信技术概述 284
18.1.1 Socket通信 284
18.1.2 HTTP 284
18.1.3 HTTPS 285
18.1.4 Web服务 285
18.1.5 搭建自己的Web服务器 285
  18.2 发送网络请求 287
18.2.1 使用java.net.URL 288
18.2.2 重构实例:“我的备忘录”App 291
18.2.3 使用第三方请求库OkHttp4 293
18.2.4 OkHttp4发送Post请求实例:“我的备忘录”App 293
18.2.5 实例:Downloader 295
  18.3 本章总结 296
第19章 百度地图与定位服务 297
  19.1 使用百度地图 297
19.1.1 获得Android签名证书中的SHA1值 297
19.1.2 搭建和配置环境 298
19.1.3 实例:显示地图 301
19.1.4 实例:设置地图状态 304
19.1.5 实例:地图覆盖物 306
  19.2 定位服务 308
19.2.1 定位服务授权 308
19.2.2 位置信息提供者 309
19.2.3 管理定位服务 310
19.2.4 实例:MyLocation 311
19.2.5 测试定位服务 314
  19.3 定位服务与地图结合实例:WhereAMI 317
  19.4 本章总结 321
第20章 Android绘图与动画技术 322
  20.1 Android 2D绘图技术 322
20.1.1 画布和画笔 322
20.1.2 实例:绘制点和线 323
20.1.3 实例:绘制矩形 324
20.1.4 实例:绘制弧线 326
20.1.5 实例:绘制位图 327
  20.2 位图变换 328
20.2.1 矩阵 328
20.2.2 实例:位图变换 328
  20.3 调用Android照相机获取图片 329
20.3.1 调用Android照相机 329
20.3.2 调用Android照相机实例:CameraTake 330
  20.4 Android动画技术 334
20.4.1 渐变动画 334
20.4.2 实例:渐变动画 335
20.4.3 动画插值器 339
20.4.4 使用动画集 340
20.4.5 帧动画 340
  20.5 本章总结 342
第21章 手机电话功能开发 343
  21.1 拨打电话功能 343
21.1.1 拨打电话功能概述 343
21.1.2 实例:拨打电话 344
  21.2 访问电话呼入状态功能 346
21.2.1 呼入电话状态 346
21.2.2 实例:电话黑名单(Blacklist) 347
  21.3 本章总结 351
实 战 篇
第22章 项目实战——“我的备忘录”云服务版 355
  22.1 应用分析与设计 355
  22.2 编码实现过程 356
22.2.1 用Android Studio创建项目 356
22.2.2 查询备忘录功能 357
22.2.3 增加备忘录功能 362
22.2.4 删除备忘录功能 366
  22.3 Android设备测试 368
  22.4 还有“最后一公里” 369
22.4.1 添加图标 369
22.4.2 生成数字签名文件 369
22.4.3 发布打包 370

猜您喜欢

读书导航