返回首页
苏宁会员
购物车 0
易付宝
手机苏宁

服务体验

店铺评分与同行业相比

用户评价:----

物流时效:----

售后服务:----

  • 服务承诺: 正品保障
  • 公司名称:
  • 所 在 地:

  • Android编程权威指南(第4版) (美)克莉丝汀·马西卡诺 等 著 王明发 译 专业科技 文轩网
  • 新华书店正版
    • 作者: (美)克莉丝汀·马西卡诺 等著 | | 王明发译
    • 出版社: 人民邮电出版社
    • 出版时间:2021-03-01 00:00:00
    送至
  • 由""直接销售和发货,并提供售后服务
  • 加入购物车 购买电子书
    服务

    看了又看

    商品预定流程:

    查看大图
    /
    ×

    苏宁商家

    商家:
    文轩网图书旗舰店
    联系:
    • 商品

    • 服务

    • 物流

    搜索店内商品

    商品分类

         https://product.suning.com/0070067633/11555288247.html

     

    商品参数
    • 作者: (美)克莉丝汀·马西卡诺 等著| 王明发译
    • 出版社:人民邮电出版社
    • 出版时间:2021-03-01 00:00:00
    • 版次:4
    • 印次:1
    • 印刷时间:2021-03-01
    • 字数:821000
    • 页数:556
    • 开本:16开
    • 装帧:平装
    • ISBN:9787115559647
    • 国别/地区:中国
    • 版权提供:人民邮电出版社

    Android编程权威指南(第4版)

    作  者:(美)克莉丝汀·马西卡诺 等 著 王明发 译
    定  价:139
    出 版 社:人民邮电出版社
    出版日期:2021年03月01日
    页  数:556
    装  帧:平装
    ISBN:9787115559647
    主编推荐

    专业——源自大名鼎鼎的Big Nerd Ranch训练营培训讲义,该训练营已经为微软、Google、Facebook等行业巨头培养了众多专业人才。 全面——涵盖Android开发推荐理论概念和技术知识点,从Android 5.0到Android 11.0都适用。 实用——七个Android应用开发实战项目,传授一线开发经验。 易懂——以循序渐进的方式精心编排章节,一步一步写出Android应用。 第4版较之前版本做了重大更新,每一章的内容都做了修改; 同时,开发语言从Java换成了Kotlin,全面引入了Android Jetpack组件库并开始使用第三方库; 随书附赠Android开发速查表,随用随查。

    内容简介

    Big Nerd Ranch是美国一家专业的移动开发技术培训机构。本书主要以其Android训练营教学课程为基础,融合了几位作者多年的心得体会,是一本接近面向实战的Android编程权威指南。全书共32章,详细介绍了七个Android应用的开发过程。通过这些精心设计的应用,读者可掌握很多重要的理论知识和开发技巧,获得宝贵的开发经验。 第4版较之前版本做了重大更新,每一章的内容都做了修改;同时,开发语言从Java换成了Kotlin,全面引入了Android Jetpack组件库并开始使用第三方库。本书适合Android系统开发人员阅读。

    作者简介

    王明发,毕业于华东理工大学。软件开发及项目管理者,拥有近十年的软件开发及项目管理经验;译者,另译有《Android编程权威指南》一书。

    精彩内容

    目录
    第1章 Android开发初体验 1
    1.1 Android开发基础 2
    1.2 创建Android项目 2
    1.3 Android Studio使用导航 6
    1.4 用户界面设计 7
    1.4.1 视图层级结构 12
    1.4.2 部件属性 12
    1.4.3 创建字符串资源 13
    1.4.4 预览布局 14
    1.5 从布局XML到视图对象 16
    1.6 部件的实际应用 19
    1.6.1 引用部件 20
    1.6.2 设置监听器 20
    1.7 创建提示消息 22
    1.8 使用模拟器运行应用 24
    1.9 深入学习:Android编译过程 26
    1.10 关于挑战练习 28
    1.11 挑战练习:定制toast消息 28
    第2章 Android与MVC设计模式 29
    2.1 创建新类 30
    2.2 Android与MVC设计模式 31
    2.3 更新视图层 33
    2.4 更新控制器层 35
    2.5 添加图标资源 38
    2.5.1 向项目中添加资源 39
    2.5.2 在XML文件中引用资源 41
    2.6 屏幕像素密度 41
    2.7 在物理设备上运行应用 43
    2.8 挑战练习:为TextView添加监听器 45
    2.9 挑战练习:添加后退按钮 45
    2.10 挑战练习:从按钮到图标按钮 46
    第3章 activity的生命周期 48
    3.1 旋转GeoQuiz应用 48
    3.2 activity状态与生命周期回调 49
    3.3 日志跟踪理解activity生命周期 51
    3.3.1 输出日志信息 51
    3.3.2 使用LogCat 53
    3.4 activity生命周期如何响应用户操作 54
    3.4.1 暂时离开activity 54
    3.4.2 结束使用activity 57
    3.4.3 旋转activity 58
    3.5 设备配置改变与activity生命周期 58
    3.6 深入学习:UI刷新与多窗口模式 62
    3.7 深入学习:日志记录的级别与函数 62
    3.8 挑战练习:禁止一题多答 63
    3.9 挑战练习:答题评分 63
    第4章 UI状态的保存与恢复 64
    4.1 引入ViewModel依赖 64
    4.2 添加ViewModel 65
    4.2.1 ViewModel生命周期与ViewModelProvider 67
    4.2.2 向ViewModel添加数据 69
    4.3 进程销毁时保存数据 72
    4.3.1 覆盖onSaveInstanceState(Bundle)函数 73
    4.3.2 保留实例状态与activity记录 76
    4.4 ViewModel与保存实例状态 77
    4.5 深入学习:Jetpack、AndroidX与架构组件 78
    4.6 深入学习:解决问题要 79
    第5章 Android应用的调试 81
    5.1 异常与栈跟踪 82
    5.1.1 诊断应用异常 83
    5.1.2 记录栈跟踪日志 84
    5.1.3 设置断点 85
    5.2 Android特有的调试工具 88
    5.2.1 使用Android Lint 88
    5.2.2 R类的问题 91
    5.3 挑战练习:探索布局检查器 92
    5.4 挑战练习:探索Android性能分析器 92
    第6章 第二个activity 93
    6.1 创建第二个activity 94
    6.1.1 创建新的activity 95
    6.1.2 创建新的activity子类 98
    6.1.3 在manifest配置文件中声明activity 98
    6.1.4 为MainActivity添加CHEAT!按钮 99
    6.2 启动activity 100
    6.3 activity间的数据传递 102
    6.3.1 使用intent extra 102
    6.3.2 从子activity 获取返回结果 105
    6.4 activity的使用与管理 110
    6.5 挑战练习:堵住作弊漏洞 112
    6.6 挑战练习:按题记录作弊状态 112
    第7章 Android SDK版本与兼容 113
    7.1 Android SDK版本 113
    7.2 Android编程与兼容性问题 114
    7.2.1 比较合理的版本 114
    7.2.2 SDK大力度优惠版本 115
    7.2.3 SDK目标版本 116
    7.2.4 SDK编译版本 116
    7.2.5 安全添加新版本API中的代码 116
    7.2.6 JETPACK库 119
    7.3 使用Android开发者文档 120
    7.4 挑战练习:报告编译版本 122
    7.5 挑战练习:作弊次数 122
    第8章 UI fragment与fragment管理器 123
    8.1 UI设计的灵活性需求 124
    8.2 引入fragment 124
    8.3 着手开发CriminalIntent 125
    8.4 创建Crime数据类 128
    8.5 创建UI fragment 129
    8.5.1 定义CrimeFragment的布局 129
    8.5.2 创建CrimeFragment类 131
    8.6 托管UI fragment 137
    8.6.1 定义容器视图 138
    8.6.2 向FragmentManager中添加UI fragment 139
    8.7 采用fragment的应用架构 143
    第9章 使用RecyclerView显示列表 145
    9.1 添加新Fragment和ViewModel 146
    9.2 添加RecyclerView 149
    9.3 创建列表项视图布局 151
    9.4 ViewHolder实现 153
    9.5 使用Adapter填充RecyclerView 155
    9.6 循环使用视图 159
    9.7 清理绑定 159
    9.8 响应点击 160
    9.9 深入学习:ListView与GridView 161
    9.10 挑战练习:RecyclerView的ViewType 162
    第10章 使用布局与部件创建用户界面 163
    10.1 初识ConstraintLayout布局 164
    10.2 图形布局编辑器 165
    10.3 使用ConstraintLayout 168
    10.3.1 腾出空间 169
    10.3.2 添加部件 171
    10.3.3 约束的工作原理 174
    10.3.4 编辑属性 175
    10.3.5 动态设置列表项 179
    10.4 深入学习布局属性 180
    10.5 深入学习:边距与内边距 182
    10.6 深入学习:ConstraintLayout的发展动态 183
    10.7 挑战练习:日期格式化 183
    第11章 数据库与Room库 185
    11.1 Room架构组建库 186
    11.2 创建数据库 187
    11.2.1 定义实体 187
    11.2.2 创建数据库类 187
    11.3 定义数据库访问对象 189
    11.4 使用仓库模式访问数据库 191
    11.5 测试数据库访问 193
    11.6 应用线程 196
    11.7 使用LiveData 198
    11.8 挑战练习:解决Schema警告 203
    11.9 深入学习:单例 204
    第12章 Fragment Navigation 206
    12.1 单Activity多Fragment 206
    12.1.1 Fragment回调接口 207
    12.1.2 替换fragment 209
    12.2 Fragment argument 211
    12.2.1 将argument附加到fragment 212
    12.2.2 获取argument 213
    12.3 使用LiveData数据转换 214
    12.4 更新数据库 217
    12.4.1 使用executor 218
    12.4.2 数据库写入与fragment生命周期 219
    12.5 深入学习:为何要用Fragment Argument 220
    12.6 深入学习:Navigation架构组件库 221
    12.7 挑战练习:实现高效的RecyclerView刷新 222
    第13章 对话框 223
    13.1 创建DialogFragment 224
    13.2 fragment间的数据传递 227
    13.2.1 传递数据给DatePickerFragment 228
    13.2.2 返回数据给CrimeFragment 230
    13.3 挑战练习:时间选择对话框 232
    第14章 应用栏 233
    14.1 AppCompat默认应用栏 234
    14.2 应用栏菜单 235
    14.2.1 在XML文件中定义菜单 235
    14.2.2 创建菜单 237
    14.2.3 响应菜单项选择 240
    14.3 使用Android Asset Studio 242
    14.4 深入学习:应用栏、操作栏与工具栏 244
    14.5 深入学习:AppCompat版应用栏 246
    14.6 挑战练习:RecyclerView空视图 246
    第15章 隐式intent 247
    15.1 添加按钮部件 248
    15.2 添加嫌疑人信息至模型层 249
    15.3 使用格式化字符串 250
    15.4 使用隐式intent 251
    15.4.1 隐式intent的组成 252
    15.4.2 发送消息 253
    15.4.3 获取联系人信息 256
    15.4.4 检查可响应任务的activity 261
    15.5 挑战练习:又一个隐式intent 263
    第16章 使用intent拍照 264
    16.1 布置照片 264
    16.2 文件存储 267
    16.2.1 使用FileProvider 268
    16.2.2 指定照片存放位置 269
    16.3 使用相机intent 270
    16.4 缩放和显示位图 273
    16.5 功能声明 277
    16.6 挑战练习:优化照片显示 278
    16.7 挑战练习:优化缩略图加载 278
    第17章 应用本地化 279
    17.1 资源本地化 279
    17.1.1 默认资源 282
    17.1.2 检查资源本地化完成情况 283
    17.1.3 区域修饰符 284
    17.2 配置修饰符 285
    17.2.1 可用资源优先级排定 286
    17.2.2 多重配置修饰符 288
    17.2.3 寻找最匹配的资源 289
    17.3 测试备选资源 290
    17.4 深入学习:确定设备屏幕尺寸 290
    17.5 挑战练习:日期显示本地化 291
    第18章 Android辅助功能 292
    18.1 TalkBack 292
    18.1.1 点击浏览 294
    18.1.2 线性浏览 295
    18.2 实现非文字型元素可读 297
    18.2.1 添加内容描述 297
    18.2.2 实现部件可聚焦 300
    18.3 提升辅助体验 301
    18.4 深入学习:使用辅助功能扫描器 302
    18.5 挑战练习:优化列表项 305
    18.6 挑战练习:补全上下文信息 305
    18.7 挑战练习:事件主动通知 306
    第19章 数据绑定与MVVM 307
    19.1 为何要用MVVM架构 308
    19.2 MVVM View Model与Jetpack ViewModel 308
    19.3 创建BeatBox应用 308
    19.4 实现简单的数据绑定 309
    19.5 导入assets 312
    19.6 处理assets 314
    19.7 使用assets 316
    19.8 绑定数据 318
    19.8.1 创建视图模型 320
    19.8.2 绑定至视图模型 321
    19.8.3 绑定数据观察 323
    19.9 深入学习:数据绑定再探 325
    19.9.1 lambda表达式 325
    19.9.2 更多语法糖 326
    19.9.3 BindingAdapter 326
    19.10 深入学习:LiveData和数据绑定 327
    第20章 音频播放与单元测试 329
    20.1 创建SoundPool 329
    20.2 访问Assets 330
    20.3 加载音频文件 330
    20.4 播放音频 332
    20.5 测试依赖 332
    20.6 创建测试类 333
    20.7 配置测试类 335
    20.8 编写测试函数 336
    20.9 数据绑定回调 341
    20.10 释放音频 342
    20.11 深入学习:整合测试 343
    20.12 深入学习:模拟对象与测试 344
    20.13 挑战练习:播放进度控制 345
    20.14 挑战练习:设备旋转问题 346
    第21章 样式与主题 347
    21.1 颜色资源 348
    21.2 样式 348
    21.3 主题 351
    21.4 添加主题颜色 353
    21.5 覆盖主题属性 354
    21.6 修改按钮属性 358
    21.7 深入学习:样式继承拾遗 361
    21.8 深入学习:引用主题属性 362
    第22章 XML drawable 363
    22.1 统一按钮样式 364
    22.2 shape drawable 365
    22.3 state list drawable 367
    22.4 layer list drawable 368
    22.5 深入学习:为什么要用XML drawable 370
    22.6 深入学习:使用mipmap图像 370
    22.7 深入学习:使用9-patch图像 371
    22.8 挑战练习:按钮主题 377
    第23章 深入学习intent和任务 378
    23.1 创建NerdLauncher项目 379
    23.2 解析隐式intent 380
    23.3 在运行时创建显式intent 385
    23.4 任务与回退栈 386
    23.4.1 在任务间切换 387
    23.4.2 启动新任务 388
    23.5 用NerdLauncher当主屏幕 391
    23.6 深入学习:进程与任务 392
    23.7 深入学习:并发文档 394
    23.8 挑战练习:应用图标 397
    第24章 HTTP 与后台任务 398
    24.1 创建PhotoGallery应用 399
    24.2 Retrofit网络连接基本 402
    24.2.1 定义Retrofit API接口 403
    24.2.2 构建Retrofit对象并创建API实例 403
    24.2.3 执行网络请求 405
    24.2.4 获取网络使用权限 407
    24.2.5 使用仓库模式联网 408
    24.3 从Flickr 获取JSON数据 411
    24.4 应对设备配置改变 418
    24.5 在RecyclerView里显示结果 421
    24.6 深入学习:其他JSON数据解析器和数据格式 423
    24.7 深入学习:撤销网络请求 423
    24.8 深入学习:管理依赖 424
    24.9 挑战练习:自定义Gson反序列化器 425
    24.10 挑战练习:分页 426
    24.11 挑战练习:动态调整网格列 426
    第25章 Looper、Handler和HandlerThread 427
    25.1 配置RecyclerView以显示图片 427
    25.2 准备下载数据 430
    25.3 批量下载缩略图 431
    25.4 创建后台线程 431
    25.4.1 创建生命周期感知线程 432
    25.4.2 启停HandlerThread 435
    25.5 Message与message handler 436
    25.5.1 剖析Message 438
    25.5.2 剖析Handler 438
    25.5.3 使用handler 440
    25.5.4 传递handler 443
    25.6 观察视图的生命周期 446
    25.7 保留fragment 450
    25.7.1 设备旋转与保留fragment 450
    25.7.2 是否保留fragment 452
    25.8 深入学习:解决图片下载问题 452
    25.9 深入学习:StrictMode 453
    25.10 挑战练习:观察视图LifecycleOwner的LiveData 454
    25.11 挑战练习:优化ThumbnailDownloader 454
    25.12 挑战练习:预加载以及缓存 454
    第26章 搜索 456
    26.1 搜索Flickr网站 457
    26.2 使用SearchView 460
    26.3 使用sharedpreferences实现轻量级数据存储 464
    26.4 优化应用 467
    26.5 用Android KTX编辑SharedPreferences 468
    26.6 挑战练习:优化PhotoGallery应用 469
    第27章 WorkManager 470
    27.1 创建Worker类 470
    27.2 调度工作 471
    27.3 检查新图片 473
    27.4 通知用户 476
    27.5 服务的用户控制 481
    第28章 broadcast intent 486
    28.1 普通intent与broadcast intent 486
    28.2 过滤前台通知 487
    28.2.1 发送broadcast intent 487
    28.2.2 创建并登记standalone receiver 488
    28.2.3 使用私有权限broadcast 489
    28.2.4 创建并登记动态receiver 491
    28.2.5 使用有序broadcast收发数据 493
    28.3 receiver与长时运行任务 497
    28.4 深入学习:本地事件 497
    28.4.1 使用EventBus 498
    28.4.2 使用RxJava 499
    28.5 深入学习:受限的Broadcast Receiver 499
    28.6 深入学习:探测fragment的状态 500
    第29章 网页浏览 501
    29.1 最后一段Flickr数据 501
    29.2 简单方式:使用隐式intent 503
    29.3 较难的方式:使用WebView 504
    29.4 处理WebView的设备旋转问题 511
    29.5 WebView与定制UI 512
    29.6 深入学习:注入JavaScript对象 512
    29.7 深入学习:WebView升级 513
    29.8 深入学习:Chrome Custom Tabs 513
    29.9 挑战练习:使用回退键浏览历史网页 514
    第30章 定制视图与触摸事件 515
    30.1 创建DragAndDraw项目 515
    30.2 创建定制视图 516
    30.3 处理触摸事件 518
    30.4 onDraw(Canvas)函数内的图形绘制 521
    30.5 深入学习:GestureDetector 523
    30.6 挑战练习:设备旋转问题 523
    30.7 挑战练习:旋转矩形框 524
    30.8 挑战练习:辅助功能支持 524
    第31章 属性动画 525
    31.1 建立场景 525
    31.2 简单属性动画 527
    31.2.1 视图转换属性 530
    31.2.2 使用不同的interpolator 531
    31.2.3 色彩渐变 532
    31.3 播放多个动画 534
    31.4 深入学习:其他动画API 536
    31.4.1 传统动画工具 536
    31.4.2 转场 536
    31.5 挑战练习 536
    第32章 编后语 537
    32.1 终极挑战 537
    32.2 插个广告 537
    32.3 致谢 538

    售后保障

    最近浏览

    猜你喜欢

    该商品在当前城市正在进行 促销

    注:参加抢购将不再享受其他优惠活动

    x
    您已成功将商品加入收藏夹

    查看我的收藏夹

    确定

    非常抱歉,您前期未参加预订活动,
    无法支付尾款哦!

    关闭

    抱歉,您暂无任性付资格

    此时为正式期SUPER会员专享抢购期,普通会员暂不可抢购