网站颜色:

Android编程指南(第3版)android开发Android开发从入门到进阶 涵盖Android开发方方面面 安卓经典书

  • 产品名称:Android编程权威指南(第3...
  • 书名:Android编程权威指南(第3版)
  • 是否是套装:否
  • 书名:Android编程权威指南(第3版)
  • 出版社名称:人民邮电出版社
  • 定价:129.00元
  • 作者:BillPhillips

11.jpg
专业科技.jpg

Android编程权威指南

作  者:[美] 比尔·斯 克里斯·斯图尔特 克莉丝汀·马西卡诺(Bill Phillips, Chris Stewart, Kristin Marsicano) 著 王明发 译
定  价:129
出 版 社:人民邮电出版社
出版日期:(咨询特价)年06月01日
页  数:576
装  帧:简装
ISBN:92
主编推荐

威望——源自大名鼎鼎的Big Nerd Ranch训练营培训讲义,该训练营已经为微软、Google、Facebook等行业巨头培养了众多专业人才。全面——涵盖Android开发所有bi备理论概念和技术知识点,从Android 4.4到Android 7.0都适用。实用——8个Android应用开发实战项目,传授一线开发经验。易懂——以循序渐进的方式精心编排章节,一步一步写出Android应用。时新——在前两版的基础上,新增数据绑定、MVVM架构、Android辅助功能等内容。

目录
章 Android 开发初体验 11.1  Android 开发基础  21.2  创建Android 项目  21.3  Android Studio 使用导航  61.4  用户界面设计  61.4.1  视图层级结构  101.4.2  组件属性  101.4.3  创建字符串资源  111.4.4  预览布局  121.5  从布局XML 到视图对象  131.6  组件的实际应用  161.6.1  引用组件  171.6.2  设置171.7  创建提示消息  191.8  使用模拟器运行应用  211.9  深入学习:Android 编译过程  231.10  关于挑战练习  251.11  挑战练习:定制toast 消息  25第2章  Android 与MVC 设计模式  262.1  创建新类  262.2  Android 与MVC 设计模式  292.3  更新视图层  312.4  更新控制器层  332.5  在物理设备上运行应用  372.5.1  连接设备  372.5.2  配置设备用于应用开发  72.6  添加图标资源  382.6.1  向项目中添加资源  392.6.2  在XML 文件中引用资源  412.7  挑战练习:为TextView 添加  422.8  挑战练习:添加后退按钮  422.9  挑战练习:从按钮到图标按钮  42第3章  activity 的周期  453.1  日志跟踪理解activity 周期  463.1.1  输出日志信息  463.1.2  使用LogCat  483.1.3  activity 周期实例解析  503.2  设备旋转与activity 周期  523.3  保存数据以应对设备旋转  563.4  再探activity 周期  583.5  深入学习:activity 内存清理现状  593.6  深入学习:日志记录的级别与方法  603.7  挑战练习:禁止一题多答  613.8  挑战练习:评分  61第4章  Android 应用的调试  624.1  异常与栈跟踪  634.1.1  诊断应用异常  644.1.2  记录栈跟踪日志  654.1.3  设置断点  664.1.4  使用异常断点  684.2  Android 特有的调试工具  704.2.1  使用Android Lint  704.2.2  R类的问题  714.3  挑战练习:探索布局检查器  724.4  挑战练习:探索内存分配跟踪  72第5章  第二个activity  745.1  创建第二个activity  755.1.1  创建新的activity  755.1.2  创建新的activity子类  785.1.3  在manifest配置文件中声明activity  785.1.4  为QuizActivity 添加CHEAT按钮  795.2  启动activity  815.3  activity间的数据传递  835.3.1  使用intent extra  835.3.2  从子activity获取返回结果  865.4  activity 的使用与管理  915.5  挑战练习:堵住漏洞  93第6章  Android SDK版本与兼容  946.1  Android SDK版本  946.2  Android编程与兼容性问题  956.2.1  比较合理的版本  956.2.2  SDK最低版本  966.2.3  SDK目标版本  976.2.4  SDK编译版本  976.2.5  安全添加新版本API中的代码  976.3  使用Android开发者文档  1006.4  挑战练习:报告编译版本  1016.5  挑战练习:限制作弊次数  102第7章  UI fragment 与fragment管理器  1037.1  UI设计的灵活性需求  1047.2  引入fragment  1047.3  着手开发CriminalIntent  1057.3.1  创建新项目  1077.3.2  两类fragment  1087.3.3  在Android Studio中增加依赖关系  1087.3.4  创建Crime类  1117.4  托管UI fragment  1127.4.1  fragment的周期  1127.4.2  托管的两种方式  1137.4.3  定义容器视图  1137.5  创建UI fragment  1157.5.1  定义CrimeFragment的布局  1157.5.2  创建CrimeFragment类  1177.6  向FragmentManager添加UI fragment  1227.6.1  fragment事务  1237.6.2  FragmentManager 与fragment周期  1257.7  采用fragment的应用架构  1267.8  深入学习:fragment与支持库  1277.9  深入学习:为什么优先使用支持库版fragment  128第8章  使用RecyclerView显示列表  1298.1  升级CriminalIntent应用的模型层  1308.2  使用抽象activity托管fragment  1328.2.1  通用型fragment托管布局  1338.2.2  抽象activity类  1338.3  RecyclerView、ViewHolder 和Adapter  1378.3.1  ViewHolder和Adapter  1388.3.2  使用RecyclerView  1418.3.3  列表项视图  1428.3.4  实现ViewHolder和Adapter  1438.4  绑定列表项  1458.5  响应点击  1478.6  深入学习:ListView和GridView  1488.7  深入学习:单例  1488.8  挑战练习:RecyclerView ViewType  149第9章  使用布局与组件创建用户界面  1509.1  使用图形布局工具  1519.2  引入ConstraintLayout  1519.2.1  使用ConstraintLayout  1529.2.2  约束编辑器  1539.2.3  腾出空间  1559.2.4  添加组件  1579.2.5  约束的XML形式  1599.2.6  编辑属性  1609.2.7  动态设置列表项  1629.3  深入学习布局属性  1639.3.1  dp、sp以及屏幕像素密度  1639.3.2  边距与内边距  1659.3.3  样式、主题及主题属性  1669.3.4  Android应用的设计原则  1669.4  图形布局工具使用小结  1679.5  挑战练习:日期格式化  1670章  使用fragment argument  16810.1  从fragment 中启动activity  16810.1.1  附加extra信息  16910.1.2  获取extra信息  17010.1.3  使用Crime数据更新CrimeFragment视图  17110.1.4  直接获取extra信息的缺点  17210.2  fragment argument  17210.2.1  附加argument给fragment  17310.2.2  获取argument  17410.3  刷新显示列表项  17410.4  通过fragment获取返回结果  17610.5  深入学习:为何要用fragment argument  17710.6  挑战练习:实现高效的RecyclerView刷新  17810.7  挑战练习:优化CrimeLab的表现  1781章  使用ViewPager  17911.1  创建CrimePagerActivity  18011.1.1  ViewPager与PagerAdapter  18111.1.2  整合并配置使用CrimePagerActivity  18211.2  FragmentStatePagerAdapter与FragmentPagerAdapter  18411.3  深入学习:ViewPager的工作原理  18611.4  深入学习:以代码的方式创建视图  18711.5  挑战练习:恢复CrimeFragment的边距  18711.6  挑战练习:添加Jump to First按钮和Jump to Last按钮  1882章  对话框  18912.1  创建DialogFragment  19012.1.1  显示DialogFragment  19212.1.2  设置对话框的显示内容  19412.2  fragment间的数据传递  19612.2.1  传递数据给DatePickerFragment  19712.2.2  返回数据给CrimeFragment  19912.3  挑战练习:更多对话框  20512.4  挑战练习:实现响应式DialogFragment  2053章  工具栏  20713.1  AppCompat  20713.2  工具栏菜单  20913.2.1  在XML文件中定义菜单  21013.2.2  创建菜单  21413.2.3  响应菜单项选择  21713.3  实现层级式导航  21813.4  可选菜单项  21913.4.1  切换菜单项标题  22013.4.2  “还有个问题”  22213.5  深入学习:工具栏与操作栏  22413.6  挑战练习:删除crime记录  22413.7  挑战练习:复数字符串资源  22413.8  挑战练习:用于RecyclerView的空视图  2254章  SQLite数据库  22614.1  定义schema  22614.2  创建初始数据库  22714.2.1  使用Android Device Monitor查看文件  23014.2.2  处理数据库相关问题  23114.3  修改CrimeLab类  23214.4  写入数据库  23314.4.1  使用ContentValues  23314.4.2  插入和更新记录  23414.5  读取数据库  23514.5.1  使用CursorWrapper  23614.5.2  创建模型层对象  23814.6  深入学习:数据库不错主题介绍  24114.7  深入学习:应用上下文  24114.8  挑战练习:删除crime记录  2425章  隐式intent  24315.1  添加按钮组件  24415.2  添加嫌疑人信息至模型层  24415.3  使用格式化字符串  24615.4  使用隐式intent  24815.4.1  隐式intent的组成  24815.4.2  发送消息  24915.4.3  获取信息  25215.4.4  检查可响应任务的activity  25415.5  挑战练习:ShareCompat  25615.6  挑战练习:又一个隐式intent  2566章  使用intent拍照  25816.1  布置照片  25816.2  文件存储  26016.2.1  使用FileProvider  26116.2.2  指定照片存放位置  26216.3  使用相机intent  26316.4  缩放和显示位图  26516.5  功能声明  26816.6  挑战练习:优化照片显示  26916.7  挑战练习:优化缩略图加载  2697章  双版面主从用户界面  27017.1  增加布局灵活性  27117.1.1  修改SingleFragmentActivity  27217.1.2  创建包含两个fragment容器的布局  27217.1.3  使用别名资源  27417.1.4  创建平板设备专用可选资源  27517.2  activity:fragment的托管者  27617.3  深入学习:设备屏幕尺寸的确定  28417.4  挑战练习:添加滑动删除功能  2858章  应用本地化  28618.1  资源本地化  28618.1.1  默认资源  28918.1.2  检查资源本地化完成情况  29118.1.3  区域修饰符  29218.2  配置修饰符  29418.2.1  可用资源优先级排定  29518.2.2  多重配置修饰符  29618.2.3  寻找最匹配的资源  29718.3  测试备选资源  29818.4  挑战练习:日期本地化  2989章  Android辅助功能  29919.1  TalkBack  29919.1.1  点击浏览  30119.1.2  线性浏览  30119.2  实现非文字型素可读  30319.2.1  添加内容描述  30319.2.2  实现组件可聚焦  30519.3  提升辅助体验  30519.4  深入学习:使用辅助功能扫描器  30919.5  挑战练习:优化列表项  31119.6  挑战练习:补全上下文信息  31119.7  挑战练习:事件主动通知  311第20章  数据绑定与MVVM  31320.1  为何要用MVVM 架构  31420.2  创建BeatBox应用  31420.3  导入assets  31920.4  处理assets  32120.5  使用assets  32320.6  绑定数据  32520.6.1  创建视图模型  32720.6.2  绑定至视图模型  32820.6.3  绑定数据观察  33020.7  访问assets  33220.8  深入学习:数据绑定再探  33320.8.1  lambda表达式  33320.8.2  更多语法糖  33320.8.3  BindingAdapter  33320.9  深入学习:为何使用assets  33420.10  深入学习:什么是non-assets  334第21章  音频播放与单测试  33521.1  创建SoundPool  33521.2  加载音频文件  33621.3  播放音频  33721.4  添加测试依赖  33821.5  创建测试类  33921.6  实现测试类34121.7  编写测试方法  34221.8  数据绑定回调  34621.9  释放音频  34621.10  设备旋转和对象保存  34721.10.1  保留fragment  34821.10.2  设备旋转和已保留的fragment  34921.11  深入学习:是否保留fragment  35121.12  深入学习:Espresso与整合测试  35121.13  深入学习:虚拟对象与测试  35221.14  挑战练习:播放进度控制  353第22章  样式与主题  35422.1  颜色资源  35422.2  样式  35522.3  主题  35722.4  添加主题颜色  35922.5  覆盖主题属性  36122.6  修改按钮属性  36422.7  深入学习:样式继承拾遗  36722.8  深入学习:引用主题属性  367第23章  XML drawable  36823.1  统一按钮样式  36823.2  shape drawable  36923.3  state list drawable  37123.4  layer list drawable  37223.5  深入学习:为什么要用XML drawable  37323.6  深入学习:使用mipmap图像  37423.7  深入学习:使用9-patch图像  37523.8  挑战练习:按钮主题  379第24章  深入学习intent和任务  38024.1  创建NerdLauncher项目  38024.2  解析隐式intent  38224.3  在运行时创建显式intent  38624.4  任务与回退栈  38824.4.1  在任务间切换  38924.4.2  启动新任务  38924.5  使用NerdLauncher应用作为设备主屏幕  39224.6  挑战练习:应用图标  39324.7  深入学习:进程与任务  39324.8  深入学习:并发文档  395第25章  HTTP与后台任务  39825.1  创建PhotoGallery应用  39925.2  网络连接基本  40125.3  使用AsyncTask在后台线程上运行代码  40325.4  线程与主线程  40525.5  从Flickr获取JSON数据  40725.6  从AsyncTask回到主线程  41325.7  清理AsyncTask  41625.8  深入学习:AsyncTask再探  41625.9  深入学习:AsyncTask的替代方案  41725.10  挑战练习:Gson  41825.11  挑战练习:分页  41825.12  挑战练习:动态调整网格列  418第26章  Looper、Handler和HandlerThread  42026.1  配置RecyclerView以显示图片  42026.2  批量缩略图  42226.3  与主线程通信  42326.4  创建并启动后台线程  42426.5  Message 与message handler  42626.5.1  剖析Message  42626.5.2  剖析Handler  42726.5.3  使用handler  42826.5.4  传递handler  43126.6  深入学习:AsyncTask与线程  43626.7  深入学习:解决图片问题  43626.8  深入学习:StrictMode  43726.9  挑战练习:预加载以及缓存  438第27章  搜索  43927.1  搜索Flickr网站  43927.2  使用SearchView  44327.3  使用shared preferences实现轻量级数据存储  44727.4  优化应用  45127.5  挑战练习:深度优化PhotoGallery应用  451第28章  后台服务  45228.1  创建IntentService  45228.2  服务的作用  45428.3  查找最新返回结果  45628.4  使用AlarmManager延迟运行服务  45828.4.1  合理控制服务启动的频度  46028.4.2  PendingIntent  46128.4.3  使用PendingIntent管理定时器  46128.5  控制定时器  46228.6  通知信息  46428.7  挑战练习:可穿戴设备上的通知  46628.8  深入学习:服务之细节  46728.8.1  服务的能与不能  46728.8.2  服务的周期  46728.8.3  non-sticky服务  46728.8.4  sticky服务  46828.8.5  绑定服务  46828.9  深入学习:JobScheduler 和JobService  46928.10  挑战练习:在Lollipop设备上使用JobService  47228.11  深入学习:sync adapter  472第29章  broadcast intent  47429.1  普通intent和broadcast intent  47429.2  接收系统broadcast:重启后唤醒  47529.2.1  创建并登记standalone receiver  47529.2.2  使用receiver  47729.3  过滤前台通知消息  47929.3.1  发送broadcast intent  47929.3.2  创建并登记动态receiver  48029.3.3  使用私有权限限制broadcast  48229.3.4  使用有序broadcast收发数据  48429.4  receiver与长时运行任务  48829.5  深入学习:本地事件  48829.5.1  使用EventBus  48929.5.2  使用RxJava  49029.6  深入学习:探测fragment的状态  490第30章  网页浏览  49230.1  最后一段Flickr数据  49230.2  简单方屎隐式intent  49430.3  较难方屎使用WebView  49630.4  处理WebView的设备旋转问题  50230.5  深入学习:注入JavaScript对象  50230.6  深入学习:WebView升级  50330.7  挑战练习:使用后退键浏览历史网页  50430.8  挑战练习:非HTTP链接支持  504第31章  定制视图与触摸事件  50531.1  创建DragAndDraw项目  50531.2  创建定制视图  50731.3  处理触摸事件  50931.4  onDraw(...)方法内的图形绘制  51331.5  挑战练习:设备旋转问题  51531.6  挑战练习:旋转矩形框  515第32章  属性动画  51632.1  建立场景  51632.2  简单属性动画  51932.2.1  视图属性转换  52132.2.2  使用不同的interpolator  52332.2.3  色彩渐变  52332.3  播放多个动画  52532.4  深入学习:其他动画API  52732.4.1  传统动画工具  52732.4.2  转场  52732.5  挑战练习  527第33章  地理位置和Play服务  52833.1  地理位置和定位类库  52833.2  创建Locatr项目  52933.3  Play服务定位和模拟器  53033.4  创建Locatr应用  53233.5  配置Google Play服务  53433.6  使用Google Play服务  53633.7  基于地理位置的Flickr搜索  53833.8  获取定位数据  53933.9  获取运行时权限  54233.10  寻找并显示图片  54633.11  挑战练习:权限使用理由  54833.12  挑战练习:进度指示器  549第34章  使用地图  55034.1  导入Play地图服务库  55034.2  Android上的地图服务  55034.3  获取Maps API key  55034.4  创建地图  55234.5  获取更多地理位置数据  55334.6  使用地图  55634.7  深入学习:团队开发和API key  560第35章  material design  56235.1  material surface  56235.1.1  elevation和Z值  56435.1.2  state list animator  56535.2  动画工具  56635.2.1  circular reveal  56735.2.2  shared element transition  56835.3  新的视图组件  57135.3.1  card  57135.3.2  floating action button  57235.3.3  snackbar  57335.4  深入学习material design  574第36章  编后语  57536.1  终极挑战  57536.2  关于我们  57536.3  致谢  576
内容虚线

内容简介

Big Nerd Ranch是美国一家专业的移动开发技术培训机构。本书主要以其Android训练营教学课程为基础,融合了几位作者多年的心得体会,是一本接近面向实战的Android编程很好不错指南。全书共36章,详细介绍了8个Android应用的开发过程。通过这些精心设计的应用,读者可掌握很多重要的理论知识和开发技巧,获得宝贵的开发经验。第3版较之前版本增加了对数据绑定等新工具的介绍,同时新增了针对单测试、辅助功能和MVVM架构等主题的章节。

作者简介

[美] 比尔·斯 克里斯·斯图尔特 克莉丝汀·马西卡诺(Bill Phillips, Chris Stewart, Kristin Marsicano) 著 王明发 译

Bill PhillipsBig Nerd Ranch资深讲师。他与人合作开发了广受好评的Android训练营培训课程,并为之编写教材(包括本书的版和第2版)。Bill一直坚持撰写博客、阅读各类文学作品、作曲奏乐以及著书。Chris StewartBig Nerd Ranch的Android团队主管、Android训练营资深讲师。他致力于不断取得进步和精进技能。工作之余,Chris喜欢远足和旅行。Kristin MarsicanoBig Nerd Ranch资深讲师、Android开发者。她喜欢分享知识,对学习、软件开发以及二者的交集充满热情。在授课和开发应用之余,Kristin......

热门设计服务