《AndroidStudio开发实战 从零基础到App上线》PDF下载

  • 购买积分:18 如何计算积分?
  • 作  者:欧阳燊编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2017
  • ISBN:9787302470069
  • 页数:649 页
图书介绍:本书是一本Android开发的技术总结,通过结合具体的实战项目,帮助读者迅速上手Android Studio开发。通过本书的学习,读者能够掌握Android的常用控件、四大组件、数据存储、设备操作、网络通信等方面的详细用法,掌握App从开发、调试、打包、上线的完整发布流程,并了解Android的高级用法如事件、动画、多媒体、性能优化、三端融合等内容。

第1章 Android Studio环境搭建 1

1.1 Android Studio简介 2

1.2 Android Studio的安装 2

1.2.1开发机配置要求 2

1.2.2安装依赖的软件 3

1.2.3安装Android Studio 5

1.3运行小应用Hello World 7

1.3.1创建新项目 7

1.3.2编译项目/模块 10

1.3.3创建模拟器 10

1.3.4在模拟器上运行App 11

1.4 App的工程结构 12

1.4.1工程目录说明 12

1.4.2编译配置文件build.gradle 13

1.4.3 App运行配置AndroidManifest.xml 15

1.4.4在代码中操纵控件 15

1.5准备开始 17

1.5.1使用快捷键 17

1.5.2安装SVN工具 18

1.5.3安装常用插件 19

1.5.4导入ADT工程 21

1.6小结 22

第2章 初级控件 23

2.1屏幕显示 24

2.1.1像素 24

2.1.2颜色 25

2.1.3屏幕分辨率 26

2.2简单布局 27

2.2.1视图View的基本属性 27

2.2.2线性布局LinearLayout 30

2.2.3滚动视图ScrollView 32

2.3简单控件 34

2.3.1文本视图TextView 34

2.3.2按钮Button 38

2.3.3图像视图ImageView 39

2.3.4图像按钮ImageButton 43

2.4图形基础 45

2.4.1 Drawable 46

2.4.2状态列表图形 47

2.4.3形状图形 48

2.4.4九宫格图片 51

2.5实战项目:简单计算器 52

2.5.1设计思路 53

2.5.2小知识:日志Log/提示Toast 54

2.5.3代码示例 55

2.6小结 58

第3章 中级控件 59

3.1其他布局 60

3.1.1相对布局RelativeLayout 60

3.1.2框架布局FrameLayout 64

3.2特殊按钮 65

3.2.1复选框CheckBox 65

3.2.2开关按钮Switch 66

3.2.3单选按钮RadioButton 67

3.3适配视图基础 68

3.3.1下拉框Spinner 68

3.3.2数组适配器ArrayAdapter 69

3.3.3简单适配器SimpleAdapter 70

3.4编辑框 71

3.4.1文本编辑框EditText 72

3.4.2自动完成编辑框AutoCompleteTextView 77

3.5 Activity基础 78

3.5.1 Activity的生命周期 78

3.5.2使用Intent传递消息 82

3.5.3向下一个Activity传递参数 84

3.5.4向上一个Activity返回参数 85

3.6实战项目:登录APP 88

3.6.1设计思路 88

3.6.2小知识:AlertDialog 89

3.6.3代码示例 91

3.7小结 94

第4章 数据存储 95

4.1共享参数SharedPreferences 96

4.1.1基本用法 96

4.1.2实现记住密码功能 97

4.2数据库SQLite 98

4.2.1 SQLite的基本用法 98

4.2.2 SQLiteOpenHelper 100

4.2.3优化记住密码功能 106

4.3 SD卡文件操作 108

4.3.1 SD卡的基本操作 108

4.3.2文本文件读写 110

4.3.3图片文件读写 111

4.4 Application基础 112

4.4.1 Application的生命周期 112

4.4.2利用Application操作全局变量 113

4.5实战项目:购物车 115

4.5.1设计思路 115

4.5.2小知识:菜单Menu 116

4.5.3代码示例 119

4.6小结 125

第5章 高级控件 126

5.1日期时间控件 127

5.1.1日期选择器DatePicker 127

5.1.2时间选择器TimePicker 128

5.2列表类视图 129

5.2.1基本适配器BaseAdapter 129

5.2.2列表视图ListView 133

5.2.3网格视图GridView 138

5.3翻页类视图 142

5.3.1翻页视图ViewPager 142

