首页>参考读物>计算机科学与技术>软件与程序设计

Android App开发入门:使用Android Studio环境
作者 : 施威铭 编著
出版日期 : 2016-06-30
ISBN : 978-7-111-53958-2
定价 : 89.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 592
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

本书从初学者的角度出发,通过通俗易懂的语言、丰富多彩的实例,详细介绍了使用Android Studio开发环境开发Android应用程序应该掌握的各方面技术。全书共分16章,内容包括使用Android Studio开发Android App、Android程序设计基础讲座、应用程序界面设计、事件处理、用户界面的基本组件、高级UI组件、即时信息对话框、用Intent启动程序中的其他Activity、用Intent启动手机内的各种程序、拍照与显示照片、播放音乐与视频、用传感器制作水平仪与体感控制、WebView与SharedPreferences、GPS定位、地图与菜单、SQLite数据库、Android交互设计。所有知识都结合具体实例进行介绍,可以使读者轻松领会Android应用程序开发的精髓,快速提高开发技能。

图书前言

学习 Android 程序设计一直困扰着许多初学者,其原因有两个。首先,你必须会使用 Java 程序设计语言,并且要懂 Android 的 XML词汇,然后才能开始学习 Android 的程序设计。其次,在学习的过程里又常见到一些程序设计老手所使用的行话与习惯,对于一个初学者而言,常会苦思不得其解,导致在学习的路上产生挫折、困顿。鉴于此,本书针对 Android 的初学者安排一套学习流程,期望降低学习门槛,让学习曲线平滑、顺畅,使读者能迅速掌握 Android 程序设计的重点,不用浪费过多的时间。
许多人都说学 Android 需要先学 XML,但是事实上学 Android 并不需要先学 XML,而是要学 Android 的 XML词汇。这两者可是天壤之别,前者你可能要读完一本厚厚的 XML大全集,但是对于掌握 Android 的 XML词汇,事情就简单多了,并且我们还会以图形化界面的编辑器来完成画面布局的 XML设计,这就和更改网络游戏的一些图形模块一样简单。再者,初学阶段的 Android 程序设计所用到的 Java 语言,也不需要初学者必须完完整整地读完一本厚达七八百页的 Java 程序设计语言教科书,初学者只需发挥三成的 Java 程序设计语言的功力就可以轻松写好 Android 程序了。
所以,初学者真正要做的就是学习 Android 的程序架构、 Android API的使用以及运用自己的创意来开发手机或平板电脑的应用。本书并不是 Android的程序应用大全集之类的书,目的是帮助那些对 Android 程序设计感兴趣的人来排除学习中的障碍,以便他们可以顺利进入 Android 程序设计的领域。读完本书,如果还有需要进一步学习的领域,可以参考我们编写的一系列书籍。

施威铭

上架指导

计算机\程序设计

封底文字

作者简介

施威铭 编著:暂无简介

推荐序

