Android for complete beginners: Article 1 Introduction.






2.22/5 (2投票s)
为什么选择 Android™?
从开发者的角度来看,移动市场主要有三大参与者。
- Google,通过一种开发环境 Android,实现跨移动平台访问。
- Apple,专有平台,支持多种格式。
- Microsoft,以通过 Visual Studio 开发 Windows 应用程序而闻名,但将其业务扩展到手机和平板电脑。
在与竞争对手比较 Android 之前;为什么要开发应用程序?
在商业广告的结尾,我们经常听到“在线可用,或下载应用程序”。但为什么两者都要有呢?显然,移动设备需要一个操作系统,但一旦安装了浏览器,将网页复制成应用程序又有什么优势呢?
有两个答案。首先,在商业上,一家连锁超市希望您在线使用他们的服务,但通过应用程序,他们将一个图标快捷方式固定到了您的平板电脑桌面上。其次,在技术上,应用程序可以完全访问设备,而网站则不行。[但请注意,通过 Web 缓存和本地存储,基于网站的应用程序可以非常复杂。] 然而,传感器、图形加速器和其他设备硬件仍然比 Web 浏览器更容易从应用程序中访问。
因此,市场对以下需求存在:支持在线业务的应用程序、游戏以及能有效利用设备硬件的应用程序。
为什么选择 Android?
这是一个非常受欢迎的移动平台,它使用 Java
语言,这与其他许多开发者熟悉的语言相似。它仅专注于移动环境,并且尽可能直观。这并不是说它很简单,但它是可以学会的。
为什么选择本课程?
这是 Android 的入门介绍,只需要很少的先验知识。我们将通过一些简单的例子来传达关键概念。
因此,在本介绍部分,我们将介绍一些基本概念。稍后,我们将学习如何安装工具并使用它们来构建应用程序。
完整的文档请参见后面的“参考文献”部分,然后是“Android”的介绍。
参考文献
Android 开发者网站
https://developer.android.com.cn —这里包含 Android 开发方面最全面、最前沿的指南。
书籍
http://www.apress.com/9781430231561 Learn Java for Android Development,作者 Jeff Friesen — 介绍 Java 语言但不涉及 Android 应用程序,它是为学习 Java 和 OOP 做准备。
http://www.apress.com/9781430239307 Pro Android 4,作者 Satya Komatineni,Dave MacLean — Pro Android 系列的最新版本 [约 Ice Cream Sandwich]。涵盖了许多 Android 主题。
Android
架构
Android 设备运行 Linux
操作系统,初学者开发者不需要有任何先验经验。需要掌握 Java
语言,有先验经验会有优势,但本系列将假设您没有任何经验。Java
可执行文件的关键部分在于它们运行在虚拟机中,这使得硬件与软件分离,从而实现了跨平台使用。在 Android 中,每个应用程序都在自己的 Dalvik
虚拟机中运行,但不需要这方面的技术知识。Android 库——专注于移动应用程序中经常需要的任务——通过开源代码扩展了 Java
。免费的软件开发工具包和文档,使其非常易于访问。
移动环境
Android 不仅跨越了许多移动平台,它还为大量应用程序提供了一个环境。但是,由于资源有限,应用程序的生命周期需要以受控的方式释放资源,一个应用程序关闭时,另一个应用程序打开。此外,应用程序可以将功能委托给其他应用程序。例如,显示一张图片或引导用户到特定 URL 的在线帮助手册。
Intents、Activities、生命周期
要理解 Android 如何实现任务委托,我们需要理解 Intent
。在传统的 PC 桌面环境中,启动应用程序的方法是找到可执行文件或指向它的链接,然后启动它。
例如:myApplication.exe
但在 Android 中,可执行文件和启动过程是分离的。这是通过 Intent
实现的,Intent
在 Android 中被广泛使用。例如,Android 上的图标会发起一个 Intent
,这种类型的 Intent
会将应用程序启动器引导到应用程序的主入口点。
通常来说,用户可以发起操作,这会导致创建一个 Intent
,从而将后续的处理与应用程序和请求分开。
这使得操作请求有可能被任何合适的应用程序处理。为了控制哪个应用程序处理 Intent
,会使用 Intent Filter
。在启动应用程序时,这个 Intent Filter 会有效地将图标链接到可执行文件。
最后一个重要的术语是 Activity
,实际上 Activity
是 Android 中应用程序基本组件的术语。换句话说,如果请求一个操作,就会期望某种形式的活动。所以我们有以下一个在 Android 中发生的程序的摘要。
User interaction requests > ACTION > Intent > INTENT FILTER > Activity
Activities 也可能产生自己的请求。如何管理所有这些 Activities 的生命周期?再次与传统的 PC 桌面进行比较,在那里一旦打开,许多应用程序会一直运行,直到下班关机,只是为了省电。但在 Android 中,操作系统会不断地管理资源。
因此,Activities 中内置了在操作系统管理其 Activities 的各种转换点运行的方法。这些特殊方法,开发者用来处理相关过程,连接了一组称为**Activity 生命周期**的状态模式。
例如,当用户查看一个“正在播放”音乐 Activity 时,可能是时候将设置保存到前一个应用程序的数据库中了,但是完全关闭数据库可以等到关闭该 Activity 时再进行。所以我们有两种状态:运行中 [此应用程序在前台] 和暂停 [此应用程序部分隐藏,另一个应用程序在前],在转换点可以进行保存。
简单 Activity
启动的状态是:已创建-已开始-正在运行。简单关闭的状态是:已暂停-已停止-已关闭。**Activity 生命周期**形成一个阶梯
Running --------> onPause onResume <-------- Paused | | Started onStop onStart/onRestart <- Stopped | | Created onDestroy onCreate <-------- Closed
方法(粗体)充当代码的分布式入口点。显然,onCreate
是最重要的。但请注意,Android 也可以在阶梯上来回切换,例如在暂停和恢复应用程序而不完全关闭它时。
摘要
本文介绍了一些基本概念。现在我们可以回答这些问题:什么是 Activity
?什么是 Intent
?我们还可以描述 Activity 生命周期和 Android 架构。
在我们开始之前,我们需要一个开发环境,我们将在第二篇文章中讨论它。然后,我们可以看看实际的代码。
历史
版本 1