Android开发入门
最后修改日期:2012年12月4日
这是一个Android开发入门教程。本教程的目的是帮助您开始开发Android应用程序。本教程已在Linux上创建和测试。
Android
Android是基于Linux的操作系统,专为智能手机和平板电脑等移动设备而设计。它还用于各种网络设备、智能电视系统、手表和家用电器。Android应用程序是用Java编程语言的定制版本开发的。
Android于2003年由一家加州公司开发,该公司后来被Google收购。Google创建了Android开源项目,用于维护和开发Android操作系统。Android正在快速发展;新的Android版本正在频繁发布。Android的代号选择了一些甜点,如Donut、Gingerbread或Jelly Bean。开发人员可以在一个名为Google Play的在线Android市场发布他们的应用程序。在应用程序发布到Google Play市场之前,它必须准备好发布,正确版本化并进行数字签名。Android用户使用内置的应用程序在Android市场搜索和安装应用程序。
Android架构
Android基于Linux内核。内核负责设备驱动程序、内存管理、进程管理和网络。在内核之上,是核心库和Android运行时。库是C/C++库,提供数据存储、屏幕显示、多媒体和网络浏览等服务。这些功能通过Android应用程序框架间接暴露给开发人员。Android运行时包括Dalvik虚拟机和核心Java应用程序库。Dalvik是专门为在Android上运行Java应用程序而开发的虚拟机。它与标准的Java虚拟机(JVM)不同。再上一层是应用程序框架。它是一组API,为Android应用程序提供服务。它通过Activity Manager处理应用程序生命周期,通过Notification manager处理通知,通过Resource Manager处理资源,一套图形控件(在Android中称为Views),通过Package Manager处理包管理等等。最上面是应用程序层。这是我们自己的应用程序运行的地方。Android还包含内置应用程序,可以为我们的应用程序提供附加服务。我们可以访问浏览器、短信、日历、地图或联系人。
术语和概念
Android应用程序是一个带有.apk
后缀的归档文件。每个Android应用程序都在自己的安全沙箱中运行。Activity是一个具有用户界面的单个屏幕。一个应用程序可以有一个或多个Activity。Activity之间是相互独立的。Activity是Activity类的子类。Service是一个在后台运行的应用程序组件。它执行耗时操作。它是Service类的子类。Content Provider管理一组共享的应用程序数据。它用于访问和修改文件系统、SQLite数据库或Web中的数据。它是ContentProvider类的子类。Broadcast Receiver是一个接收系统或应用程序广播通知的组件。Broadcast Receiver实现为BroadcastReceiver
的子类。每个广播都作为Intent对象传递。Intent是一个异步消息。它是要执行的操作的抽象描述。Intent用于在Activity之间导航。Activity、Service和Broadcast Receiver通过Intent激活。View
类是用户界面的基本构建块。它负责绘制和事件处理。View是控件的基类,用于创建按钮或复选框等UI组件。ViewGroup
是一个包含其他View
(和ViewGroup
)对象的对象,用于定义界面的布局。
每个Android应用程序都必须在根目录中有一个AndroidManifest.xml
文件。该文件向Android系统提供有关应用程序的基本信息。API级别是一个整数值,用于唯一标识Android平台版本的框架API。每个新的Android平台都会为Android应用程序框架带来新的修改。Emulator是在计算机上运行的虚拟移动设备。它用于在不使用物理设备的情况下开发和测试Android应用程序。Android Virtual Device (AVD)是模拟实际物理设备(如智能手机)的模拟器配置。我们可以创建多个AVD并在使用Android OS的不同硬件平台上测试我们的应用程序。
安装
要开始为Android开发,我们需要下载Android SDK(软件开发工具包)。有两种选择。Eclipse ADT bundle或单独的SDK工具。我们将选择后者。
$ ls -sh android-sdk_r21-linux.tgz 88M android-sdk_r21-linux.tgz
目前Linux可下载的文件是android-sdk_r21-linux.tgz
。
$ tar -xzvf android-sdk_r21-linux.tgz
我们解压压缩的存档。存档被提取到android-sdk-linux
目录。
$ pwd /home/janbodnar/bin/android-sdk-linux $ ls add-ons platforms SDK Readme.txt tools
Android SDK存档最初只包含基本的SDK工具。我们需要使用SDK管理器下载其他工具。Android SDK管理器使用android
命令行工具启动。

$ ls add-ons platforms samples sources temp docs platform-tools SDK Readme.txt system-images tools
这些是安装了附加工具后android-sdk-linux
目录的内容。
export PATH=$PATH:~/bin/android-sdk-linux/tools export PATH=$PATH:~/bin/android-sdk-linux/platform-tools
我们将tools和platform-tools目录添加到PATH
变量。
Android AVD
Android AVD(Android Virtual Device)是模拟器配置,通过定义Android模拟器要模拟的硬件和软件选项,使我们能够模拟实际设备。
$ android avd
该命令启动Android Virtual Device Manager。

通过单击New按钮,我们启动一个对话框来创建新的Android Virtual Device。在对话框中,我们为AVD命名,选择设备的硬件配置文件,选择目标API级别或我们开发机上的专用存储区域。
$ android list avd Available Android Virtual Devices: Name: AVD3 Path: /home/janbodnar/.android/avd/AVD3.avd Target: Android 4.2 (API level 17) ABI: armeabi-v7a Skin: 320x480 --------- Name: AVD4 Path: /home/janbodnar/.android/avd/AVD4.avd Target: Android 4.2 (API level 17) ABI: armeabi-v7a Skin: 240x320
android list avd
命令显示所有可用的Android Virtual Devices。
Android模拟器
Android模拟器是运行在我们计算机上的虚拟移动设备。它允许我们在不使用物理设备的情况下开发和测试Android应用程序。
$ emulator -avd AVD1 &
我们使用emulator命令启动模拟器。我们指定已创建的Android Virtual Device的名称。

使用F2键解锁模拟器。要列出可用应用程序,我们单击圆圈图标。通过单击菜单硬件按钮并选择Manage apps选项来卸载应用程序。然后我们单击要卸载的应用程序的图标并单击Uninstall按钮。
本章是Android应用程序开发入门。