图书介绍

Android编程权威指南 第3版【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

Android编程权威指南 第3版
  • (美)比尔·菲利普斯,克里斯·斯图尔特,克莉丝汀·马西卡诺 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:9787115457592
  • 出版时间:2017
  • 标注页数:578页
  • 文件大小:73MB
  • 文件页数:597页
  • 主题词:移动终端-应用程序-程序设计

PDF下载


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

下载说明

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

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

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

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

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

图书目录

第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

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使用LogCat48

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 Lint70

4.2.2 R类的问题71

4.3挑战练习:探索布局检查器72

4.4挑战练习:探索内存分配跟踪72

第5章 第二个activity74

5.1创建第二个activity75

5.1.1创建新的activity75

5.1.2创建新的activity子类78

5.1.3在manifest配置文件中声明activity78

5.1.4为QuizActivity添加CHEAT按钮79

5.2启动activity81

5.3 activity间的数据传递83

5.3.1使用intent extra83

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 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章U I fragment与fragment管理器103

7.1 UI设计的灵活性需求104

7.2引入fragment104

7.3着手开发CriminalIntent105

7.3.1创建新项目107

7.3.2两类fragment108

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

7.3.4创建Crime类111

7.4托管UI fragment112

7.4.1 fragment的生命周期112

7.4.2托管的两种方式113

7.4.3定义容器视图113

7.5创建UI fragment115

7.5.1定义CrimeFragment的布局115

7.5.2创建CrimeFragment类117

7.6向FragmentManager添加UI fragment122

7.6.1 fragment事务123

7.6.2 FragmentManager与fragment生命周期125

7.7采用fragment的应用架构126

7.8深入学习:fragment与支持库127

7.9深入学习:为什么优先使用支持库版fragment128

第8章 使用RecyclerView显示列表129

8.1升级CriminalIntent应用的模型层130

8.2使用抽象activity托管fragment132

8.2.1通用型fragment托管布局133

8.2.2抽象activity类133

8.3 RecyclerView、 ViewHolder和Adapter137

8.3.1 ViewHolder和Adapter138

8.3.2使用RecyclerView141

8.3.3 列表项视图142

8.3.4实现ViewHolder和Adapter143

8.4绑定列表项145

8.5响应点击147

8.6深入学习:ListView和G ridView148

8.7深入学习:单例148

8.8挑战练习:RecyclerView ViewType149

第9章 使用布局与组件创建用户界面150

9.1使用图形布局工具151

9.2引入ConstraintLayout151

9.2.1使用ConstraintLayout152

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 argument168

10.1从fragment中启动activity168

10.1.1附加extra信息169

10.1.2获取extra信息170

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

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

10.2 fragment argument172

10.2.1附加argument给fragment173

10.2.2获取argument174

10.3刷新显示列表项174

10.4通过fragment获取返回结果176

10.5深入学习:为何要用fragment argument177

10.6挑战练习:实现高效的RecyclerView刷新178

10.7挑战练习:优化CrimeLab的表现178

第11章 使用ViewPager179

11.1创建CrimePagerActivity180

11.1.1 ViewPager与PagerAdapter181

11.1.2整合并配置使用CrimePagerActivity182

11.2 FragmentStatePagerAdapter与FragmentPagerAdapter184

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

11.4深入学习:以代码的方式创建视图187

11.5挑战练习:恢复CrimeFragment的边距187

11.6挑战练习:添加Jump to First按钮和Jump to Last按钮188

第12章 对话框189

12.1创建DialogFragment190

12.1.1显示DialogFragment192

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

12.2 fragment间的数据传递196

12.2.1传递数据给DatePickerFragment197

12.2.2返回数据给CrimeFragment199

12.3挑战练习:更多对话框205

12.4挑战练习:实现响应式DialogFragment205

第13章 工具栏207

13.1 AppCompat207

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定义schema226

14.2创建初始数据库227

14.2.1使用Android Device Monitor查看文件230

14.2.2处理数据库相关问题231

14.3修改CrimeLab类232

14.4写入数据库233

14.4.1使用ContentValues233

14.4.2插入和更新记录234

14.5读取数据库235

14.5.1使用CursorWrapper236

14.5.2创建模型层对象238

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

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

14.8挑战练习:删除crime记录242

第15章 隐式intent243

15.1添加按钮组件244

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

15.3使用格式化字符串246

15.4使用隐式intent248

15.4.1隐式intent的组成248

15.4.2发送消息249

15.4.3获取联系人信息252

15.4.4检查可响应任务的activity254

15.5挑战练习:ShareCompat256

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

