图书介绍

ANDROID编程权威指南 第2版PDF|Epub|txt|kindle电子书版本下载

ANDROID编程权威指南 第2版
  • (美)BILL PHILLIPS,CHRIS STEWART,BRIAN HARDY,KRISTIN MARSICANO著;王明发译 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:711542246X
  • 出版时间:2016
  • 标注页数:551页
  • 文件大小:53MB
  • 文件页数:561页
  • 主题词:移动终端-应用程序-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

ANDROID编程权威指南 第2版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 Android开发初体验1

1.1 应用开发基础1

1.2 创建Android项目2

1.3 Android Studio使用导航6

1.4 用户界面设计7

1.4.1 视图层级结构10

1.4.2 组件属性11

1.4.3 创建字符串资源12

1.4.4 预览界面布局12

1.5 从布局XML到视图对象13

1.6 组件的实际应用17

1.6.1 引用组件18

1.6.2 设置监听器18

1.7 创建提示消息20

1.8 使用模拟器运行应用23

1.9 深入学习:Android编译过程25

第2章 Android与MVC设计模式29

2.1 创建新类29

2.2 Android与MVC设计模式32

2.3 更新视图层34

2.4 更新控制层36

2.5 在设备上运行应用40

2.5.1 连接设备40

2.5.2 配置设备用于应用开发41

2.6 添加图标资源42

2.6.1 向项目中添加资源43

2.6.2 在XML文件中引用资源45

2.7 关于挑战练习46

2.8 挑战练习:为TextView添加监听器46

2.9 挑战练习:添加后退按钮46

2.10 挑战练习:从按钮到图标按钮47

第3章 Activity的生命周期49

3.1 日志跟踪理解Activity生命周期50

3.1.1 输出日志信息50

3.1.2 使用LogCat52

3.2 设备旋转与Activity生命周期55

3.3 设备旋转前保存数据59

3.4 再探Activity生命周期61

3.5 深入学习:测试onSaveInstance-State(Bundle)方法62

3.6 深入学习:日志记录的级别与方法64

第4章 Android应用的调试65

4.1 异常与栈跟踪66

4.1.1 诊断应用异常67

4.1.2 记录栈跟踪日志68

4.1.3 设置断点69

4.1.4 使用异常断点72

4.2 Android特有的调试工具73

4.2.1 使用Android Lint73

4.2.2 R类的问题75

第5章 第二个activity76

5.1 创建第二个activity77

5.1.1 创建新的activity78

5.1.2 创建新的activity子类81

5.1.3 在manifest配置文件中声明activity81

5.1.4 为QuizActivity添加Cheat按钮82

5.2 启动activity84

5.3 activity间的数据传递86

5.3.1 使用intent extra86

5.3.2 从子activity获取返回结果89

5.4 activity的使用与管理94

5.5 挑战练习97

第6章 Android SDK版本与兼容98

6.1 Android SDK版本98

6.2 Android编程与兼容性问题99

6.2.1 比较合理的版本99

6.2.2 SDK最低版本101

6.2.3 SDK目标版本101

6.2.4 SDK编译版本101

6.2.5 安全添加新版本API中的代码101

6.3 使用Android开发者文档104

6.4 挑战练习:报告编译版本106

第7章 UI fragment与fragment管理器107

7.1 UI设计的灵活性需求108

7.2 fragment的引入108

7.3 着手开发CriminalIntent109

7.3.1 创建新项目112

7.3.2 fragment与支持库113

7.3.3 在Android Studio中增加依赖关系114

7.3.4 创建Crime类117

7.4 托管UI fragment118

7.4.1 fragment的生命周期118

7.4.2 托管的两种方式119

7.4.3 定义容器视图119

7.5 创建UI fragment120

7.5.1 定义CrimeFragment的布局121

7.5.2 创建CrimeFragment类122

7.6 添加UI fragment到Fragment-Manager125

7.6.1 fragment事务126

