首 页
手机版

android编程权威指南第二版 pdf扫描版

android编程权威指南第二版是一本完全面向实战的Android编程指南,由[美]Bill Phillips、Chris Stewart、Brian Hardy、Kristin Marsicano编写,王明发翻译,人民出版社出版。全书全面覆盖了android开发的所有知识点,手把手教你开发Android应用,8个Android应用开发实战项目,传授直接的开发经验。android编程权威指南第2版以实战为主,在你制作一个又一个的Android应用中逐步学习了解各种理论知识及技术知识,又浅到深,最终学会Android应用开发和制作。因为本书全面讲究实战,所以只建议能够熟练使用java语言的人下载阅读使用。

基本介绍

《android编程权威指南第2版》主要以其Android训练营教学课程为基础,融合了几位作者多年的心得体会,是一本完全面向实战的Android编程指南。全书共34章,详细介绍了8个Android 应用。通过这些精心设计的应用,读者可掌握很多重要的理论知识和开发技巧,获得前沿的开发经验。如果你熟悉Java语言,或者了解面向对象编程,那就立刻开始Android编程之旅吧!

作者简介

一、Bill Phillips

Big Nerd Ranch骨灰级讲师。他在Big Nerd Ranch与人合作开发了广受好评的Android训练营培训课程,并为之编写教材(包括本书第1版)。此后,Bill一直坚持撰写博客、阅读各类文学作品、作曲奏乐以及著书。

二、Chris Stewart

Big Nerd Ranch骨灰级Android训练营讲师、Android团队主管。他致力于不断取得进步,精进技能。不坐在电脑前时,Chris喜欢远足和旅行。

三、Brian Hardy

Big Nerd Ranch的iOS和Cocoa工程主管。他是Android训练营的首批讲师,与许多客户合作开发了众多Android和iOS移动应用。除同开发团队构建更出色的软件和研究自己新的项目之外,Brian喜欢陪伴朋友与家人——通常是在烧烤架旁。

四、Kristin Marsicano

Big Nerd Ranch讲师、Android开发者。她喜欢与他人分享知识,对学习、软件开发以及二者的交集充满热情。在授课和开发应用之余,Kristin会为家人烹调美食、练习瑜伽或学习一些新知识。

五、王明发

毕业于华东理工大学。软件开发及项目管理者,拥有近十年的软件开发及项目管理经验;译者,另译有《写给大家看的项目管理书(第3版)》。

android编程权威指南第二版章节目录

第1章 Android开发初体验1

1.1应用开发基础1

1.2创建Android项目2

1.3Android 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.2Android与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深入学习:测试onSaveInstanceState(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.2Android特有的调试工具73

4.2.1使用Android Lint73

4.2.2R 类的问题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.3activity间的数据传递86

5.3.1使用intent extra86

5.3.2从子activity获取返回结果89

5.4activity的使用与管理94

5.5挑战练习97

第6章Android SDK版本与兼容98

6.1Android SDK版本98

6.2Android编程与兼容性问题99

6.2.1比较合理的版本99

6.2.2SDK最低版本101

6.2.3SDK目标版本101

6.2.4SDK编译版本101

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

6.3使用Android开发者文档104

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

第7章UI fragment与fragment管理器107

7.1UI 设计的灵活性需求108

7.2fragment的引入108

7.3着手开发CriminalIntent109

7.3.1创建新项目112

7.3.2fragment与支持库113

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

7.3.4创建Crime类117

7.4托管UI fragment118

7.4.1fragment的生命周期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到FragmentManager125

7.6.1fragment事务126

7.6.2FragmentManager与fragment生命周期129

7.7采用fragment的应用架构130

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

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

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

8.2更新布局133

8.3生成并使用组件135

8.4深入探讨XML布局属性136

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

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

8.4.3Android开发设计原则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.6android:layout_weight属性的工作原理146

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

8.5.8组件ID与多种布局148

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

第9章使用RecyclerView显示列表150

9.2使用抽象activity托管fragment153

9.2.1通用的fragment托管布局153

9.2.2抽象activity类154

9.3RecyclerView、Adapter和ViewHolder158

9.3.1ViewHolder和Adapter159

9.3.2使用RecyclerView161

9.3.3实现Adapter和ViewHolder166

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.2fragment argument177

10.2.1附加argument给fragment178

10.2.2获取argument179

10.3刷新显示列表项180

10.4通过fragment获取返回结果182

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

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

第11章使用ViewPager185

11.1创建CrimePagerActivity186

11.1.1ViewPager与PagerAdapter187

11.1.2整合并配置使用CrimePagerActivity188

11.2FragmentStatePagerAdapter与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.3fragment间的数据传递202

12.3.1传递数据给DatePickerFragment203

12.3.2返回数据给CrimeFragment204

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

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

第13章工具栏213

13.1AppCompat213

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修改SingleFragmentActivity282

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

17.1.3使用别名资源284

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

17.2Activity: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.2shape drawable338

21.3state list drawable340

21.4layer list drawable341

21.5深入学习:为什么要用XML drawable342

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和HandlerThread390

24.1配置RecyclerView以显示图片390

24.2批量下载缩略图393

24.3与主线程通信393

24.4创建并启动后台线程394

24.5Message与message handler396

24.5.1消息的剖析397

24.5.2Handler的剖析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.2PendingIntent433

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.3non-sticky服务440

26.8.4sticky 服务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.1standalone 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.4receiver与长时运行任务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创建DragAndDrawActivity481

29.1.2创建DragAndDrawFragment481

29.2创建定制视图482

29.3处理触摸事件484

29.4onDraw(…)方法内的图形绘制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.3Play 服务和模拟器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.2Android上的地图服务522

32.3地图API设置523

32.4创建地图525

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

32.6使用地图529

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

第33章material design536

33.1material surface536

33.1.1elevation和Z值538

33.1.2state list animator539

33.2动画工具540

33.2.1circular reveal541

33.2.2shared element transition542

33.3新的视图组件545

33.3.1card545

33.3.2floating action button547

33.3.3snackbar548

33.4深入学习material design549

第34章 编后语550

34.1终极挑战550

34.2关于我们551

34.3致谢551

使用说明

1、下载并解压,得出pdf文件

2、如果打不开本文件,请务必下载pdf阅读器

3、安装后,在打开解压得出的pdf文件

4、双击进行阅读

收起介绍展开介绍
  • 下载地址
android编程权威指南第二版 pdf扫描版

有问题? 点此报错

发表评论

0条评论