2 Android相关技术介绍及分析
2。1 Android的功能特性
应用框架:用于开发能够重用或者能够替代的组件。
Dalvik虚拟机:Android是原以Java虚拟机(简称“JVM”)为基础,做自主开发的虚拟机技术(Dalvik),能够保证API方面兼容,同时Dalvik针对移动端进行了大幅的优化,占用内存资源更小,程序运行效率更高。
SQLite数据库:SQLite提供结构化的数据存储。它是一个轻型(据说内部代码只有五万行)免费的并且也是一个开源的数据库,它是基于嵌入式所开发的,它需要的内存空间少、处理速度快并且能够支持事务处理等。
软件开发环境:包括一个模拟器设备,内嵌一个调试工具,内存和性能检测,以及很多Eclipse IDE的开发插件。Eclipse是个集成开放环境,统称为ADT。
2。2 Android运行时组件
Android不使用Java运行时组件来执行Java程序,而是使用了由Google公司自行研发的Android运行时组件来执行程序。Android运行时组件包括两个重要的部分,一个是核心类库,另一个是Dalvik虚拟机。
2。3 Android应用的构成和工作机制
一个Android应用程序,是由Activity、Content Provider、Service以及BroadcastReceiver四部分组成。在应用程序中使用时,需要在配置文件AndroidManifest。xml中进行参数配置。AndroidManifest。xml 是每个android程序中必须的文件。它位于整个项目的根目录,描述了package中涉及到的组件(activities, services, 等等),他们各自的实现类,各种能被处理的数据和启动位置。 除了能声明程序中的Activities, ContentProviders, Services, 和Intent Receivers,还能指定permissions(权限)和instrumentation(安全控制和测试)。Android应用的结构和工作流程图如图1:
图1 Android的构成和工作流程
3 Android应用程序结构剖析
3。1 Android的API
Android API主要包含了以下几个部分:
(1) AndroidManifest。xml
AndroidManifest。xml是系统的控制文件,它告诉系统如何处理所创建的所有应用组件(尤其是活动(Activity),服务(Service),意图接收器(Intent Receiver)和内容提供者(Content Provider))。[1]
(2) 活动
活动是所有程序的根本,所有程序的流程都运行在Activity 之中,Activity可以算是开发者遇到的最频繁,也是Android 当中最基本的模块之一。[2]在Android的程序当中,Activity 一般代表手机屏幕的一屏。如果把手机比作一个浏览器,那么Activity就相当于一个网页。在Activity 当中可以添加一些Button、Check box 等控件。可以看到Activity 概念和网页的概念相当类似。
(3) 视图
Android提供了一些现成的视图。读者可以用它来设计和组织布局。“Widgets”就是视图,他提供一个可视的可交互的屏幕元素,如按钮,文本字段,复选框,或只是一个图象。“布局”是从 视图组 - ViewGroup 派生的,提供了对子视图特殊的布局模式,如线性布局,网格布局,或相对布局的视图组。还可以继承 视图类 - View 和 视图组 - ViewGroup (或现有的子类)来创建Widgets和布局,并将其应用到Activity布局中。
(4) 意图
意图(Intent)是一个将要执行的动作的抽象的描述,由Intent来协助完成android各个组件之间的通讯。比如调用Activity实例化对象的startActivity()来启动一个activity或者由broadcaseIntent()来传递给所有感兴趣的BroadcaseReceiver, 或者由startService()/bindservice()来启动一个后台的service。可见,intent主要用来启动activity或者service(并携带需要传递的参数信息),intent理解成activity之间的粘合剂。