第1章Android应用开发基础
1.1 Android应用开发基础概述
1.1.1 Android应用开发的结构
Android是Google开发的基于Linux平台的、开源的智能手机操作系统。Android包括操作系统、中间件和应用程序。OHA(Open Handset Alliance,开放手机联盟)为Google与33家公司联手为Android移动平台系统的发展而组建的一个组织。
Android的开发者可以在完备的开发环境中进行开发,Android的官方网站也提供了丰富的文档、资料。这样有利于Android相关程序开发和运行在一个良好的生态环境中。
Android应用程序开发是Android开发中最上面的一个层次。Android应用程序的基础是Android提供的各个Java类,这些类也提供了Android平台级的API。位于Android框架层之上的部分,为Android系统的应用程序,它们通常被组织成Android应用程序包(APK),可以运行于各个Android设备或者Android仿真器之上,如图1-1所示。
图1-1 Android应用的开发结构
Android应用程序可以基于两种环境来开发:Android SDK和Android源代码。Android SDK环境可以采用IDE的开发环境,方便开发的流程。而使用源代码开发Android应用程序则可以获得更多的功能。
完全基于Android标准的API开发的Android应用程序包,可以被称为“Android经典应用程序”,这种程序具有标准的兼容性,一般可以任意运行于支持了某个级别API的Android系统之上。
1.1.2 Android应用程序开发的目的
由于Android系统本身是一个开发的系统,而且具有标准的API,因此Android应用程序包的开发主要有以下两种情况。
第一种:第三方应用程序;
第二种:具体系统的应用程序。
第一种情况是将某个具体的功能以应用程序包(APK)的方式实现,安装到各个不同的Android设备上。以这种模式开发的应用程序,就是第三方应用程序包,其特点是同样的一个应用程序包可以运行于不同的目标设备之上,因此尤其需要考虑兼容性问题。这种情况开发的应用程序包可能出于以下几种目的:发布到Market上可以作为交易的产品,某种功能的具体客户端,作为广告的载体,爱好者共享自己的开发程序。
第二种情况是随着某个具体的系统(一般是某个Android设备)所实现的应用程序包。这种情况实现的应用程序包不需要放到其他Android系统上运行,因此不需要考虑兼容性问题,只要能在当前系统中运行即可。另一方面,这种情况开发的应用程序可能依赖于具体系统的特定功能。这种情况的目的是让某个Android设备具有更多的功能。
无论是第三方应用程序还是具体系统的应用程序,都可以基于SDK或者源代码两种开发环境开发。相比较而言,后者使用源代码环境开发的情况更多。基于标准的SDK开发或者基于源代码但是只使用标准API的开发方式,属于经典Android应用程序。与之相对,如果使用经过改动的源代码生成的非标准SDK,或者直接使用源代码环境开发,则可能使用到标准API以外的接口,这在带来更多功能的同时,也带来了兼容性的问题。
提示:从Android应用程序开发的角度,无论使用何种环境(SDK或者源代码),基于标准API开发的情况属于通常情况,也是Android应用程序开发的基本方式。