5.3.2翻页标题栏PagerTitleStrip/PagerTabStrip 145

5.3.3简单的启动引导页 147

5.4碎片Fragment 150

5.4.1静态注册 150

5.4.2动态注册/碎片适配器FragmentStatePagerAdapter 154

5.4.3改进的启动引导页 157

5.5 Broadcast基础 159

5.5.1发送/接收临时广播 159

5.5.2定时器AlarmManager 162

5.6实战项目:日历/日程表 163

5.6.1设计思路 163

5.6.2小知识:震动器Vibrator 165

5.6.3代码示例 165

5.7小结 170

第6章 自定义控件 171

6.1自定义视图 172

6.1.1声明属性 172

6.1.2构造对象 175

6.1.3测量尺寸 176

6.1.4绘制视图 179

6.2自定义动画 184

6.2.1任务Runnable 184

6.2.2下拉刷新动画 185

6.2.3圆弧进度动画 186

6.3自定义对话框 190

6.3.1对话框Dialog 190

6.3.2改进的日期对话框 191

6.3.3自定义多级对话框 195

6.4自定义通知栏 195

6.4.1通知推送Notification 195

6.4.2进度条ProcessBar 198

6.4.3远程视图RemoteViews 199

6.5 Service基础 202

6.5.1 Service的生命周期 203

6.5.2推送服务到前台 207

6.6实战项目:手机安全助手 210

6.6.1设计思路 210

6.6.2小知识:应用包管理PackageManager 211

6.6.3代码示例 213

6.7小结 216

第7章 组合控件 217

7.1标签栏 218

7.1.1标签按钮 218

7.1.2实现底部标签栏 219

7.2导航栏 228

7.2.1工具栏Toolbar 228

7.2.2溢出菜单OverflowMenu 230

7.2.3搜索框SearchView 232

7.2.4标签布局TabLayout 235

7.3横幅条 240

7.3.1自定义指示器 241

7.3.2实现横幅轮播Banner 243

7.4增强型列表 247

7.4.1循环视图RecyclerView 247

7.4.2布局管理器LayoutManager 252

7.4.3动态更新循环视图 256

7.5实战项目:仿淘宝主页 258

7.5.1设计思路 258

7.5.2小知识:下拉刷新SwipeRefreshLayout 259

7.5.3代码示例 262

7.6小结 266

第8章 调试与上线 267

8.1调试工作 268

8.1.1模拟器调试 268

8.1.2真机调试 272

8.1.3导出APK安装包 274

8.2准备上线 276

8.2.1版本设置 276

8.2.2上线模式 277

8.2.3数据加密 281

8.3安全加固 289

8.3.1反编译 289

8.3.2代码混淆 291

8.3.3第三方加固及重签名 294

8.4发布到应用商店 296

8.4.1注册开发者账号 296

8.4.2创建并提交应用 297

8.5小结 299

第9章 设备操作 300

9.1摄像头 301

9.1.1表面视图SurfaceView 301

9.1.2使用Camera拍照 303

9.1.3纹理视图TextureView 308

9.1.4使用Camera 2拍照 309

9.2麦克风 311

9.2.1拖动条SeekBar 312

9.2.2音量控制 313

9.2.3录音与播音 314

9.2.4录像与放映 322

9.3传感器 326

9.3.1传感器的种类 327

9.3.2加速度传感器 328

9.3.3指南针 330

9.3.4计步器和感光器 333

9.4手机定位 334

9.4.1开启定位功能 334

9.4.2获取定位信息 337

9.5实战项目:仿微信的发现功能 341

9.5.1设计思路 341

9.5.2小知识:卫星导航 343

9.5.3代码示例 345

9.6小结 351

第10章 网络通信 352

10.1多线程 353

10.1.1消息传递Message 353

10.1.2进度对话框ProgressDialog 356

10.1.3异步任务AsyncTask 359

10.1.4异步服务IntentService 365

10.2 HTTP接口访问 367

10.2.1网络连接检查 367

10.2.2移动数据格式JSON 369

10.2.3 HTTP接口调用 371

10.2.4 HTTP图片获取 376

10.3上传和下载 378

10.3.1下载管理器DownloadManager 378

10.3.2文件对话框 384

10.3.3文件上传 385

10.4套接字Socket 389

10.4.1网络地址InetAddress 389

10.4.2 Socket通信 390

10.5实战项目:仿手机QQ的聊天功能 394

