《Android App开发入门 使用Android Studio 2.X开发环境》PDF下载

  • 购买积分:17 如何计算积分?
  • 作  者:施威铭编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2017
  • ISBN:9787111574491
  • 页数:565 页
图书介绍:本书从初学者的角度出发,通过通俗易懂的语言、丰富的实例,详细介绍使用Android Studio 2.X开发环境开发Android应用程序应该掌握的各种技术。全书共分16章,内容包括:使用Android Studio开发Android App,Android程序设计基础讲座,应用程序界面设计,事件处理,用户界面的基本组件,高级UI组件,即时消息与对话框,用Intent启动程序中的其他Activity,用Intent启动手机内的各种程序,拍照与显示照片,播放音乐与视频,用传感器制作水平仪与体感控制,WebView与SharedPreferences,GPS定位、地图与菜单,SQLite数据库,Android互动设计等。书中所有知识都结合具体实例进行介绍,以使读者轻松领会Android应用程序开发的精髓,快速提高开发技能。

第1章 使用Android Studio开发Android App 2

1-1创建第一个Android App项目 2

1-2在计算机的仿真器上执行App 11

创建Android仿真器 11

在仿真器上执行Android App 14

仿真器的操作技巧 18

调整仿真器的语言、时区及删除App 20

在Android Studio中查看仿真器与App的执行情况 22

1-3 Android Studio快速上手 23

认识Android Studio的操作环境 24

打开最近使用过的项目 27

项目的移动、复制与删除 28

打开“移动或复制后”或“外来”的项目 29

1-4 Android项目的构成 30

Android资源文件的“多版本”特色 32

第2章Android程序设计基础讲座 40

2-1 Android App的主角:Activity 40

Activity 40

Android App的组成 40

2-2 Android程序的设计流程 41

视觉设计和程序逻辑 41

用图形化界面做视觉设计 43

用Java编写程序逻辑 44

把视觉设计与程序代码构建起来 44

2-3认识Activity的基本程序逻辑 45

初识MainActivity框架 45

onCreate(): MainActivity第一件要做的事 46

setContentView():载入布局文件 48

资源ID 48

2-4组件的布局与属性设置 50

id属性 52

ndViewById()方法 53

textView的常见属性 54

在属性中设置引用 54

在属性中设置方法的名称 56

2-5开始动手编写程序 56

范例2-1:单击按钮就放大显示文字 57

2-6输入字段EditText组件 76

getText():获取用户输入的文字 76

setText():设置TextView显示的文字 77

范例2-2:加入EditText组件 77

2-7使用USB线将程序部署到手机上执行 82

打开手机调试功能 82

通过USB将Android App传送到手机安装并执行 83

执行已安装的程序 85

2-8修改项目的程序包名称和应用程序ID 85

第3章Android App界面设计 94

3-1 View与ViewGroup(Layout):组件与布局 94

View:视觉组件 94

View组件的属性与设置 95

再谈id属性 96

Layout:界面布局 98

3-2使用LinearLayout建立界面布局 100

LinearLayout:按序排列组件 100

范例3-1:在布局中使用LinearLayout 101

范例3-2:使用LinearLayout (Horizontal)创建窗体 103

imputType属性:设置输入字段种类 110

范例3-3:加入输入电话专用的EditText 110

3-3使用weight属性控制组件的宽/高 114

范例3-4:利用weight属性对齐组件 115

3-4 通过属性美化外观 117

组件的边界:margins与paddings 117

范例3-5:设置边界让输入窗体版面变宽松 119

颜色:以RGB值设置文字或背景颜色 120

范例3-6:设置文字及背景颜色 120

3-5用程序设置组件的外观属性 125

setTextColor():改变文字颜色 125

范例3-7:变色龙——以随机数设置颜色属性 126

3-6使用ConstraintLayout提升设计与执行的性能 130

ConstraintLayout的运行原理 130

范例3-8:学习ConstraintLayout的使用 131

约束的种类 137

让组件可以动态重设大小与位置 138

使用引导线 140

自动连接与推断约束 141

3-7使用Gmail将程序寄给朋友测试 144

设置可以安装非Google Play商店下载的程序 144

将程序寄给朋友安装 144

第4章 与用户互动——事件处理 150

4-1事件处理的机制 150

来源对象与监听对象 150

Java的接口 150

4-2“单击”事件的处理 153

范例4-1:每单击一次按钮,就让计数器加1 153

4-3监听“长按”事件 158

onLongClick():处理“长按”事件 158

范例4-2:长按按钮将计数值归零 158

4-4 处理不同来源对象的相同事件 160

getId():判断事件的来源对象 160

范例4-3:长按按钮计数加2,长按计数值归零 161

4-5监听“触控”事件让手机震动 165

onTouch():触控事件的处理 165

如何让手机震动 166

范例4-4:监听TextView的触控事件 166

在程序中登记“震动”的权限 167

第5章 用户界面的基本组件 175

