网站颜色:

正版 Android编程权威指南 第3版 全新升级安卓 Android入门进阶教材书籍 Android应用开发从入门到精通android程序设计教程书.

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


商品参数

Android编程权wei指南 第3版
             定价 (咨询特价)
出版社 人民邮电出版社
版次 1
出版时间 (咨询特价)年6月
开本  
作者 [美] 比尔·菲利普斯 克里斯·斯图尔特 克莉丝汀·马西卡诺
装帧 平装
页数  
字数  
ISBN编码 92
重量  


目录

第1章 Android开发初体验 1


1.1 Android开发基础 2


1.2 创建Android项目 2


1.3 Android Studio使用导航 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


(咨询特价) 关于挑战练习 25


(咨询特价) 挑战练习:定制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 使用Android Lint 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 使用intent extra 83


5.3.2 从子activity获取返回结果 86


5.4 activity的使用与管理 91


5.5 挑战练习:堵住漏洞 93


第6章 Android SDK版本与兼容 94


6.1 Android SDK版本 94


6.2 Android编程与兼容性问题 95


6.2.1 比较合理的版本 95


6.2.2 SDKZUI低版本 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章 UI fragment与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 在Android Studio中增加依赖关系 108


7.3.4 创建Crime类 111


7.4 托管UI fragment 112


7.4.1 fragment的周期 112


7.4.2 托管的两种方式 113


7.4.3 定义容器视图 113


7.5 创建UI fragment 115


7.5.1 定义CrimeFragment的布局 115


7.5.2 创建CrimeFragment类 117


7.6 向FragmentManager添加UI fragment 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 挑战练习:RecyclerView ViewType 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章 使用fragment argument 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 fragment argument 172


10.2.1 附加argument给fragment 173


10.2.2 获取argument 174


10.3 刷新显示列表项 174


10.4 通过fragment获取返回结果 176


10.5 深入学习:为何要用fragment argument 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 挑战练习:添加Jump to First按钮和Jump to Last按钮 188


第12章 对话框 189


12.1 创建DialogFragment 190


12.1.1 显示DialogFragment 192


12.1.2 设置对话框的显示内容 94


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 使用Android Device Monitor查看文件 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 寻找ZUI匹配的资源 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


(咨询特价) 深入学习:什么是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


(咨询特价) 设备旋转和对象保存 347


(咨询特价).1 保留fragment 348


(咨询特价).2 设备旋转和已保留的fragment 349


(咨询特价) 深入学习:是否保留fragment 351


(咨询特价) 深入学习:Espresso与整合测试 351


(咨询特价) 深入学习:虚拟对象与测试 352


(咨询特价) 挑战练习:播放进度控制 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章 XML drawable 368


23.1 统一按钮样式 368


23.2 shape drawable 369


23.3 state list drawable 371


23.4 layer list drawable 372


23.5 深入学习:为什么要用XML drawable 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


(咨询特价) 挑战练习:Gson 418


(咨询特价) 挑战练习:分页 418


(咨询特价) 挑战练习:动态调整网格列 418


第26章 Looper、Handler和HandlerThread 420


26.1 配置RecyclerView以显示图片 420


26.2 批量下载缩略图 422


26.3 与主线程通信 423


26.4 创建并启动后台线程 424


26.5 Message与message handler 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 使用shared preferences实现轻量级数据存储 447


27.4 优化应用 451


27.5 挑战练习:深度优化PhotoGallery


应用 451


第28章 后台服务 452


28.1 创建IntentService 452


28.2 服务的作用 454


28.3 查找ZUI新返回结果 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


(咨询特价) 挑战练习:在Lollipop设备上使用JobService 472


(咨询特价) 深入学习:sync adapter 472


第29章 broadcast intent 474


29.1 普通intent和broadcast intent 474


29.2 接收系统broadcast:重启后唤醒 475


29.2.1 创建并登记standalone receiver 475


29.2.2 使用receiver 477


29.3 过滤前台通知消息 479


29.3.1 发送broadcast intent 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 ZUI后一段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 配置Google Play服务 534


33.6 使用Google Play服务 536


33.7 基于地理位置的Flickr搜索 538


33.8 获取定位数据 539


33.9 获取运行时权限 542


(咨询特价) 寻找并显示图片 546


(咨询特价) 挑战练习:权限使用理由 548


(咨询特价) 挑战练习:进度指示器 549


第34章 使用地图 550


34.1 导入Play地图服务库 550


34.2 Android上的地图服务 550


34.3 获取Maps API key 550


34.4 创建地图 552


34.5 获取更多地理位置数据 553


34.6 使用地图 556


34.7 深入学习:团队开发和API key 560


第35章 material design 562


35.1 material surface 562


35.1.1 elevation和Z值 564


35.1.2 state list animator 565


35.2 动画工具 566


35.2.1 circular reveal 567


35.2.2 shared element transition 568


35.3 新的视图组件 571


35.3.1 card 571


35.3.2 floating action button 572


35.3.3 snackbar 573


35.4 深入学习material design 574


第36章 编后语 575


36.1 zhongji挑战 575


36.2 关于我们 575


36.3 致谢 576


A2  



内容介绍

Big Nerd Ranch是美国一家专业的移动开发技术培训机构。本书主要以其Android训练营教学课程为基础,融合了几位作者多年的心得体会,是一本完全面向实战的Android编程quanwei指南。全书共36章,

详细介绍了8个Android应用的开发过程。通过这些精心设计的应用,你可以掌握很多重要的理论知识和开发技巧,获得宝贵的开发经验。

热门设计服务