10.5.1设计思路 394

10.5.2小知识:可折叠列表视图ExpandableListView 397

10.5.3代码示例 401

10.6小结 407

第11章 事件 408

11.1按键事件 409

11.1.1检测软键盘 409

11.1.2检测物理按键 411

11.1.3音量调节对话框 413

11.2触摸事件 417

11.2.1手势事件的分发流程 417

11.2.2手势事件处理MotionEvent 421

11.2.3手写签名 424

11.3手势检测 426

11.3.1手势检测器GestureDetector 426

11.3.2飞掠视图ViewFlipper 428

11.3.3手势控制横幅轮播 431

11.4手势冲突处理 435

11.4.1上下滚动与左右滑动的冲突处理 435

11.4.2内部滑动与翻页滑动的冲突处理 438

11.5实战项目:抠图神器——美图变变 443

11.5.1设计思路 443

11.5.2小知识:图像的基本加工 444

11.5.3代码示例 445

11.6小结 451

第12章 动画 452

12.1帧动画 453

12.1.1帧动画的实现 453

12.1.2显示GIF动画 455

12.1.3淡入淡出动画 456

12.2补间动画 457

12.2.1补间动画的种类 458

12.2.2补间动画的原理 462

12.2.3集合动画 465

12.2.4在飞掠横幅中使用补间动画 466

12.3属性动画 469

12.3.1属性动画的用法 469

12.3.2属性动画组合 472

12.3.3插值器和估值器 473

12.4动画的实现手段 477

12.4.1使用延时重绘 477

12.4.2设置状态参数 478

12.4.3滚动器Scroller 479

12.5实战项目:仿QQ空间的动感影集 481

12.5.1设计思路 481

12.5.2小知识:画布的绘图层次 482

12.5.3 代码示例 486

12.6小结 492

第13章 多媒体 493

13.1相册 494

13.1.1画廊Gallery 494

13.1.2图像切换器ImageSwitcher 496

13.1.3图片查看器——青青相册 499

13.2视频播放 502

13.2.1视频视图VideoView 503

13.2.2媒体控制条MediaController 505

13.2.3影视播放器——爱看剧场 507

13.3内容提供与处理 514

13.3.1内容提供器ContentProvider 515

13.3.2内容解析器ContentResolver 517

13.3.3内容观察器ContentObserver 521

13.4实战项目:音乐播放器——浪花音乐 524

13.4.1设计思路 524

13.4.2小知识:可变字符串SpannableString 526

13.4.3代码示例 529

13.5小结 537

第14章 融合技术 538

14.1网页集成 539

14.1.1资产管理器AssetManager 539

14.1.2网页视图WebView 540

14.1.3简单浏览器 542

14.2 JNI开发 549

14.2.1 NDK环境搭建 550

14.2.2创建JNI接口 552

14.2.3 JNI实现加解密 556

14.3局域网共享 559

14.3.1无线网络管理器WifiManager 559

14.3.2蓝牙BlueTooth 560

14.4实战项目:WIFI共享器 570

14.4.1设计思路 570

14.4.2小知识:NetBIOS协议 571

14.4.3代码示例 574

14.5小结 582

第15章 第三方开发包 583

15.1地图SDK 584

15.1.1查看签名信息 584

15.1.2百度地图 586

15.1.3高德地图 591

15.2分享SDK 596

15.2.1 QQ分享 596

15.2.2微信分享 598

15.3支付SDK 602

15.3.1支付宝支付 603

15.3.2微信支付 604

15.4语音SDK 606

15.4.1语音识别 606

15.4.2语音合成 609

15.5实战项目:仿滴滴打车 610

15.5.1设计思路 611

15.5.2小知识:评分条RatingBar 611

15.5.3代码示例 614

15.6小结 615

第16章 性能优化 616

16.1布局文件优化 617

16.1.1减少重复布局 617

16.1.2自适应调整布局 619

16.1.3自定义窗口主题 621

16.2内存泄漏处理 623

16.2.1内存泄漏的检测 623

16.2.2内存泄漏的预防 628

16.3线程池管理 631

16.3.1普通线程池 631

16.3.2定时器线程池 634

16.4省电模式 634

16.4.1检测当前电量 635

16.4.2检测屏幕开关 636

16.5实战项目:图片缓存框架 638

16.5.1设计思路 638

16.5.2小知识:LRU缓存策略 640

16.5.3代码示例 642

16.6小结 649