《Android游戏编程入门经典》——1.1节Android 4简介

简介:

本节书摘来自异步社区《Android游戏编程入门经典》一书中的第1章,第1.1节Android 4简介,作者【美】Jonathan S. Harbour,更多章节内容可以访问云栖社区“异步社区”公众号查看

1.1 Android 4简介
Android游戏编程入门经典
最令人惊奇的是,仅用了3年时间,Android就发展成为智能手机市场中强有力的竞争者。从提出构想到发布版本仅用了3年时间,这是一项了不起的壮举。之所以如此是有原因的:Android是以Linux core 3.0为基础构建的。是的,Android实际上是Linux操作系统的衍生物。

鉴于Android比Apple晚两年进入市场,因此,可以说Android在与Apple的明星产品iPhone的竞争中获得了成功。Microsoft正在利用其Windows Phone平台从Google和Apple那里抢夺市场份额,在过去一年里,Windows Phone平台也经历了类似的快速发展。在发展过程中,Google的Android SDK和操作系统开发人员往往依靠创造力来克服通常需要更多时间的挑战(见图1.1)。


eaa4d857202cc1b56cb0d293e0e56fecba21bb21

图1.2显示了Android 4智能手机直立时的主屏幕。注意界面的简单布局。底部是3个虚拟按键:返回、主页和最近任务。返回按键是通用的返回按键。主页按键返回到该屏幕。


121f6e3276742d09df1a8e0033870fcbbb355f64

最近任务按键显示如图1.3所示的屏幕,显示正在运行的应用程序(包括游戏)以进行快速任务切换(也称为“最近使用的应用程序”)。顶部是Google的搜索字段,带有语音识别功能。

在了解Java SE 7、源代码项目、编译器配置、Android Market和游戏开发者感兴趣的其他内容之前,我们需要首先了解此新平台。Android是智能手机设备的操作系统。Android也是非专有的,这意味着从Google获得操作系统许可是免费的。Android的源代码是开源的。相反,Microsoft和Apple则严格控制其操作系统(分别是Windows Mobile和iOS)的源代码。这些公司严格控制其操作系统的发布。

Microsoft向制造商提供Windows Mobile OS(也称为Windows Phone)的许可,然后制造商在其设备上使用该操作系统。这是一种中级许可方式:不像Google那样宽松,也不像Apple那样严格。


b912d77c56e272b45a0bac1dbb74525d9f13ad59

Apple对其操作系统和硬件实施专有控制,对它们控制得非常好。尽管Apple iOS设备不像Android那样提供大量服务并具有通用性,但是他们提供了更加完善且一致的体验,因为是同一家公司设计的硬件和软件。

图1.4显示了Android 4智能手机上安装的应用程序。


d77e5a14247ae6c1e132a693ae2dd555d3340b70

开源是要付出代价的。发布操作系统的源代码并不意味着Android将占据市场的主导地位。相反,Android游戏开发者面临的一个挑战是:大量非授权硬件制造商未经Google的许可自行构建Android手机和平板电脑。这些制造商按照指南或“硬件API”构建其设备,以确保设备的广泛兼容性,但是也有例外情况。一些Android手机和平板电脑使用不同的CPU,因此它们可能无法运行一些应用程序和游戏!

提示:

如果您打算将智能手机游戏迁移到其他平台,请参阅我的另一本书籍,名为Sams Teach Yourself Windows Phone 7____Game Programming in 24 Hours。
就在多年以前,拥有一台PC就可以完成您的工作:编程、软件工程、计算机辅助设计(CAD)、文字处理、会计。即使是在20世纪80年代,每个员工的桌子上都有一台PC也是很少见的,家中拥有PC的情况就更少见了。许多孩子可能有一个任天堂游戏机(Nintendo Entertainment System,NES)、世嘉八位机(Sega Master System、SMS)或者是更老的雅达利2600(Atari 2600),这些游戏机使用的是卡盒式游戏。比这些电子游戏机更进一步的是当时真正的PC,比如Apple II、Commodore 64、Amiga、Atari 400/800、Atari ST。

那时没有电脑爱好者在家里使用IBM PC。与其他许多用户友好的操作系统相比,MS-DOS是一种可怕的操作系统。如果您想编程,则通常倾向于选择消费者PC,而不是面向企业的IBM PC。那时,Apple Macintosh非常昂贵,普通的孩子更喜欢Apple II,但在20世纪80年代Apple II是Mac的第一代产品(经过了几次重新设计,它才成为现代的苹果操作系统)。