7.6.2 FragmentManager与fragment生命周期129

7.7 采用fragment的应用架构130

7.8 深入学习:为什么应优先使用支持库版fragment131

7.9 深入学习:使用操作系统内置版fragment131

第8章 使用布局与组件创建用户界面132

8.1 升级Crime类132

8.2 更新布局133

8.3 生成并使用组件135

8.4 深入探讨XML布局属性136

8.4.1 样式、主题及主题属性136

8.4.2 dp、sp以及屏幕像素密度137

8.4.3 Android开发设计原则138

8.4.4 布局参数139

8.4.5 边距与内边距139

8.5 使用图形布局工具140

8.5.1 创建水平模式布局141

8.5.2 添加新组件142

8.5.3 在属性视图中编辑组件属性143

8.5.4 在框架视图中重新组织组件144

8.5.5 更新子组件的布局参数145

8.5.6 and roid:layout_weight属性的工作原理146

8.5.7 图形布局工具使用总结147

8.5.8 组件ID与多种布局148

8.6 挑战练习:日期格式化148

第9章 使用RecyclerView显示列表149

9.1 升级CriminalIntent应用的模型层150

9.2 使用抽象activity托管fragment153

9.2.1 通用的fragment托管布局153

9.2.2 抽象activity类154

9.3 RecyclerView、Adapter和ViewHolder158

9.3.1 ViewHolder和Adapter159

9.3.2 使用RecyclerView161

9.3.3 实现Adapter和ViewHolder163

9.4 定制列表项166

9.4.1 创建列表项布局166

9.4.2 使用定制列表项视图168

9.5 响应点击170

9.6 深入学习:ListView和GridView171

9.7 深入学习:单例171

第10章 使用fragment argument173

10.1 从fragment中启动activity173

10.1.1 附加extra信息174

10.1.2 获取extra信息175

10.1.3 使用Crime数据更新CrimeFragment视图176

10.1.4 直接获取extra信息的缺点177

10.2 fragment argument177

10.2.1 附加argument给fragment178

10.2.2 获取argumenit179

10.3 刷新显示列表项180

10.4 通过fragment获取返回结果182

10.5 挑战练习:实现高效的RecyclerView刷新183

10.6 深入学习:为何要用fragment argument183

第11章 使用ViewPager185

11.1 创建CrimePagerActivity186

11.1.1 ViewPager与PagerAdapter187

11.1.2 整合并配置使用CrimePagerActivity188

11.2 FragmentStatePagerAdapter与FragmentPagerAdapter190

11.3 深入学习:ViewPager的工作原理192

11.4 深入学习:以代码的方式创建布局193

第12章 对话框194

12.1 使用AppCompat兼容库195

12.2 创建DialogFragment196

12.2.1 显示DialogFragment198

12.2.2 设置对话框的显示内容199

12.3 fragment间的数据传递202

12.3.1 传递数据给DatePicker-Fragment203

12.3.2 返回数据给Crime-Fragment204

12.4 挑战练习:更多对话框211

12.5 挑战练习:按设备类型展现DialogFragment212

第13章 工具栏213

13.1 AppCompat213

13.2 工具栏菜单216

13.2.1 在XML文件中定义菜单217

13.2.2 创建菜单221

13.2.3 响应菜单项选择223

13.3 实现层级式导航225

13.4 可选菜单项226

13.4.1 切换菜单项标题227

13.4.2 “还有个问题”229

13.5 深入学习:工具栏与操作栏231

13.6 挑战练习:删除crime记录231

13.7 挑战练习:优化字符串资源显示231

13.8 挑战练习:用于RecyclerView的空视图232

第14章 SQLite数据库233

14.1 定义Schema233

14.2 创建初始数据库234

14.3 修改CrimeLab类238

14.4 写入数据库239

14.4.1 使用ContentValues239

14.4.2 插入和更新记录240

14.5 读取数据库242

14.5.1 使用CursorWrapper243