以 Android 系统为基础的智能手机、平板电脑甚至是炫酷的智能穿戴设备目前在市场上大行其道。由于自己一直在这个行业中,因此时常被人问起:如何能快速学习和掌握 Android App(应用)的开发?能否推荐一本Android入门的教材?以前面对这样的问题,我要么语塞,要么会有诸如此类的回复:建议你先学习面向对象的程序设计方法,再学习 Java 语言,然后熟悉并使用 Android 集成开发环境。然而提问者一般都是一脸茫然。
现在,我可以底气十足地回答:建议你看看这本新书吧。
这是一本引领 Android App 开发的初学者入门的教材,本书撰写的宗旨就是:读者不必是Java大师,也不必是面向对象程序设计高手,只要通过简单易懂的讲解、标准范例程序的调试和演练、循环往复地动手练习和实践,就能达到快速入门、熟悉和奠定 Android App 开发的坚实基础。
本书既适合大专院校和专业技术培训学校作为教材,也适合有基础编程经验的读者自学。Android App 开发中的必备主题在本书中都涵盖到了,如用户界面和版面布局、Activity(活动)、事件处理、Intent、内容提供者、照相、影音播放、 GPS 定位和地图( Google Map Android API v2)、传感器、网页浏览(WebView)、对话框、菜单、SQLite 数据库、Java 面向对象程序设计与 XML等。
本书每一章都提供了范例程序,功能不同的范例程序有 40多个,若加上同类范例而功能有差异的不同版本,则范例程序的总数高达 70多个。这些范例适用于 Android 2.2 到 Android 5.0x,甚至适用于2015年5月发布的 Android 6.0,所有范例程序都提供了简体中文版,而且都在最新的 Android Studio 1.5 的集成开发环境下调试通过,甚至可以直接运行在 Android 的智能手机和平板电脑上。
Android Studio 是谷歌公司大力支持的一款 Android 集成开发环境,本书的所有范例程序都是在这个开发环境里编写、调试和运行(设备仿真运行)的。如果读者对于 Android Studio 开发工具包和开发环境的安装、设置及使用不是很熟悉,请参考网站(http://www..ag.com.tw/android)以及本书附录 B的说明。
如果需要从以前使用的其他 Android 开发工具或环境顺利迁移到这个全新的 Android Studio 开发环境,例如将非 Android Studio 项目导入 Android Studio,就可以参考附录 C和附录 E。这样以前在 Eclipse 中开发的项目就可以平顺迁移到 Android Studio 的集成开发环境中继续开发或者维护。附录 A则是为对面向对象和 Java还比较生疏的读者提供的,附录 D则简单地讲解了一下 Android 中的 XML。
最后加一点说明:如果不能在“ http://developer.android.com/sdk/index.html”下载到 Android Studio开发工具,就到“ http://www.android-studio.org/”中下载 Android Studio,或者到 Android开发者网站的其他镜像网站下载。

赵军
2016年 3月

图书目录

前言
第1章 使用Android Studio开发Android App
1-1 创建第一个 Android App 项目2
1-2 在计算机的仿真器上执行 App13
创建 Android 仿真器13
在仿真器上执行Android App17
调整仿真器的语言、时区及删除App22
在Android Studio中查看仿真器与 App 的执行情况24
1-3 Android Studio 快速上手26
认识 Android Studio 的操作环境27
打开最近使用过的项目30
项目的移动、复制与删除31
打开“移动或复制后”或“外来”的项目32
1-4 Android 项目的构成34
Android 资源文件的“多版本”特色36
习题42
第2章 Android 程序设计基础讲座
2-1 Android App 的主角:Activity45
Activity(活动)45
Activity App的组成46
2-2 Android 程序的设计流程47
视觉设计和程序逻辑47
用图形化界面来做视觉设计49
用Java 来编写程序逻辑50
把视觉设计与程序代码构建(Build)起来51
2-3 认识 Activity 的基本程序逻辑51
初识 MainActivity 框架51
onCreate():MainActivity 第一件要做的事53
setContentView():载入布局文件56
资源的 ID56
2-4 组件的布局与属性设置58
id 属性60
findViewById() 方法60
常见的属性类型61
在属性中直接设置值62
在属性中设置引用(Reference)62
在属性中设置方法的名称63
2-5 开始动手编写程序64
范例2-1 单击按钮就放大显示的文字64
2-6 输入字段 EditText 组件87
getText():获取用户输入的文字87
setText():设置 TextView 显示的文字88
范例 2-2 加入 EditText 组件88
2-7 使用 USB 线将程序部署到手机上执行92
打开手机调试功能93
通过 USB 将 Android App 传送到手机安装并执行94
执行已安装的程序95
2-8 修改项目的程序包名称和应用程序 ID96
习题 102
第3章 Android App界面设计
3-1 View与ViewGroup(Layout):组件与布局104
View:视觉组件104
View 组件的属性与设置106
再谈 id 属性107
Layout:画面布局109
3-2 使用 LinearLayout 建立画面布局110
LinearLayout:按序排列组件111
范例3-1 在布局中使用 LinearLayout112
范例3-2 使用 LinearLayout (Horizontal) 创建窗体115
imputType 属性:设置输入字段种类119
范例3-3 加入输入电话专用的 EditText119
3-3 使用 weight 属性控制组件的宽/高125
范例3-4 利用weight属性对齐组件126
3-4 通过属性美化外观129
组件的边界:margins 与 paddings129
范例3-5 设置边界让输入窗体版面变宽松131
颜色:以 RGB 值设置文字或背景颜色133
范例3-6 设置文字及背景颜色134
3-5 以程序设置组件的外观属性138
setTextColor():改变文字颜色138
范例3-7 变色龙—以随机数设置颜色属性139
3-6 使用 Gmail 将程序寄给朋友测试143
设置可以安装非 Google Play 商店下载的程序143
将程序寄给朋友安装144
习题148
第4章 与用户互动——事件处理
4-1 事件处理的机制150
来源对象与监听对象150
Java 的接口(Interface)150
4-2 “单击”事件的处理153
范例4-1 每单击一次按钮,就让计数器加 1154
4-3 监听“长按”事件158
onLongClick():处理“长按”事件159
范例 4-2 长按按钮将计数值归零159
4-4 处理不同来源对象的相同事件161
getId():判断事件的来源对象161
范例4-3 长按按钮计数加 2,长按计数值可归零162
4-5 监听“触控”事件让手机震动163
onTouch():触控事件的处理164
如何让手机震动164
范例4-4 监听TextView的触控事件165
在程序中登记“震动”的权限166
习题 172
第5章 用户界面的基本组件
5-1 多选一的单选按钮(RadioButton)174
RadioButton 与 RadioGroup 组件174
getCheckedRadioButtonId():读取单选按钮状态174
范例 5-1 读取 RadioGroup 选取的选项175
onCheckedChanged():选项改变的事件180
范例 5-2 利用 RadioButton 选择温度转换单位180
5-2 可复选的复选框(CheckBox)188
isChecked():检查是否被选取189
范例 5-3 以复选框创建餐点选单189
onCheckedChanged():选取/取消复选框的事件192
范例5-4 利用选取事件实时修改订单193
5-3 显示图像的 ImageView200
使用 Android 系统内建的图像资源200
范例 5-5 显示系统内建图像201
使用非 Android 内建(自行提供)的图像资源204
范例5-6 替选单加上图片204
图像的缩放控制211
习题214
第6章 高级UI组件:Spinner 与 ListView
6-1 Spinner选单组件217
Spinner 组件的属性设置217
getSelectedItemPosition()读取 Spinner 组件的选取项218
范例6-1 使用Spinner设计购票程序219
onItemSelected():Spinner 组件的选择事件224
范例 6-2 运动能量消耗计算器224
6-2 ListView 列表框230
onItemClick(): ListView 的单击事件231
范例 6-3 使用 ListView 创建选单232
6-3 在程序中变更 Spinner 的显示选项236
ArrayAdapter:Spinner 与数据的桥梁237
ArrayAdapter():创建 ArrayAdapter 对象237
setDropDownViewResource():设置选单选项的显示样式238
setAdapter():将 ArrayAdapter 与 Spinner 绑在一起239
范例 6-4 使用 Spinner 制作饮料订单239
习题244
第7章 即时消息与对话框
7-1 使用 Toast 显示即时消息247
Toast 类248
范例7-1 脑筋急转弯—用 Toast 显示答案249
Toast 信息的取消显示与更新显示252
范例7-2 实时显示答案的脑筋急转弯252
7-2 使用 Alert 对话框255
AlertDialog 类256
AlertDialog.Builder:设置与创建 Alert 对话框257
setCancelable():设置按返回键关闭对话框257
show():创建并显示对话框257
创建 Alert 对话框的简洁写法258
范例7-3 显示欢迎信息的对话框259
在对话框中加入按钮261
范例7-4 Android 问卷调查262
7-3 使用日期、时间对话框266
DatePickerDialog 与 TimePickerDialog 类266
onDateSet() 与 onTimeSet():获取选取的日期与时间268
范例7-5 日期时间选择器268
习题274
第8章 用Intent启动程序中的其他Activity
8-1 在程序中新增 Activity276
范例8-1 在项目中新增 Activity276
8-2 用 Intent 启动程序中的 Activity279
startActivity():用明确 Intent 启动 Activity279
finish():结束 Activity280
范例8-2 用 Intent 来启动 Activity280
8-3 在 Intent 中夹带数据传给新 Activity284
putExtra():附加数据到 Intent 中284
getIntent() 与 getXxxExtra():从 Intent 中取出数据285
范例8-3 在启动新 Activity 时传送数据285
8-4 要求新的 Activity 返回数据293
范例8-4 在新 Activity 结束时将数据返回294
习题299
第9章 用Intent启动手机内的各种程序
9-1 使用 Intent 启动程序的方式301
setAction() 及 setData():加入动作和数据到 Intent 中302
Uri:Intent 的数据302
范例9-1 快速拨号程序303
9-2 使用 Intent 启动电子邮件、短信、浏览器、地图与 Web 搜索305
电子邮件地址306
短信307
网址307
经纬度坐标值307
搜索 Web 数据307
范例9-2 使用 Intent 启动电子邮件、短信、浏览器、地图与 Web 搜索308
从启动的程序返回数据314
习题316
第10章 拍照与显示照片
10-1 使用 Intent 启动系统的相机程序318
利用 Bundle 取出 Intent 中附带的 Bitmap 对象319
范例10-1 利用系统的相机程序来拍照319
10-2 要求相机程序存盘323
准备代表图像文件路径的 Uri323
用 BitmapFactory 类读取图像文件324
范例10-2 要求相机程序存盘并在程序中显示出来325
10-3 解决照片过大问题327
用 BitmapFactory.Options 设置加载图像文件的选项327
范例10-3 按显示尺寸来加载缩小的图像文件328
10-4 旋转手机与旋转照片330
关闭自动旋转功能并设置屏幕为直向显示331
用 Matrix 对象来旋转图片332
范例10-4 按照片是直拍还是横拍而自动旋转照片333
10-5 使用 Intent 浏览并选取照片336
将照片改为可供系统共享的文件338
范例10-5 利用 Intent 浏览并选取已拍好的照片339
习题 345
第11章 播放音乐与视频
11-1 使用 Intent 来选取音乐或视频348
读取预存在程序中的多媒体文件350
范例11-1 让用户挑选影音文件351
11-2 用 MediaPlayer 播放音乐356
MediaPlayer的音乐播放流程356
MediaPlayer可引发的 3 个重要事件357
处理在播放音乐时切换到其他程序的情况358
让屏幕不进入休眠状态360
范例11-2 用 MediaPlayer 播放音乐360
11-3 用 VideoView 播放视频370
使用 VideoView 搭配 MediaController 来播放视频370
用程序控制 VideoView 的视频播放370
设置全屏幕显示371
处理在播放视频时切换到首页或其他程序的情况372
处理在播放时旋转手机的情况374
范例11-3 打开新的 Activity 来播放视频375
习题 382
第12章 用传感器制作水平仪与体感控制
12-1 读取加速传感器的值385
认识加速传感器385
获取系统的传感器对象386
读取传感器的值387
范例12-1 显示加速传感器的加速度值388
12-2 利用 x、y 轴的加速度值来制作水平仪
利用左边界与上边界来移动图片391
范例12-2 利用加速传感器制作水平仪393
12-3 利用加速传感器来做体感控制396
检测手机面朝下平放的状态396
检测手机摇动397
范例12-3 利用加速传感器来控制音乐播放398
习题402
第13章 WebView 与 SharedPreferences
13-1 使用 WebView 显示网页404
范例13-1 显示京东网站404
13-2 改进 WebView功能 408
使用 WebSettings 启用网页缩放和 JavaScript409
使用 WebViewClient 处理开启超链接操作410
使用 WebChromeClient 创建网页加载进度接口410
使用 ProgressBar 显示进度条412
使用 onBackPressed() 实现回上一页功能413
范例13-2 改善 WebView 行为413
13-3 使用SharedPreferences记录信息418
使用 SharedPreferences 对象存储数据418
读取首选项数据419
存储/恢复数据的时机:onPause()/onResume()420
范例13-3 flickr 照片快搜421
习题428
第14章 GPS定位、地图、菜单
14-1 获取手机定位数据431
LocationManager:系统的定位管理器431
定位提供者431
用 getBestProvider() 方法获取定位提供者名称432
用 requestLocationUpdates() 注册位置更新事件的监听器432
实现 LocationListener 接口433
用 removeUpdate() 方法取消注册监听器434
范例14-1 获取所在位置(经纬度)435
14-2 定位信息与地址查询441
用 Geocoder 类做地址查询441
Address 地址对象442
范例14-2 地址专家——用经纬度查询地址442
14-3 在程序中显示 Google Map447
使用 Google Map 的前置准备447
如何使用 Google Map449
范例14-3 在 Google Map 中显示当前所在位置455
14-4 帮 Activity 加上菜单466
Activity 默认的菜单467
设置菜单的内容468
编写菜单所需的 2 个方法469
范例14-4 为程序加上菜单470
习题 479
第15章 SQLite 数据库
15-1 认识 SQLite 数据库481
数据库、数据表、数据字段481
使用 CREATE TABLE 语句创建数据表482
使用 openOrCreateDatabase() 创建数据库483
用 execSQL() 方法执行 "CREATE TABLE" 语句483
用 insert() 方法和 ContentValues 对象新增数据484
范例15-1 创建数据库及数据表484
15-2 查询数据及使用 Cursor 对象487
使用 SELECT语句进行数据查询487
使用 Cursor 对象获取查询结果488
使用 Cursor 对象的 getXXX() 方法读取数据489
范例15-2 使用 Cursor 对象读取查询结果490
15-3 热线通讯家492
使用 SimpleCursorAdapter 自定义 ListView 版面493
数据表的 '_id' 字段494
范例15-3 热线通讯家495
习题 506
第16章 Android 互动设计——蓝牙遥控自走车 iTank
16-1 让 Android 与外部的设备互动508
iTank 智能型移动平台基本款简介508
FlagAPI 简介509
点亮 LED 的指令510
16-2 点亮 iTank 控制板上的 LED 灯510
范例16-1 点亮 LED1511
16-3 手机蓝牙遥控 iTank518
FlagTank 类518
范例16-2 手机蓝牙遥控车519
习题523
附录A OO与Java:一招半式写 App
A-1 对象与类526
属性与行为526
类526
对象527
存储对象的变量只是一个转向器528
指向自己的 this 变量529
重载的方法 (Overloading)532
对象的构造函数(Constructor)533
static:类变量与方法535
A-2 继承与接口538
extends:继承538
Override:重写父类中的方法539
界面 (Interface)541
A-3 类库与程序包546
程序包 (Package)546
用 import 导入程序包名称548
用 package 将类包装在程序包中550
附录B 常用的 Android Studio 选项设置
B-1 快速找出想要设置的选项553
B-2 设置文件编码方式554
B-3 显示行号555
B-4 调整字号555
B-5 设置自动化的 Import 功能557
B-6 调整各类警告与错误的检查功能557
附录C 使用旧项目或外来项目时的问题排除
附录D 关于 Android 的 XML
附录E 导入 ADT 项目

教学资源推荐
作者: 刘艺 等
作者: Jie Wu
作者: Bruce Eckel, Chuck Allison
参考读物推荐
作者: (美)Kevin Brothaler 著
作者: (美)Stephen Ritchie 著