而今天的世界已经跟那时候大不相同了。即使我们忽略如今功能强大的计算机,但是看看所有的手持型游戏机,任天堂的DS系列和索尼的PSP系列是手持型游戏机的两个主要竞争对手,它们可以完成其上一代产品(任天堂Wii游戏机和索尼PS3)能够做的所有事情,包括联机模式。这些情况随处可见。走进商店或购物中心时,您肯定会看到一些孩子随身带着某种便携式游戏机,更不用说智能手机了。此外,不仅仅是孩子,成人也有自己的玩具,比如iPhone、iPad、Windows Phone和Android设备。

我最喜欢的一款游戏是宝开游戏(PopCap Games)开发的《植物大战僵尸》。此游戏已经被移植到了大多数系统,包括Xbox 360、Mac OS X、Windows、任天堂DSi、iPhone、Android和许多其他系统。此外,一些高水准的游戏开始从Windows、Xbox 360和iPhone等系统移植到Android 4中。

Android 4到底是什么呢?您正在阅读本书,这说明您对此设备的游戏编程感兴趣。但是,此平台的开发是什么样子的?它是什么呢?我们必须询问自己这些问题,因为如果您想开发一款被认真对待的游戏,不是要花费大量金钱,就是要投入大量时间。最有可能的情况是,希望了解Android 4游戏开发的人已经了解了Java SE 7。如果您从未使用过此开发工具,则接下来的两章内容对您来说非常重要,因为我们会创建项目,并频繁地使用NetBeans和Eclipse。我将假设您并未使用过此开发工具。

相关文章
|
6月前
|
数据库连接 Android开发
安卓android期末项目之纸牌游戏之三
安卓android期末项目之纸牌游戏之三
64 0
|
6月前
|
存储 Android开发 数据库管理
Android安卓项目猜纸牌游戏之二 实体类
Android安卓项目猜纸牌游戏之二 实体类
29 0
|
3月前
|
算法 Java 定位技术
分享104个益智休闲安卓游戏源码,总有一款适合你
分享104个益智休闲安卓游戏源码,总有一款适合你
149 1
|
4月前
|
缓存 算法 Java
Linux内核新特性年终大盘点-安卓杀后台现象减少的背后功臣MGLRU算法简介
MGLRU是一种新型内存管理算法,它的出现是为了弥补传统LRU(Least Recently Used)和LFU(Least Frequently Used)算法在缓存替换选择上的不足,LRU和LFU的共同缺点就是在做内存页面替换时,只考虑内存页面在最近一段时间内被访问的次数和最后一次的访问时间,但是一个页面的最近访问次数少或者最近一次的访问时间较早,可能仅仅是因为这个内存页面新近才被创建,属于刚刚完成初始化的年代代页面,它的频繁访问往往会出现在初始化之后的一段时间里,那么这时候就把这种年轻代的页面迁移出去
|
6月前
|
SQL 人工智能 Java
Android 命令行工具简介
Android SDK 中包含了开发应用所需的多个软件包。本页列出了可供使用的最重要的命令行工具(按提供这些工具的软件包整理)。
|
6月前
|
SQL 人工智能 移动开发
Android etc1tool之png图片转换pkm 和 zipalign简介
etc1tool 是一种命令行实用程序,可用于将 PNG 图片编码为 ETC1 压缩标准格式(PKM),并将 ETC1 压缩图片解码回 PNG。
|
3月前
|
编解码 移动开发 人工智能
android游戏源码
android游戏源码
77 0
|
8月前
|
Java Linux API
#1,Android 体系结构 2000字简介 入门Android(Studio)开发
#1,Android 体系结构 2000字简介 入门Android(Studio)开发
|
4月前
|
Linux 网络安全 开发工具
Android APP入门之Android的简介以及Android Studio开发环境的搭建和测试(2022最新 图文解释 简单易懂)
Android APP入门之Android的简介以及Android Studio开发环境的搭建和测试(2022最新 图文解释 简单易懂)
62 0
|
4月前
|
Java 测试技术 持续交付
百度搜索:蓝易云【NetMock简介:简化 Java,Android和Kotlin多平台中的HTTP请求测试?】
使用NetMock,您可以在单元测试、集成测试和端到端测试中轻松地模拟和验证HTTP请求和响应,而无需实际发送请求到外部服务。这样可以提高测试的可靠性和可控性,并加快测试执行的速度。无论是在开发过程中还是在持续集成环境中,NetMock都可以帮助您更轻松地进行HTTP请求测试,提高代码质量和稳定性。
41 1