14.5.2 创建模型层对象244

14.6 深入学习:数据库高级主题介绍247

14.7 深入学习:应用上下文248

14.8 挑战练习:删除Crime记录248

第15章 隐式intent249

15.1 添加按钮组件250

15.2 添加嫌疑人信息至模型层252

15.3 使用格式化字符串254

15.4 使用隐式intent255

15.4.1 隐式intent的组成255

15.4.2 发送消息256

15.4.3 获取联系人信息259

15.4.4 检查可响应任务的activity263

15.5 挑战练习:ShareCompat265

15.6 挑战练习:又一个隐式intent265

第16章 使用intent拍照266

16.1 布置照片266

16.2 外部存储269

16.3 使用相机intent272

16.3.1 外部存储使用权限272

16.3.2 触发拍照273

16.4 缩放和显示位图274

16.5 功能声明277

16.6 深入学习:使用include标签278

16.7 挑战练习:优化照片显示278

16.8 挑战练习:优化缩略图加载279

第17章 Master-Detail用户界面280

17.1 增加布局灵活性281

17.1.1 修改Si ngleFragment-Activity282

17.1.2 创建包含两个fragment容器的布局283

17.1.3 使用别名资源284

17.1.4 创建平板设备专用可选资源285

17.2 Activity:fragment的托管者286

17.3 深入学习:设备屏幕尺寸的确定295

第18章 Assets297

18.1 为何使用assets297

18.2 创建BeatBox应用298

18.3 导入assets301

18.4 处理assets303

18.5 使用Assets305

18.6 访问Assets308

18.7 深入学习:什么是non-assets308

第19章 使用SoundPool播放音频309

19.1 创建SoundPool309

19.2 加载音频文件310

19.3 播放音频311

19.4 释放音频313

19.5 设备旋转和对象保存314

19.5.1 保留fragment315

19.5.2 旋转和已保留fragment316

19.6 深入学习:是否要保留318

19.7 深入学习:设备旋转处理再探318

第20章 样式与主题321

20.1 颜色资源321

20.2 样式322

20.3 主题324

20.4 添加主题颜色327

20.5 覆盖主题属性328

20.6 修改按钮属性332

20.7 深入学习:样式继承拾遗334

20.8 深入学习:引用主题属性335

20.9 挑战练习:创建多版本主题335

第21章 XML drawable336

21.1 统一按钮样式337

21.2 shape drawable338

21.3 state list drawable340

21.4 layer list drawable341

21.5 深入学习:为什么要用XMLdrawable342

21.6 深入学习:使用9-patch图像343

21.7 深入学习:使用Mipmap图像347

第22章 深入学习intent和任务348

22.1 创建NerdLauncher项目348

22.2 解析隐式intent351

22.3 在运行时创建显式intent355

22.4 任务与后退栈357

22.4.1 在任务间切换357

22.4.2 启动新任务358

22.5 使用NerdLauncher应用作为设备主屏幕361

22.6 挑战练习:应用图标362

22.7 深入学习:进程与任务362

22.8 深入学习:并发文档364

第23章 HTTP与后台任务367

23.1 创建PhotoGallery应用368

23.2 网络连接基本371

23.3 使用AsyncTask在后台线程上运行代码373

23.4 线程与主线程374

23.5 从Flickr获取JSON数据376

23.6 从AsyncTask回到主线程383

23.7 清理AsyncTask386

23.8 深入学习:AsyncTask再探387

23.9 深入学习:AsyncTask的替代方案388

23.10 挑战练习:Gson388

23.11 挑战练习:分页388

23.12 挑战练习:动态调整网格列389

第24章 Looper、Handler和Handle rTh read390

24.1 配置Recycle rView以显示图片390

24.2 批量下载缩略图393

24.3 与主线程通信393

24.4 创建并启动后台线程394

24.5 Message与message handler396

24.5.1 消息的剖析397

24.5.2 Handler的剖析397

