0 0 0

Android编程权威指南.第3版.pdf

嘴硬心软难得人心
1月前 330
我用夸克网盘分享了「 Android编程权威指南.第3版.pdf」,点击链接即可保存。打开「夸克APP」在线查看,支持多种文档格式转换。
作者: 比尔·菲利普斯 (Bill Phillips)/克里斯·斯图尔特 (Chris Stewart)/克莉丝汀·马西卡诺 (Kristin Marsicano) 出版社: 人民邮电出版社 译者: 王明发 出版年: 2017-6 页数: 576 定价: 129.00元 装帧: 平装 丛书: The Big Nerd Ranch Guide 中译本 ISBN: 9787115457592

内容简介

作者简介: Bill Phillips Big Nerd Ranch资深讲师。他与人合作开发了广受好评的Android训练营培训课程,并为之编写教材(包括本书的第1版和第2版)。Bill一直坚持撰写博客、阅读各类文学作品、作曲奏乐以及著书。 Chris Stewart Big Nerd Ranch的Android团队主管、Android训练营资深讲师。他致力于不断取得进步和精进技能。工作之余,Chris喜欢远足和旅行。 Kristin Marsicano Big Nerd Ranch资深讲师、Android开发者。她喜欢分享知识,对学习、软件开发以及二者的交集充满热情。在授课和开发应用之余,Kristin会为家人烹调美食、练习瑜伽或学习新知识。 译者简介: 王明发 毕业于华东理工大学。软件开发及项目管理者,拥有近十年的软件开发及项目管理经验;除了翻译本书前两版之外,另译有《写给大家看的项目管理书(第3版)》。

作者简介

作者简介: Bill Phillips Big Nerd Ranch资深讲师。他与人合作开发了广受好评的Android训练营培训课程,并为之编写教材(包括本书的第1版和第2版)。Bill一直坚持撰写博客、阅读各类文学作品、作曲奏乐以及著书。 Chris Stewart Big Nerd Ranch的Android团队主管、Android训练营资深讲师。他致力于不断取得进步和精进技能。工作之余,Chris喜欢远足和旅行。 Kristin Marsicano Big Nerd Ranch资深讲师、Android开发者。她喜欢分享知识,对学习、软件开发以及二者的交集充满热情。在授课和开发应用之余,Kristin会为家人烹调美食、练习瑜伽或学习新知识。 译者简介: 王明发 毕业于华东理工大学。软件开发及项目管理者,拥有近十年的软件开发及项目管理经验;除了翻译本书前两版之外,另译有《写给大家看的项目管理书(第3版)》。

网友热评

君临: 3月27日 公司决定用原生方式开发Android App了 虽然自己主要负责小程序了 但是 因为工程量太大 还是需要学习java和Android开发

图书目录