第16章 使用intent拍照258

16.1布置照片258

16.2文件存储260

16.2.1使用FileProvider261

16.2.2指定照片存放位置262

16.3使用相机intent263

16.4缩放和显示位图265

16.5功能声明268

16.6挑战练习:优化照片显示269

16.7挑战练习:优化缩略图加载269

第17章 双版面主从用户界面270

17.1增加布局灵活性271

17.1.1修改SingleFragment-Activity272

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 TalkBack299

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章 数据绑定与M VV M313

20.1为何要用MVVM架构314

20.2创建BeatBox应用314

20.3导入assets319

20.4处理assets321

20.5使用assets323

20.6绑定数据325

20.6.1创建视图模型327

20.6.2绑定至视图模型328

20.6.3绑定数据观察330

20.7访问assets332

20.8深入学习:数据绑定再探333

20.8.1 lambda表达式333

20.8.2更多语法糖333

20.8.3 BindingAdapter333

20.9深入学习:为何使用assets334

20.10深入学习:什么是non-assets334

第21章 音频播放与单元测试335

21.1创建SoundPool335

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保留fragment348

21.10.2设备旋转和已保留的fragment349

21.11深入学习:是否保留fragment351

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章XML drawable368

23.1统一按钮样式368

23.2 shape drawable369

23.3 state list drawable371

23.4 layer list drawable372

23.5深入学习:为什么要用XML drawable373

23.6深入学习:使用mipmap图像374

23.7深入学习:使用9-patch图像375

23.8挑战练习:按钮主题379

第24章 深入学习intent和任务380

24.1创建NerdLauncher项目380

24.2解析隐式intent382

24.3在运行时创建显式intent386

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清理AsyncTask416

25.8深入学习:AsyncTask再探416

25.9深入学习:AsyncTask的替代方案417

25.10挑战练习:Gson418

25.11挑战练习:分页418

25.12挑战练习:动态调整网格列418

第26章Looper、 Handler和HandlerTh read420

26.1配置RecyclerView以显示图片420

26.2批量下载缩略图422

26.3与主线程通信423

26.4创建并启动后台线程424

26.5 Message与message handler426

26.5.1剖析Message426

26.5.2剖析Handler427

26.5.3使用handler428

26.5.4传递handler431

26.6深入学习:AsyncTask与线程436

26.7深入学习:解决图片下载问题436

26.8深入学习:StrictMode437

26.9挑战练习:预加载以及缓存438

第27章 搜索439

27.1搜索Flickr网站439

27.2使用Sea rchView443

27.3使用shared preferences实现轻量级数据存储447

27.4优化应用451

27.5挑战练习:深度优化PhotoGalle应用451

第28章 后台服务452

28.1创建IntentService452

28.2服务的作用454

28.3查找最新返回结果456

28.4使用AlarmManager延迟运行服务458

28.4.1合理控制服务启动的频度460

28.4.2 PendingIntent461

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和JobSe rvice469

28.10挑战练习:在Lollipop设备上使用JobService472

28.11深入学习:sync adapter472

第29章broadcast intent474

29.1普通intent和broadcast intent474

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

29.2.1创建并登记standalone receiver475

29.2.2使用receiver477

29.3过滤前台通知消息479

29.3.1发送broadcast intent479

29.3.2创建并登记动态receiver480

29.3.3使用私有权限限制broadcast482

29.3.4使用有序broadcast收发数据484

29.4 receiver与长时运行任务488

29.5深入学习:本地事件488

29.5.1使用EventBus489

29.5.2使用RxJava490

29.6深入学习:探测fragment的状态490

第30章 网页浏览492

30.1最后一段Flickr数据492

30.2简单方式:隐式intent494

30.3较难方式:使用WebView496

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使用不同的interpolator523

32.2.3色彩渐变523

32.3播放多个动画525

32.4深入学习:其他动画API527

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

33.10寻找并显示图片546

33.11挑战练习:权限使用理由548

33.12挑战练习:进度指示器549

第34章 使用地图550

34.1导入Play地图服务库550

34.2 Android上的地图服务550

34.3获取Maps API key550

34.4创建地图552

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

34.6使用地图556

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

第35章material design562

35.1 material surface562

35.1.1 elevation和Z值564

35.1.2 state list animator565

35.2动画工具566

35.2.1 circular reveal567

35.2.2 shared element transition568

35.3新的视图组件571

35.3.1 card571

35.3.2 floating action button572

35.3.3 snackbar573

35.4深入学习material design574

第36章 编后语575

36.1终极挑战575

36.2关于我们575

36.3致谢576

热门推荐