失效链接处理 |
Android~程权威指南Q第2版)PDF 下蝲
转蝲自:(x)http://download.csdn.net/detail/qq281332545/9673197
本站整理下蝲Q?/strong>版权归出版社和原作者所有,链接已删除,误买正?/b>
用户下蝲说明Q?/strong>
?sh)子版仅供预览,下蝲?4时内务必删除,支持正版Q喜Ƣ的误买正版书c:(x)
http://product.dangdang.com/23964001.html
相关截图Q?br />
![]() 资料介:(x) Big Nerd Ranch是美国一家专业的Ud开发技术培训机构。本书主要以其Android训练营教学课Eؓ(f)基础Q融合了几位作者多q的心得体会(x)Q是一本完全面向实战的Android~程指南。全书共34章,详细介绍?个Android 应用。通过q些_ֿ设计的应用,读者可掌握很多重要的理论知识和开发技巧,获得前沿的开发经验。如果你熟?zhn)Java语言Q或者了解面向对象编E,那就立刻开始Android~程之旅吧! 资料目录Q?/strong> W?? Android开发初体验 1 1.1 应用开发基 1 1.2 创徏Android目 2 1.3 Android Studio使用D 6 1.4 用户界面设计 7 1.4.1 视图层l构 10 1.4.2 lg属性 11 1.4.3 创徏字符串资源 12 1.4.4 预览界面布局 12 1.5 从布局XML到视囑֯象 13 1.6 lg的实际应用 17 1.6.1 引用lg 18 1.6.2 讄监听器 18 1.7 创徏提示消息 20 1.8 使用模拟器运行应用 23 1.9 深入学习(fn)QAndroid~译q程 25 W?? Android与MVC设计模式 29 2.1 创徏新类 29 2.2 Android与MVC设计模式 32 2.3 更新视图层 34 2.4 更新控制层 36 2.5 在设备上q行应用 40 2.5.1 q接讑֤ 40 2.5.2 配置讑֤用于应用开发 41 2.6 d图标资源 42 2.6.1 向项目中d资源 43 2.6.2 在XML文g中引用资源 45 2.7 关于挑战l习(fn) 46 2.8 挑战l习(fn)Qؓ(f)TextViewd监听器 46 2.9 挑战l习(fn)Q添加后退按钮 46 2.10 挑战l习(fn)Q从按钮到图标按钮 47 W?? Activity的生命周期 49 3.1 日志跟踪理解Activity生命周期 50 3.1.1 输出日志信息 50 3.1.2 使用LogCat 52 3.2 讑֤旋{与Activity生命周期 55 3.3 讑֤旋{前保存数据 59 3.4 再探Activity生命周期 61 3.5 深入学习(fn)Q测试onSaveInstance-State(Bundle)Ҏ(gu) 62 3.6 深入学习(fn)Q日志记录的U别与方法 64 W?? Android应用的调试 65 4.1 异常与栈跟踪 66 4.1.1 诊断应用异常 67 4.1.2 记录栈跟t日志 68 4.1.3 讄断点 69 4.1.4 使用异常断点 72 4.2 AndroidҎ(gu)的调试工兗 73 4.2.1 使用Android Lint 73 4.2.2 Rcȝ问题 75 W?? W二个activity 76 5.1 创徏W二个activity 77 5.1.1 创徏新的activity 78 5.1.2 创徏新的activity子类 81 5.1.3 在manifest配置文g中声明activity 81 5.1.4 为QuizActivitydCheat按钮 82 5.2 启动activity 84 5.3 activity间的数据传递 86 5.3.1 使用intent extra 86 5.3.2 从子activity获取q回l果 89 5.4 activity的用与理 94 5.5 挑战l习(fn) 97 W?? Android SDK版本与兼宏V 98 6.1 Android SDK版本 98 6.2 Android~程与兼Ҏ(gu)问题 99 6.2.1 比较合理的版本 99 6.2.2 SDK最低版本 101 6.2.3 SDK目标版本 101 6.2.4 SDK~译版本 101 6.2.5 安全d新版本API中的代码 101 6.3 使用Android开发者文档 104 6.4 挑战l习(fn)Q报告编译版本 106 W?? UI fragment与fragment理器 107 7.1 UI设计的灵zL需求 108 7.2 fragment的引入 108 7.3 着手开发CriminalIntent 109 7.3.1 创徏新项目 112 7.3.2 fragment与支持库 113 7.3.3 在Android Studio中增加依赖关pR 114 7.3.4 创徏CrimecR 117 7.4 托管UI fragment 118 7.4.1 fragment的生命周期 118 7.4.2 托管的两U方式 119 7.4.3 定义容器视图 119 7.5 创徏UI fragment 120 7.5.1 定义CrimeFragment的布局 121 7.5.2 创徏CrimeFragmentcR 122 7.6 dUI fragment到Fragment-Manager 125 7.6.1 fragment事务 126 7.6.2 FragmentManager与fragment生命周期 129 7.7 采用fragment的应用架构 130 7.8 深入学习(fn)Qؓ(f)什么应优先使用支持库版fragment 131 7.9 深入学习(fn)Q用操作系l内|版fragment 131 W?? 使用布局与组件创建用L(fng)面 132 8.1 升CrimecR 132 8.2 更新布局 133 8.3 生成q用组件 135 8.4 深入探讨XML布局属性 136 8.4.1 样式、主题及(qing)主题属性 136 8.4.2 dp、sp以及(qing)屏幕像素密度 137 8.4.3 Android开发设计原则 138 8.4.4 布局参数 139 8.4.5 边距与内边距 139 8.5 使用囑Ş布局工具 140 8.5.1 创徏水^模式布局 141 8.5.2 d新组件 142 8.5.3 在属性视图中~辑lg属性 143 8.5.4 在框架视图中重新l织lg 144 8.5.5 更新子组件的布局参数 145 8.5.6 android:layout_weight属性的工作原理 146 8.5.7 囑Ş布局工具使用ȝ 147 8.5.8 lgID与多U布局 148 8.6 挑战l习(fn)Q日期格式化 148 W?? 使用RecyclerView昄列表 149 9.1 升CriminalIntent应用的模型层 150 9.2 使用抽象activity托管fragment 153 9.2.1 通用的fragment托管布局 153 9.2.2 抽象activitycR 154 9.3 RecyclerView、Adapter和ViewHolder 158 9.3.1 ViewHolder和Adapter 159 9.3.2 使用RecyclerView 161 9.3.3 实现Adapter和ViewHolder 163 9.4 定制列表V 166 9.4.1 创徏列表布局 166 9.4.2 使用定制列表视图 168 9.5 响应点击 170 9.6 深入学习(fn)QListView和GridView 171 9.7 深入学习(fn)Q单例 171 W?0? 使用fragmentargument 173 10.1 从fragment中启动activity 173 10.1.1 附加extra信息 174 10.1.2 获取extra信息 175 10.1.3 使用Crime数据更新CrimeFragment视图 176 10.1.4 直接获取extra信息的缺炏V 177 10.2 fragment argument 177 10.2.1 附加argumentlfragment 178 10.2.2 获取argument 179 10.3 h昄列表V 180 10.4 通过fragment获取q回l果 182 10.5 挑战l习(fn)Q实现高效的RecyclerViewh 183 10.6 深入学习(fn)Qؓ(f)何要用fragment argument 183 W?1? 使用ViewPager 185 11.1 创徏CrimePagerActivity 186 11.1.1 ViewPager与PagerAdapter 187 11.1.2 整合q|用CrimePagerActivity 188 11.2 FragmentStatePagerAdapter与FragmentPagerAdapter 190 11.3 深入学习(fn)QViewPager的工作原理 192 11.4 深入学习(fn)Q以代码的方式创建布局 193 W?2? 对话框 194 12.1 使用AppCompat兼容库 195 12.2 创徏DialogFragment 196 12.2.1 昄DialogFragment 198 12.2.2 讄对话框的昄内容 199 12.3 fragment间的数据传递 202 12.3.1 传递数据给DatePicker- Fragment 203 12.3.2 q回数据lC(j)rime-Fragment 204 12.4 挑战l习(fn)Q更多对话框 211 12.5 挑战l习(fn)Q按讑֤cd展现DialogFragment 212 W?3? 工具栏 213 13.1 AppCompat 213 13.2 工具栏菜单 216 13.2.1 在XML文g中定义菜单 217 13.2.2 创徏菜单 221 13.2.3 响应菜单w择 223 13.3 实现层式导航 225 13.4 可选菜单项 226 13.4.1 切换菜单Ҏ(gu)题 227 13.4.2 “q有个问?rdquo; 229 13.5 深入学习(fn)Q工h与操作栏 231 13.6 挑战l习(fn)Q删除crime记录 231 13.7 挑战l习(fn)Q优化字W串资源昄 231 13.8 挑战l习(fn)Q用于RecyclerView的空视图 232 W?4? SQLite数据库 233 14.1 定义Schema 233 14.2 创徏初始数据库 234 14.3 修改CrimeLabcR 238 14.4 写入数据库 239 14.4.1 使用ContentValues 239 14.4.2 插入和更新记录 240 14.5 d数据库 242 14.5.1 使用CursorWrapper 243 14.5.2 创徏模型层对象 244 14.6 深入学习(fn)Q数据库高主题介绍 247 14.7 深入学习(fn)Q应用上下文 248 14.8 挑战l习(fn)Q删除Crime记录 248 W?5? 隐式intent 249 15.1 d按钮lg 250 15.2 d嫌疑Z息至模型层 252 15.3 使用格式化字W串 254 15.4 使用隐式intent 255 15.4.1 隐式intent的组成 255 15.4.2 发送消息 256 15.4.3 获取联系Z息 259 15.4.4 (g)查可响应d的activity 263 15.5 挑战l习(fn)QShareCompat 265 15.6 挑战l习(fn)Q又一个隐式intent 265 W?6? 使用intent拍照 266 16.1 布置照片 266 16.2 外部存储 269 16.3 使用相机intent 272 16.3.1 外部存储使用权限 272 16.3.2 触发拍照 273 16.4 ~放和显CZ图 274 16.5 功能声明 277 16.6 深入学习(fn)Q用include标签 278 16.7 挑战l习(fn)Q优化照片显C 278 16.8 挑战l习(fn)Q优化羃略图加蝲 279 W?7? Master-Detail用户界面 280 17.1 增加布局灉|性 281 17.1.1 修改SingleFragment- Activity 282 17.1.2 创徏包含两个fragment容器的布局 283 17.1.3 使用别名资源 284 17.1.4 创徏qx讑֤专用可选资源 285 17.2 ActivityQfragment的托者 286 17.3 深入学习(fn)Q设备屏q尺寸的定 295 W?8? Assets 297 18.1 Z使用assets 297 18.2 创徏BeatBox应用 298 18.3 导入assets 301 18.4 处理assets 303 18.5 使用Assets 305 18.6 讉KAssets 308 18.7 深入学习(fn)Q什么是non-assets 308 W?9? 使用SoundPool播放音频 309 19.1 创徏SoundPool 309 19.2 加蝲音频文g 310 19.3 播放音频 311 19.4 释放音频 313 19.5 讑֤旋{和对象保存 314 19.5.1 保留fragment 315 19.5.2 旋{和已保留fragment 316 19.6 深入学习(fn)Q是否要保留 318 19.7 深入学习(fn)Q设备旋转处理再探 318 W?0? 样式与主题 321 20.1 颜色资源 321 20.2 样式 322 20.3 主题 324 20.4 d主题颜色 327 20.5 覆盖主题属性 328 20.6 修改按钮属性 332 20.7 深入学习(fn)Q样式承拾遗 334 20.8 深入学习(fn)Q引用主题属性 335 20.9 挑战l习(fn)Q创建多版本主题 335 W?1? XML drawable 336 21.1 l一按钮样式 337 21.2 shape drawable 338 21.3 state list drawable 340 21.4 layer list drawable 341 21.5 深入学习(fn)Qؓ(f)什么要用XML drawable 342 21.6 深入学习(fn)Q?-patch囑փ 343 21.7 深入学习(fn)Q用Mipmap囑փ 347 W?2? 深入学习(fn)intent和Q务 348 22.1 创徏NerdLauncher目 348 22.2 解析隐式intent 351 22.3 在运行时创徏昑ּintent 355 22.4 d与后退栈 357 22.4.1 在Q务间切换 357 22.4.2 启动CQ务 358 22.5 使用NerdLauncher应用作ؓ(f)讑֤dq 361 22.6 挑战l习(fn)Q应用图标 362 22.7 深入学习(fn)Q进E与d 362 22.8 深入学习(fn)Qƈ发文 364 W?3? HTTP与后CQ务 367 23.1 创徏PhotoGallery应用 368 23.2 |络q接基本 371 23.3 使用AsyncTask在后台线E上q行代码 373 23.4 U程与主U程 374 23.5 从Flickr获取JSON数据 376 23.6 从AsyncTask回到ȝE 383 23.7 清理AsyncTask 386 23.8 深入学习(fn)QAsyncTask再探 387 23.9 深入学习(fn)QAsyncTask的替代方案 388 23.10 挑战l习(fn)QGson 388 23.11 挑战l习(fn)Q分c(din) 388 23.12 挑战l习(fn)Q动态调整网格列 389 W?4? Looper、Handler和HandlerThread 390 24.1 配置RecyclerView以显C图片 390 24.2 扚w下蝲~略图 393 24.3 与主U程通信 393 24.4 创徏q启动后台线E 394 24.5 Message与message handler 396 24.5.1 消息的剖析 397 24.5.2 Handler的剖析 397 24.5.3 使用handler 398 24.5.4 传递handler 402 24.6 深入学习(fn)QAsyncTask与线E 407 24.7 挑战l习(fn)Q预加蝲以及(qing)~存 407 24.8 深入学习(fn)Q解军_片下载问题 408 W?5? 搜烦(ch) 409 25.1 搜烦(ch)Flickr|站 410 25.2 使用SearchView 414 25.3 使用shared preferences实现轻量U数据存储 419 25.4 优化应用 422 25.5 挑战l习(fn)Q深度优化PhotoGallery应用 423 W?6? 后台服务 424 26.1 创徏IntentService 424 26.2 服务的作用 427 26.3 查找最新返回结果 428 26.4 使用AlarmManager延迟q行服务 430 26.4.1 合理控制服务启动的频度 432 26.4.2 PendingIntent 433 26.4.3 使用PendingIntent理定时器 434 26.5 控制定时器 434 26.6 通知信息 437 26.7 挑战l习(fn)Q可I戴讑֤上的通知 439 26.8 深入学习(fn)Q服务细节内宏V 440 26.8.1 服务的能与不能 440 26.8.2 服务的生命周期 440 26.8.3 non-sticky服务 440 26.8.4 sticky服务 441 26.8.5 l定服务 441 26.9 深入学习(fn)QJobScheduler和JobService 442 26.10 深入学习(fn)QSync Adapter 445 26.11 挑战l习(fn)Q在Lollipop讑֤上用JobService 446 W?7? broadcast intent 447 27.1 一般intent和broadcast intent 447 27.2 接收pȝbroadcastQ重启后唤醒 448 27.2.1 standalone receiver 448 27.2.2 使用receiver 450 27.3 qo(h)前台通知消息 452 27.3.1 发送broadcast intent 452 27.3.2 动态broadcast receiver 453 27.3.3 使用U有权限 455 27.3.4 使用有序broadcast 458 27.4 receiver与长时运行Q务 462 27.5 深入学习(fn)Q本C件 462 27.5.1 使用EventBus 463 27.5.2 使用Rxjava 463 27.6 深入学习(fn)Q检fragment的状态 464 W?8? |页览 466 28.1 最后一DFlickr数据 466 28.2 单方式:(x)隐式intent 469 28.3 较难方式Q用WebView 470 28.4 处理WebView的设备旋转问题 476 28.5 深入学习(fn)Q注入JavaScript对象 477 28.6 深入学习(fn)QKitKat的WebView 478 28.7 挑战l习(fn)Q用后退键浏览历史网c(din) 478 28.8 挑战l习(fn)Q非HTTP链接支持 479 W?9? 定制视图与触怺件 480 29.1 创徏DragAndDraw目 480 29.1.1 创徏DragAndDraw-Activity 481 29.1.2 创徏DragAndDraw-Fragment 481 29.2 创徏定制视图 482 29.3 处理触摸事g 484 29.4 onDraw(...)Ҏ(gu)内的囑Şl制 488 29.5 挑战l习(fn)Q设备旋转问题 490 29.6 挑战l习(fn)Q旋转矩形框 490 W?0? 属性动甅R 492 30.1 建立场景 492 30.2 单属性动甅R 495 30.2.1 视图属性{换 498 30.2.2 使用不同的interpolator 500 30.2.3 色彩渐变 500 30.3 播放多个动画 502 30.4 深入学习(fn)Q其他动画API 504 30.4.1 传统动画工具 504 30.4.2 转场 504 30.5 挑战l习(fn) 504 W?1? 地理位置和Play服务 505 31.1 地理位置和定位类库 505 31.2 创徏Locatr目 506 31.3 Play服务和模拟器 507 31.4 创徏Locatr应用 510 31.5 配置Google Play服务 512 31.6 使用Google Play服务 514 31.7 Z地理位置的Flickr搜烦(ch) 516 31.8 获取定位数据 517 31.9 Lq显C图片 519 31.10 挑战l习(fn)Q进度指C器 521 W?2? 使用地图 522 32.1 导入Play地图服务库 522 32.2 Android上的地图服务 522 32.3 地图API讄 523 32.4 创徏地图 525 32.5 获取更多地理位置数据 526 32.6 使用地图 529 32.7 深入学习(fn)Q团队开发和API key 534 W?3? material design 536 33.1 material surface 536 33.1.1 elevation和Z倹{ 538 33.1.2 state list animator 539 33.2 动画工具 540 33.2.1 circular reveal 541 33.2.2 shared element transition 542 33.3 新的视图lg 545 33.3.1 card 545 33.3.2 floating action button 547 33.3.3 snackbar 548 33.4 深入学习(fn)material design 549 W?4? ~后语 550 34.1 l极挑战 550 34.2 关于我们 551
34.3 致谢 551 |