第1章 Android开发初体验  1 1.1 Android开发基础  2 1.2 创建Android项目  2 1.3 AndroidStudio使用导航  6 1.4 用户界面设计  6 1.4.1 视图层级结构  10 1.4.2 组件属性  10 1.4.3 创建字符串资源  11 1.4.4 预览布局  12 1.5 从布局XML到视图对象  13 1.6 组件的实际应用  16 1.6.1 引用组件  17 1.6.2 设置监听器  17 1.7 创建提示消息  19 1.8 使用模拟器运行应用  21 1.9 深入学习:Android编译过程  23 1.10 关于挑战练习  25 1.11 挑战练习:定制toast消息  25 第2章 Android与MVC设计模式  26 2.1 创建新类  26 2.2 Android与MVC设计模式  29 2.3 更新视图层  31 2.4 更新控制器层  33 2.5 在物理设备上运行应用  37 2.5.1 连接设备  37 2.5.2 配置设备用于应用开发  37 2.6 添加图标资源  38 2.6.1 向项目中添加资源  39 2.6.2 在XML文件中引用资源  41 2.7 挑战练习:为TextView添加监听器  42 2.8 挑战练习:添加后退按钮  42 2.9 挑战练习:从按钮到图标按钮  42 第3章 activity的生命周期  45 3.1 日志跟踪理解activity生命周期  46 3.1.1 输出日志信息  46 3.1.2 使用LogCat  48 3.1.3 activity生命周期实例解析  50 3.2 设备旋转与activity生命周期  52 3.3 保存数据以应对设备旋转  56 3.4 再探activity生命周期  58 3.5 深入学习:activity内存清理现状  59 3.6 深入学习:日志记录的级别与方法  60 3.7 挑战练习:禁止一题多答  61 3.8 挑战练习:评分  61 第4章 Android应用的调试  62 4.1 异常与栈跟踪  63 4.1.1 诊断应用异常  64 4.1.2 记录栈跟踪日志  65 4.1.3 设置断点  66 4.1.4 使用异常断点  68 4.2 Android特有的调试工具  70 4.2.1 使用AndroidLint  70 4.2.2 R类的问题  71 4.3 挑战练习:探索布局检查器  72 4.4 挑战练习:探索内存分配跟踪  72 第5章 第二个activity  74 5.1 创建第二个activity  75 5.1.1 创建新的activity  75 5.1.2 创建新的activity子类  78 5.1.3 在manifest配置文件中声明activity  78 5.1.4 为QuizActivity添加CHEAT按钮  79 5.2 启动activity  81 5.3 activity间的数据传递  83 5.3.1 使用intentextra  83 5.3.2 从子activity获取返回结果  86 5.4 activity的使用与管理  91 5.5 挑战练习:堵住漏洞  93 第6章 AndroidSDK版本与兼容  94 6.1 AndroidSDK版本  94 6.2 Android编程与兼容性问题  95 6.2.1 比较合理的版本  95 6.2.2 SDK最低版本  96 6.2.3 SDK目标版本  97 6.2.4 SDK编译版本  97 6.2.5 安全添加新版本API中的代码  97 6.3 使用Android开发者文档  100 6.4 挑战练习:报告编译版本  101 6.5 挑战练习:限制作弊次数  102 第7章 UIfragment与fragment管理器  103 7.1 UI设计的灵活性需求  104 7.2 引入fragment  104 7.3 着手开发CriminalIntent  105 7.3.1 创建新项目  107 7.3.2 两类fragment  108 7.3.3 在AndroidStudio中增加依赖关系  108 7.3.4 创建Crime类  111 7.4 托管UIfragment  112 7.4.1 fragment的生命周期  112 7.4.2 托管的两种方式  113 7.4.3 定义容器视图  113 7.5 创建UIfragment  115 7.5.1 定义CrimeFragment的布局  115 7.5.2 创建CrimeFragment类  117 7.6 向FragmentManager添加UIfragment  122 7.6.1 fragment事务  123 7.6.2 FragmentManager与fragment生命周期  125 7.7 采用fragment的应用架构  126 7.8 深入学习:fragment与支持库  127 7.9 深入学习:为什么优先使用支持库版fragment  128 第8章 使用RecyclerView显示列表  129 8.1 升级CriminalIntent应用的模型层  130 8.2 使用抽象activity托管fragment  132 8.2.1 通用型fragment托管布局  133 8.2.2 抽象activity类  133 8.3 RecyclerView、ViewHolder和Adapter  137 8.3.1 ViewHolder和Adapter  138 8.3.2 使用RecyclerView  141 8.3.3 列表项视图  142 8.3.4 实现ViewHolder和Adapter  143 8.4 绑定列表项  145 8.5 响应点击  147 8.6 深入学习:ListView和GridView  148 8.7 深入学习:单例  148 8.8 挑战练习:RecyclerViewViewType  149 第9章 使用布局与组件创建用户界面  150 9.1 使用图形布局工具  151 9.2 引入ConstraintLayout  151 9.2.1 使用ConstraintLayout  152 9.2.2 约束编辑器  153 9.2.3 腾出空间  155 9.2.4 添加组件  157 9.2.5 约束的XML形式  159 9.2.6 编辑属性  160 9.2.7 动态设置列表项  162 9.3 深入学习布局属性  163 9.3.1 dp、sp以及屏幕像素密度  163 9.3.2 边距与内边距  165 9.3.3 样式、主题及主题属性  166 9.3.4 Android应用的设计原则  166 9.4 图形布局工具使用小结  167 9.5 挑战练习:日期格式化  167 第10章 使用fragmentargument  168 10.1 从fragment中启动activity  168 10.1.1 附加extra信息  169 10.1.2 获取extra信息  170 10.1.3 使用Crime数据更新CrimeFragment视图  171 10.1.4 直接获取extra信息的缺点  172 10.2 fragmentargument  172 10.2.1 附加argument给fragment  173 10.2.2 获取argument  174 10.3 刷新显示列表项  174 10.4 通过fragment获取返回结果  176 10.5 深入学习:为何要用fragmentargument  177 10.6 挑战练习:实现高效的RecyclerView刷新  178 10.7 挑战练习:优化CrimeLab的表现  178第11章 使用ViewPager  179 11.1 创建CrimePagerActivity  180 11.1.1 ViewPager与PagerAdapter  181 11.1.2 整合并配置使用CrimePagerActivity  182 11.2 FragmentStatePagerAdapter与FragmentPagerAdapter  184 11.3 深入学习:ViewPager的工作原理  186 11.4 深入学习:以代码的方式创建视图  187 11.5 挑战练习:恢复CrimeFragment的边距  187 11.6 挑战练习:添加JumptoFirst按钮和JumptoLast按钮  188 第12章 对话框  189 12.1 创建DialogFragment  190 12.1.1 显示DialogFragment  192 12.1.2 设置对话框的显示内容  194 12.2 fragment间的数据传递  196 12.2.1 传递数据给DatePickerFragment  197 12.2.2 返回数据给CrimeFragment  199 12.3 挑战练习:更多对话框  205 12.4 挑战练习:实现响应式DialogFragment  205 第13章 工具栏  207 13.1 AppCompat  207 13.2 工具栏菜单  209 13.2.1 在XML文件中定义菜单  210 13.2.2 创建菜单  214 13.2.3 响应菜单项选择  217 13.3 实现层级式导航  218 13.4 可选菜单项  219 13.4.1 切换菜单项标题  220 13.4.2 “还有个问题”  222 13.5 深入学习:工具栏与操作栏  224 13.6 挑战练习:删除crime记录  224 13.7 挑战练习:复数字符串资源  224 13.8 挑战练习:用于RecyclerView的空视图  225 第14章 SQLite数据库  226 14.1 定义schema  226 14.2 创建初始数据库  227 14.2.1  使用AndroidDeviceMonitor查看文件  230 14.2.2 处理数据库相关问题  231 14.3 修改CrimeLab类  232 14.4 写入数据库  233 14.4.1 使用ContentValues  233 14.4.2 插入和更新记录  234 14.5 读取数据库  235 14.5.1 使用CursorWrapper  236 14.5.2 创建模型层对象  238 14.6 深入学习:数据库高级主题介绍  241 14.7 深入学习:应用上下文  241 14.8 挑战练习:删除crime记录  242 第15章 隐式intent  243 15.1 添加按钮组件  244 15.2 添加嫌疑人信息至模型层  244 15.3 使用格式化字符串  246 15.4 使用隐式intent  248 15.4.1 隐式intent的组成  248 15.4.2 发送消息  249 15.4.3 获取联系人信息  252 15.4.4 检查可响应任务的activity  254 15.5 挑战练习:ShareCompat  256 15.6 挑战练习:又一个隐式intent  256 第16章 使用intent拍照  258 16.1 布置照片  258 16.2 文件存储  260 16.2.1 使用FileProvider  261 16.2.2 指定照片存放位置  262 16.3 使用相机intent  263 16.4 缩放和显示位图  265 16.5 功能声明  268 16.6 挑战练习:优化照片显示  269 16.7 挑战练习:优化缩略图加载  269 第17章 双版面主从用户界面  270 17.1 增加布局灵活性  271 17.1.1 修改SingleFragment- Activity  272 17.1.2 创建包含两个fragment容器的布局  272 17.1.3 使用别名资源  274 17.1.4 创建平板设备专用可选资源  275 17.2 activity:fragment的托管者  276 17.3 深入学习:设备屏幕尺寸的确定  284 17.4 挑战练习:添加滑动删除功能  285 第18章 应用本地化  286 18.1 资源本地化  286 18.1.1 默认资源  289 18.1.2 检查资源本地化完成情况  291 18.1.3 区域修饰符  292 18.2 配置修饰符  294 18.2.1 可用资源优先级排定  295 18.2.2 多重配置修饰符  296 18.2.3 寻找最匹配的资源  297 18.3 测试备选资源  298 18.4 挑战练习:日期本地化  298 第19章 Android辅助功能  299 19.1 TalkBack  299 19.1.1 点击浏览  301 19.1.2 线性浏览  301 19.2 实现非文字型元素可读  303 19.2.1 添加内容描述  303 19.2.2 实现组件可聚焦  305 19.3 提升辅助体验  305 19.4 深入学习:使用辅助功能扫描器  309 19.5 挑战练习:优化列表项  311 19.6 挑战练习:补全上下文信息  311 19.7 挑战练习:事件主动通知  311 第20章 数据绑定与MVVM  313 20.1 为何要用MVVM架构  314 20.2 创建BeatBox应用  314 20.3 导入assets  319 20.4 处理assets  321 20.5 使用assets  323 20.6 绑定数据  325 20.6.1 创建视图模型  327 20.6.2 绑定至视图模型  328 20.6.3 绑定数据观察  330 20.7 访问assets  332 20.8 深入学习:数据绑定再探  333 20.8.1 lambda表达式  333 20.8.2 更多语法糖  333 20.8.3 BindingAdapter  333 20.9 深入学习:为何使用assets  334 20.10 深入学习:什么是non-assets  334 第21章 音频播放与单元测试  335 21.1 创建SoundPool  335 21.2 加载音频文件  336 21.3 播放音频  337 21.4 添加测试依赖  338 21.5 创建测试类  339 21.6 实现测试类  341 21.7 编写测试方法  342 21.8 数据绑定回调  346 21.9 释放音频  346 21.10 设备旋转和对象保存  347 21.10.1 保留fragment  348 21.10.2 设备旋转和已保留的fragment  349 21.11 深入学习:是否保留fragment  351 21.12 深入学习:Espresso与整合测试  351 21.13 深入学习:虚拟对象与测试  352 21.14 挑战练习:播放进度控制  353 第22章 样式与主题  354 22.1 颜色资源  354 22.2 样式  355 22.3 主题  357 22.4 添加主题颜色  359 22.5 覆盖主题属性  361 22.6 修改按钮属性  364 22.7 深入学习:样式继承拾遗  367 22.8 深入学习:引用主题属性  367 第23章 XMLdrawable  368 23.1 统一按钮样式  368 23.2 shapedrawable  369 23.3 statelistdrawable  371 23.4 layerlistdrawable  372 23.5 深入学习:为什么要用XMLdrawable  373 23.6 深入学习:使用mipmap图像  374 23.7 深入学习:使用9-patch图像  375 23.8 挑战练习:按钮主题  379 第24章 深入学习intent和任务  380 24.1 创建NerdLauncher项目  380 24.2 解析隐式intent  382 24.3 在运行时创建显式intent  386 24.4 任务与回退栈  388 24.4.1 在任务间切换  389 24.4.2 启动新任务  389 24.5 使用NerdLauncher应用作为设备主屏幕  392 24.6 挑战练习:应用图标  393 24.7 深入学习:进程与任务  393 24.8 深入学习:并发文档  395 第25章 HTTP与后台任务  398 25.1 创建PhotoGallery应用  399 25.2 网络连接基本  401 25.3 使用AsyncTask在后台线程上运行代码  403 25.4 线程与主线程  405 25.5 从Flickr获取JSON数据  407 25.6 从AsyncTask回到主线程  413 25.7 清理AsyncTask  416 25.8 深入学习:AsyncTask再探  416 25.9 深入学习:AsyncTask的替代方案  417 25.10 挑战练习:Gson  418 25.11 挑战练习:分页  418 25.12 挑战练习:动态调整网格列  418 第26章 Looper、Handler和HandlerThread  420 26.1 配置RecyclerView以显示图片  420 26.2 批量下载缩略图  422 26.3 与主线程通信  423 26.4 创建并启动后台线程  424 26.5 Message与messagehandler  426 26.5.1 剖析Message  426 26.5.2 剖析Handler  427 26.5.3 使用handler  428 26.5.4 传递handler  431 26.6 深入学习:AsyncTask与线程  436 26.7 深入学习:解决图片下载问题  436 26.8 深入学习:StrictMode  437 26.9 挑战练习:预加载以及缓存  438 第27章 搜索  439 27.1 搜索Flickr网站  439 27.2 使用SearchView  443 27.3 使用sharedpreferences实现轻量级数据存储  447 27.4 优化应用  451 27.5 挑战练习:深度优化PhotoGallery 应用  451 第28章 后台服务  452 28.1 创建IntentService  452 28.2 服务的作用  454 28.3 查找最新返回结果  456 28.4 使用AlarmManager延迟运行服务  458 28.4.1 合理控制服务启动的频度  460 28.4.2 PendingIntent  461 28.4.3 使用PendingIntent管理定时器  461 28.5 控制定时器  462 28.6 通知信息  464 28.7 挑战练习:可穿戴设备上的通知  466 28.8 深入学习:服务之细节  467 28.8.1 服务的能与不能  467 28.8.2 服务的生命周期  467 28.8.3 non-sticky服务  467 28.8.4 sticky服务  468 28.8.5 绑定服务  468 28.9 深入学习:JobScheduler和 JobService  469 28.10 挑战练习:在Lollipop设备上使用JobService  472 28.11 深入学习:syncadapter  472 第29章 broadcastintent  474 29.1 普通intent和broadcastintent  474 29.2 接收系统broadcast:重启后唤醒  475 29.2.1 创建并登记standalonereceiver  475 29.2.2 使用receiver  477 29.3 过滤前台通知消息  479 29.3.1 发送broadcastintent  479 29.3.2 创建并登记动态receiver  480 29.3.3 使用私有权限限制broadcast  482 29.3.4 使用有序broadcast收发数据  484 29.4 receiver与长时运行任务  488 29.5 深入学习:本地事件  488 29.5.1 使用EventBus  489 29.5.2 使用RxJava  490 29.6 深入学习:探测fragment的状态  490 第30章 网页浏览  492 30.1 最后一段Flickr数据  492 30.2 简单方式:隐式intent  494 30.3 较难方式:使用WebView  496 30.4 处理WebView的设备旋转问题  502 30.5 深入学习:注入JavaScript对象  502 30.6 深入学习:WebView升级  503 30.7 挑战练习:使用后退键浏览历史网页  504 30.8 挑战练习:非HTTP链接支持  504 第31章 定制视图与触摸事件  505 31.1 创建DragAndDraw项目  505 31.2 创建定制视图  507 31.3 处理触摸事件  509 31.4 onDraw(...)方法内的图形绘制  513 31.5 挑战练习:设备旋转问题  515 31.6 挑战练习:旋转矩形框  515 第32章 属性动画  516 32.1 建立场景  516 32.2 简单属性动画  519 32.2.1 视图属性转换  521 32.2.2 使用不同的interpolator  523 32.2.3 色彩渐变  523 32.3 播放多个动画  525 32.4 深入学习:其他动画API  527 32.4.1 传统动画工具  527 32.4.2 转场  527 32.5 挑战练习  527 第33章 地理位置和Play服务  528 33.1 地理位置和定位类库  528 33.2 创建Locatr项目  529 33.3 Play服务定位和模拟器  530 33.4 创建Locatr应用  532 33.5 配置GooglePlay服务  534 33.6 使用GooglePlay服务  536 33.7 基于地理位置的Flickr搜索  538 33.8 获取定位数据  539 33.9 获取运行时权限  542 33.10 寻找并显示图片  546 33.11 挑战练习:权限使用理由  548 33.12 挑战练习:进度指示器  549 第34章 使用地图  550 34.1 导入Play地图服务库  550 34.2 Android上的地图服务  550 34.3 获取MapsAPIkey  550 34.4 创建地图  552 34.5 获取更多地理位置数据  553 34.6 使用地图  556 34.7 深入学习:团队开发和APIkey  560 第35章 materialdesign  562 35.1 materialsurface  562 35.1.1 elevation和Z值  564 35.1.2 statelistanimator  565 35.2 动画工具  566 35.2.1 circularreveal  567 35.2.2 sharedelementtransition  568 35.3 新的视图组件  571 35.3.1 card  571 35.3.2 floatingactionbutton  572 35.3.3 snackbar  573 35.4 深入学习materialdesign  574 第36章 编后语  575 36.1 终极挑战  575 36.2 关于我们  575 36.3 致谢  576

Android编程权威指南.第3版.pdf"网盘下载"

版权说明

1、本站不保存、不存储任何实质资源,以上二维码指向为网盘资源链接,其内容归对应版权方所有
2、如有侵犯版权的情况,请点击下面举报/反馈按钮反馈或发送邮件[email protected]投诉说明情况
3、我们核实后将第一时间删除相关页面内容,谢谢理解和配合

这些人下载过 (12)
  • 孝敏女神
  • 古巷少年已去
  • 没能再见
  • 江心雾
  • 夜序章
  • 庭外院说客
  • dreamer梦想家
  • 失恋影响学习
  • 饮风淋雨
  • 长得迷不迷人是夫人说了算
  • 伪装自己
  • 顽皮可以过界真揍你
最新回复 (0)

    暂无评论

请先登录后发表评论!

返回
请先登录后发表评论!