5-1多选一的单选按钮 175

RadioButton与RadioGroup组件 175

getCheckedRadioButtonId():读取单选按钮状态 175

范例5-1:读取RadioGroup选取的选项 176

onCheckedChanged():选项改变的事件 182

范例5-2:利用RadioButton选择温度转换单位 183

5-2可复选的复选框 192

isChecked():检查是否被选取 192

范例5-3:以复选框创建餐点选单 192

onCheckedChanged():选取/取消复选框的事件 196

范例5-4:利用选取事件实时修改订单 197

5-3显示图像的ImageView 203

使用Android系统内建的图像资源 203

范例5-5:显示系统内建图像 203

使用自行提供的图像资源 205

范例5-6:为选单加上图片 206

图像的缩放控制 213

第6章 高级UI组件:Spinner与ListView 219

6-1 Spinner选单组件 219

Spinner组件的属性设置 219

用getSelectedItemPosition()读取Spinner组件的选项 220

范例6-1:使用Spinner设计购票程序 221

onItemSelected(): Spinner组件的选择事件 225

范例6-2:运动能量消耗计算器 225

6-2 ListView列表框 231

onItemClick(): ListView的单击事件 232

范例6-3:使用ListView创建选单 232

6-3在程序中变更Spinner的显示选项 236

ArrayAdapter: Spinner与数据的桥梁 236

ArrayAdapter():创建ArrayAdapter对象 236

setDropDownViewResource():设置选单选项的显示样式 237

setAdapter():将ArrayAdapter与Spinner绑在一起 238

范例6-4:使用Spinner制作饮料订单 238

第7章 即时消息与对话框 246

7-1使用Toast显示即时消息 246

Toast类 247

范例7-1:脑筋急转弯——用Toast显示答案 247

Toast信息的取消显示与更新显示 250

范例7-2:实时显示答案的脑筋急转弯 251

7-2使用Snackbar显示即时信息 253

范例7-3:脑筋急转弯——用Snackbar显示答案 254

7-3使用Alert对话框 256

AlertDialog类 256

AlertDialog.Builder:设置与创建Alert对话框 257

setCancelable():设置按返回键关闭对话框 257

show():创建并显示对话框 257

创建Alert对话框的简洁写法 258

范例7-4:显示欢迎信息的对话框 258

在对话框中加入按钮 260

范例7-5:Android问卷调查 261

7-4使用日期、时间对话框 264

DatePickerDialog与TimePickerDialog类 265

onDateSet()与onTimeSet():获取选取的日期与时间 266

范例7-6:日期时间选择器 267

第8章用Intent启动程序中的其他Activity 274

8-1在程序中新增Activity 274

8-2用Intent启动程序中的Activity 276

startActivity():用显式Intent启动Activity 276

nish():结束Activity 277

8-3在Intent中夹带数据传给新的Activity 280

putExtra():附加数据到Intent中 280

getIntent()与getXxxExtra():从Intent中取出数据 281

8-4 要求新的Activity返回数据 287

第9章用Intent启动手机内的各种程序 295

9-1使用Intent启动程序的方式 295

setAction()和setData()加入动作和数据到Intent中 296

Uri: Intent的数据 296

范例9-1:快速拨号程序 297

9-2使用Intent启动电子邮件、短信、浏览器、地图与Web搜索 299

电子邮件地址 299

短信 301

网址 301

经纬度坐标值 301

搜索Web数据 301

范例9-2:使用Intent启动电子邮件、短信、浏览器、地图与Web搜索 302

从启动的程序返回数据 306

第10章拍照与显示照片 309

10-1使用Intent启动系统的相机程序 309

利用Bundle取出Intent中附带的Bitmap对象 309

范例10-1:利用系统的相机程序拍照 310

10-2要求相机程序存盘 314

准备代表图像文件路径的Uri 314

读写文件的危险权限 315

用BitmapFactory类读取图像文件 317

范例10-2:要求相机程序存盘并在程序中显示出来 318

10-3解决照片过大的问题 321

用BitmapFactory.Options设置加载图像文件的选项 321

范例10-3:按显示尺寸加载缩小的图像文件 322

10-4旋转手机与旋转照片 324

关闭自动旋转功能并设置屏幕为直向显示 325

用Matrix对象旋转图片 326

范例10-4:按照片是直拍还是横拍自动旋转照片 326

10-5使用Intent浏览并选取照片 330

将照片改为可供系统共享的文件 331

范例10-5:利用Intent浏览并选取已拍好的照片 332

第11章 播放音乐与视频 339

11-1使用Intent选取音乐或视频 339

读取预存在程序中的多媒体文件 341

范例11-1:让用户挑选影音文件 341

11-2用MediaPlayer播放音乐 347

MediaPlayer的音乐播放流程 347

MediaPlayer可引发的3个重要事件 348

处理在播放音乐时切换到其他程序的情况 349

让屏幕不进入休眠状态 350

