本书采用了创新、有趣的形式,循序渐进地向学生传授应用开发知识。每章均包含了适合教室教学、比较实用的应用程序。全书贯穿使用了模型视图控制器,以便进行软件工程实践练习。同时,本书采用专题的教学形式,包括XML资源、事件驱动编程、动画、声音、制作游戏、语音识别等内容。
Android APP开发经典教程,受到读者五星好评!专业的人写专业的书给专业的读者!不管你已经初识Android或者还未进入Android 开发大门,都能通过本书得到系统训练!随书附赠Android Studio所有程序源代码及PPT课件,亲手实践体验应用程序开发乐趣吧!
【美】埃尔维·杰伊·弗朗西斯基
Hervé J. Franceschi
美国马里兰洛约拉大学计算机科学学院教授,从事计算机教学和研究工作十余年。出版或参与出版过的著作有《JavaIlluminated》等。
CHAPTER 1 Android基础知识,第一个应用程序:HelloAndroid
1.1 智能手机及其操作系统
1.1.1 智能手机
1.1.2 Android手机
1.1.3 App和Google Play
1.2 Android应用开发环境
1.3 第一个应用程序:HelloAndroid
1.3.1 框架应用
1.3.2 GUI预览
1.3.3 XML文件: activity_main.xml、 colors.xml、 styles.xml、 strings.xml、 dimens.xml
1.3.4 MainActivity类
1.4 在模拟器中运行App
1.5 使用Logcat调试App
1.6 调试器的使用
1.7 在实际设备上测试App
1.8 App Manifest和Gradle构建系统
1.8.1 AndroidManifest.xml文件: App图标与面向安卓的设备
1.8.2 Gradle构建系统
CHAPTER 2 模型视图控制器、 GUI组件和事件
2.1 模型视图控制器(MVC)框架
2.2 模型
2.3 GUI组件
2.4 RelativeLayout、TextView、EditText和Button: Tip Calculator应用程序,版本0
2.5 GUI组件和多XML属性: Tip Calculator应用程序,版本1
2.6 风格和主题: Tip Calculator应用程序,版本2
2.7 事件和简单事件处理:编写控制器, Tip Calculator应用程序,版本3
2.8 多事件处理: Tip Calculator应用程序,版本4
CHAPTER 3 GUI、布局管理器编程
3.1 MVC框架
3.2 模型
3.3 以编程方式创建GUI,TicTacToe应用程序,版本0
3.4 事件处理:TicTacToe应用程序,版本1
3.5 整合模型以支持游戏玩法:TicTacToe应用程序,版本2
3.6 内部类
3.7 布局参数:TicTacToe应用程序,版本3
3.8 提醒对话框:TicTacToe应用程序,版本4
3.9 拆分视图和控制器:TicTacToe应用程序,版本5
CHAPTER 4 多个Activity,在Activity之间传递数据,转换,持久性数据
4.1 模型: Mortgage类
4.2 使用TableLayout作为GUI前端: Mortgage Calculator应用程序,版本0
4.3 使用RelativeLayout作为第二屏幕GUI
4.4 连接两个activity: Mortgage Calculator应用程序,版本1
4.5 activity的生命周期
4.6 多个activity之间共享数据: Mortgage Calculator应用程序,版本2
4.7 activity之间的转换: Mortgage Calculator应用程序,版本3
4.8 处理持久性数据: Mortgage Calculator应用程序,版本4
CHAPTER 5 菜单和SQLite
5.1 菜单和菜单项: Candy Store应用程序,版本0
5.2 图标: Candy Store应用程序,版本1
5.3 SQLite:创建数据库、表和插入数据, Candy Store应用程序,版本2
5.4 删除数据: Candy Store应用程序,版本3
5.5 更新数据: Candy Store应用程序,版本4
5.6 运行收银机: Candy Store应用程序,版本5
CHAPTER 6 设备方向管理
6.1 Configuration类
6.2 捕获设备旋转事件
6.3 策略1:为每个方向设置一个Layout XML文件
6.4 策略2:为两个方向应用一个layout XML文件,用代码修改布局
6.5 策略3:完全用代码管理布局和方向
CHAPTER 7 触摸与滑动
……
16.5 对称和非对称加密:修改视图, Encryption应用程序,版本3
附录 a 动态检索状态栏和操作栏的高度
附录 B 动态设置TextView的字体大小
附录 c 下载、安装Google Play服务和使用地图
附录 D AsyncTask类
内容简介
如今智能手机日益普及, App的应用也越来越广泛。我们可以使用App查阅邮件、查看天气、
玩游戏、统计数据、翻译、学习等,也会使用诸如Facebook、 Twitter、 CNN类的网站或社交媒体App。在本章中,将学习如何开发我们的第一个Android应用程序。
1.1 智能手机及其操作系统
1.1.1 智能手机
智能手机,类似于缩小版的便捷电脑,具有独立的操作系统和独立的运行空间。程序员可以编写在智能手机上使用的应用程序,即App。智能手机具有标准电脑的典型组成部分: CPU、内存、存储器、操作系统,同时还拥有照相机、加速计及GPS等设备。
最著名的两个操作系统是谷歌的Android操作系统和苹果的iOS系统。其他流行的智能手机操作系统有BlackBerry、 Windows和Symbian。目前,全球智能手机销量已超过10亿部,并且智能手机在全球手机销量中所占的比例还在不断上升。
1.1.2 Android手机
Android手机或平板电脑的型号有100多种,它们采用不同的CPU、屏幕分辨率和内存,开发
人员很难在所有设备上测试开发的App。由于Android手机或平板电脑有所不同,这就要求App用户界面各种组件的尺寸也要不同。此外,在复杂的游戏中,运行速度非常重要,在为Android市场开发App时, App应用程序在老旧的Android设备上的运行效果与在新设备上运行效果会有很大差别,这一点要牢记。
1.1.3 App和Google Play
Android App是通过Google Play(https://play.google.com)发布的, Google Play不仅仅是应用程序,其前身是Android Market,一个在线应用商店,类似于苹果的App Store。您需要花费25美元注册成为开发人员,才能在谷歌上发布App。
谷歌目前有超过100万个App,其中绝大多数是免费的,涵盖娱乐(游戏)、个性化、工具、
书籍等各类App,这些都是可以免费下载的。众所周知, Android操作系统是开源的,任何人都可以很容易地将App从一个Android设备复制到另一个设备上,几乎不受知识产权保护。
1.2 Android 应用开发环境
在这里推荐几个Android应用的典型开发环境:
Java Development Kit(JDK)
Android Studio
Android Standard Development Kit(Android SDK)
并非必须使用Android Studio才能开发Android App,我们可以从命令行运行代码,或者使用其他集成的开发环境,比如Eclipse。但是, Android Studio是谷歌的官方开发环境,不久的将来很可能会成为行业标准,因此,本书中我们使用Android Studio开发。
首先,要建立完整的Android App开发环境,我们需要:
下载并安装最新的Java SDK(如果还没有安装过)。
下载地址: http://www.oracle.com/technetwork/java/javase/downloads/index.html
下载并安装Android Studio,包括IDE、 SDK工具和模拟器。
下载地址: http://developer.Android.com/SDK/index.html
1.3 第一个应用程序: HelloAndroid
创建第一个Android应用程序。
1.3.1 框架应用
启动Android Studio。第一次运行Android Studio时,会自动进行版本检测,如果需要更新的话,会要求我们下载组件。完成后单击Finish,如图1.1所示,进入欢迎界面,如图1.2所示。
界面左侧显示最近的项目列表;开发App之前,要通过单击Start a new Android Studio
project来建立一个新项目,弹出如图1.3所示的对话框,输入项目名称(HelloAndroid)和域名(jblearning.com。若没有域名,可选择任何名称);另外两个字段(包名和项目位置)将自动生成。如有需要,可以对该字段进行编辑。需要注意的是,包名是反向的域名,开发人员通常会将包与域名反向命名来确保它的唯一性。完成后单击Next。
图1.4所示的对话框用于指定该项目的最小SDK,这点很重要。例如,如果要加入广告,需
要比默认更高等级的API。指定的SDK等级越接近, App的使用用户越多。对于本例App,我们保
持默认的SDK,然后单击Next。
在图1.5所示的对话框中,选择需要的模板,模板中使用了一些预定义的用户界面功能创建框架代码。通常,模板提供的用户界面与本地应用程序类似。对于本例App,我们选择EmptyActivity模板—创建一个最小的框架代码。
单击Next,进入图1.6所示的界面,我们为第一个类和布局文
件命名。对于第一个App,我们保留类的默认名称MainActivity和布局文件名称Activity_main。单击Finish之后,项目即创建完成同时也将自动创建项目目录结构和许多源文件,我们可以
在Android Studio开发界面的左侧列表中看到这些文件,如图1.7所示。
程序会自动生成许多目录和文件。
manifests目录中包含的AndroidManifest.xml文件是自动生成的可编辑文件。该文件指定了应用程序使用的类、文件系统、 internet、设备的硬件等资源,当用户下载一个应用程序时,这个文件会告诉用户该应用程序使用的资源(例如写入设备的文件系统)。
java目录中包含Java源文件。随着应用程序变得越来越复杂,可以添加更多的Java源文件。
res(res代表“resources”)目录中包含实用文件(定义字符串、菜单、布局、颜色、风格)和图像、声音等资源。
id为这些资源在一个文件名为R.Java文件里自动生成的命名参数。 R.Java不能被修改。
res目录中的drawable项包含图像和jpegs、 pngs、 gifs、 define gradients文件等,也可以根据需要进行添加。
res目录中的pipmap目录包含App图标,可以根据需要将图标添加到这个目录。
在res目录内, layout中包含用于定义界面布局的XML文件。 activity_main.xml文件是自动
生成的界面布局文件。我们可以通过编辑这个文件来定义App的图形用户界面(GUI)。
在res目录内, values目录中包含定义各种资源的XML文件,如颜色(在Colors.xml文件
中)、维度(在Dimens.xml文件中)、样式(在Styles.xml文件中)或字符串(在Strings.
xml文件中)。我们可以通过编辑这些文件来定义更多的颜色、维度、样式或字符串资源。
Sradle Scripts目录中包含用于构建App应用程序的脚本。
在本章中,我们将详细介绍以下文件: AndroidManifest.xml、 MainActivity.java、 dimens.
xml、 strings.xml、 styles.xml、 colors.xml和activity_main.xml,并为应用App添加一个图标。