24.5.3 使用handler398

24.5.4 传递handler402

24.6 深入学习:AsyncTask与线程407

24.7 挑战练习:预加载以及缓存407

24.8 深入学习:解决图片下载问题408

第25章 搜索409

25.1 搜索Flickr网站410

25.2 使用SearchView414

25.3 使用shared preferences实现轻量级数据存储419

25.4 优化应用422

25.5 挑战练习:深度优化PhotoGallery应用423

第26章 后台服务424

26.1 创建IntentService424

26.2 服务的作用427

26.3 查找最新返回结果428

26.4 使用AlarmManager延迟运行服务430

26.4.1 合理控制服务启动的频度432

26.4.2 PendingIntent433

26.4.3 使用PendingIntent管理定时器434

26.5 控制定时器434

26.6 通知信息437

26.7 挑战练习:可穿戴设备上的通知439

26.8 深入学习:服务细节内容440

26.8.1 服务的能与不能440

26.8.2 服务的生命周期440

26.8.3 non-stickv服务440

26.8.4 stickv服务441

26.8.5 绑定服务441

26.9 深入学习:Jobscheduler和JobService442

26.10 深入学习:Sync Adapter445

26.11 挑战练习:在Lollipop设备上使用JobService446

第27章 broadcast intent447

27.1 一般intent和broadcast intent447

27.2 接收系统broadcast:重启后唤醒448

27.2.1 standalone receiver448

27.2.2 使用receiver450

27.3 过滤前台通知消息452

27.3.1 发送broadcast intent452

27.3.2 动态broadcast receiver453

27.3.3 使用私有权限455

27.3.4 使用有序broadcast458

27.4 receiver与长时运行任务462

27.5 深入学习:本地事件462

27.5.1 使用EventBus463

27.5.2 使用Rxjava463

27.6 深入学习:检测fragment的状态464

第28章 网页浏览466

28.1 最后一段Flickr数据466

28.2 简单方式:隐式intent469

28.3 较难方式:使用WebView470

28.4 处理WebView的设备旋转问题476

28.5 深入学习:注入JavaScript对象477

28.6 深入学习:KitKat的WebView478

28.7 挑战练习:使用后退键浏览历史网页478

28.8 挑战练习:非HTTP链接支持479

第29章 定制视图与触摸事件480

29.1 创建DragAndDraw项目480

29.1.1 创建DragAndDraw-Activity481

29.1.2 创建DragAndDraw-Fragment481

29.2 创建定制视图482

29.3 处理触摸事件484

29.4 onDraw(...)方法内的图形绘制488

29.5 挑战练习:设备旋转问题490

29.6 挑战练习:旋转矩形框490

第30章 属性动画492

30.1 建立场景492

30.2 简单属性动画495

30.2.1 视图属性转换498

30.2.2 使用不同的interpolator500

30.2.3 色彩渐变500

30.3 播放多个动画502

30.4 深入学习:其他动画API504

30.4.1 传统动画工具504

30.4.2 转场504

30.5 挑战练习504

第31章 地理位置和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 基于地理位置的Flickr搜索516

31.8 获取定位数据517

31.9 寻找并显示图片519

31.10 挑战练习:进度指示器521

第32章 使用地图522

32.1 导入Play地图服务库522

32.2 Android上的地图服务522

32.3 地图API设置523

32.4 创建地图525

32.5 获取更多地理位置数据526

32.6 使用地图529

32.7 深入学习:团队开发和API key534

第33章 material design536

33.1 material surface536

33.1.1 elevation和Z值538

33.1.2 state list animator539

33.2 动画工具540

33.2.1 circular reveal541

33.2.2 shared element transition542

33.3 新的视图组件545

33.3.1 card545

33.3.2 floating action button547

33.3.3 snackbar548

33.4 深入学习material design549

第34章 编后语550

34.1 终极挑战550

34.2 关于我们551

34.3 致谢551

热门推荐