范例11-2:用MediaPlayer播放音乐 351

11-3用VideoView播放视频 358

使用VideoView搭配MediaController播放视频 359

用程序控制VideoView的视频播放 359

设置全屏幕显示 360

处理在播放视频时切换到首页或其他程序的情况 361

处理在播放时旋转手机的情况 362

范例11-3:打开新的Activity播放视频 363

11-4在Android 7的多窗口模式下播放影音 368

范例11-1:让播放器支持多窗口模式 369

第12章 用传感器制作水平仪与体感控制 374

12-1读取加速传感器的值 374

认识加速传感器 374

获取系统的传感器对象 375

读取传感器的值 375

范例12-1:显示加速传感器的加速度值 377

12-2利用x、 y轴的加速度值制作水平仪 380

利用左边界与上边界移动图片 380

范例12-2:利用加速传感器制作水平仪 382

12-3利用加速传感器做体感控制 385

检测手机面朝下平放的状态 385

检测手机摇动 386

范例12-3:利用加速传感器控制音乐播放 386

第13章WebView与SharedPreferences 393

13-1使用WebView显示网页 393

范例13-1:显示京东网站 393

13-2改进WebView功能 397

使用WebSettings启用网页缩放和JavaScript 398

使用WebViewClient打开超链接 399

使用WebChromeClient创建网页加载进度界面 399

使用ProgressBar显示进度条 401

使用onBackPressed()实现回上一页功能 402

范例13-2:改善WebView行为 402

13-3使用SharedPreferences记录信息 406

使用SharedPreferences对象存储数据 407

读取首选项数据 408

存储/恢复数据的时机:onPause()/onResume() 408

范例13-3:flickr照片快搜 409

第14章 GPS定位、地图、菜单 419

14-1获取手机定位数据 419

LocationManager:系统的定位管理器 419

定位提供者 419

用getBestProvider()方法获取定位提供者名称 420

请求用户授权 420

用requestLocationUpdates()注册位置更新事件的监听器 421

用isProviderEnabled()方法检查定位提供者是否可以使用 421

实现LocationListener接口 421

用removeUpdate()方法取消注册监听器 423

范例14-1:获取所在位置(经纬度) 423

14-2定位信息与地址查询 432

用Geocoder类做地址查询 432

Address地址对象 433

范例14-2:地址专家——用经纬度查询地址 433

14-3在程序中显示Google Map 438

使用Google Map的前置准备 438

如何使用Google Map 439

范例14-3:在Google Map中显示当前所在位置 444

14-4为Activity添加菜单 456

Activity默认的菜单 456

设置菜单的内容 457

编写菜单所需的两个方法 460

范例14-4:为程序加上菜单 460

第15章SQLite数据库 471

15-1认识SQLite数据库 471

数据库、数据表、数据字段 471

使用CREATE TABLE语句创建数据表 471

使用openOrCreateDatabase()创建数据库 472

用execSQL()方法执行CREATE TABLE语句 473

用insert()方法和ContentValues对象新增数据记录 473

范例15-1:创建数据库和数据表 474

15-2查询数据及使用Cursor对象 476

使用SELECT语句进行数据查询 476

使用Cursor对象获取查询结果 477

使用Cursor对象的getXXX()方法读取数据 478

范例15-2:使用Cursor对象读取查询结果 478

15-3热线通讯家 481

使用SimpleCursorAdapter自定义ListView版面 482

数据表的“id”字段 483

范例15-3:热线通讯家 484

第16章 Android互动设计——蓝牙遥控自走车iTanK 497

16-1让Android与外部设备互动 497

iTank智能型移动平台基本款简介 497

F1agAPI简介 498

16-2点亮iTank控制板上的LED灯 499

点亮LED的指令 500

范例16-1:点亮LED1 500

16-3手机蓝牙遥控iTank 508

FlagTank类 508

范例16-2:手机蓝牙遥控车 508

附录A OO与Java:一招半式写App 516

A-1对象与类 516

属性与行为 516

类 516

对象 517

存储对象的变量只是一个转向器 518

指向自己的this变量 519

重载的方法 521

对象的构造函数 522

static:类变量与方法 524

A-2继承与接口 527

extends:继承 527

Override:重写父类中的方法 529

接口 530

A-3类库与程序包 535

程序包 535

用import导入程序包名称 536

用package将类包装在程序包中 538

附录B常用的Android Studio选项设置 541

B-1快速找出想要设置的选项 541

B-2设置文件编码方式 542

B-3显示行号 543

B-4调整字号 543

B-5设置自动化的Import功能 545

B-6调整各类警告与错误的检查功能 545

B-7设置使用自行安装的Java JDK版本 546

附录C使用旧项目或外来项目时的问题排除 552

更新项目所使用的SDK版本 552

附录D关于Android的XML 557

D-1认识XML 557

D-2 Android的XML文件 558

附录E导入ADT项目 564

导入ADT项目后中文变成乱码 564