首先介绍一下Android体系结构,如果有不对的地方望指正!
Android作为一个移动开发平台,其软件结构自下而上可以分为几次几个层次:
操作系统(os),中间件(MiddleWare),应用程序(Application),其中,MiddleWare包括了各种库(Libraries)和Android运行环境以及应用程序框架(Application Framework)
1.应用程序(Application)
Android本身提供了桌面(Home),联系人(Contact),电话(Phone)和浏览器(Browers)等核心应用,应用程序开发者可以利用应用程序框架层的API实现自己的程序。
2.应用程序框架(Application Framework)
下面介绍一下每个应用程序可能会使用到的应用框架的部分:
- 一组Views(UI组件),这些UI组件包括列表(List),文本框(textbox),按钮(button)等,通过这些UI组件可以构建应用程序的视图部分;
- Content Providers,其提供一种机制,通过这种机制,应用程序可以实现数据的互访和共享;
- Resource Manger,它负责管理非代码的访问,如图片资源,设计布局的XML文件及国际化的字符串等;
- Notification Manager,它能让程序将自己的警示信息显示在状态栏上,例如有短信的时候;
- Activity Manager,它管理应用程序的生命周期,并且提供了应用页面退出机制在Android应用中每一个应用一般是由多个页面组成的,每一个页面的单位都是Activity,也就是说Android的应用程序是由多个Activity的交互构成的;
3.库(Libraries)和运行环境(RunTime)
这部分开始涉及底层,与应用程序的关系不是很密切。
Android中包含一些C/C++库,这些库可以被Android系统中不同的组件使用,通过Android应用程序框架为开发者提供服务,一下是一些核心库:
系统C库、媒体库、LibWebCore等。
Android包括了一个核心库,该库提供了java编程语言核心库的大多数功能。
4.操作系统(os)
每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。Dalvik依赖于Linux内核的一些功能,例如,线程机制和底层内存管理机制。
其次是Android应用程序组成
一个Android程序有四个部分组成:Activity、Broadcast Intent Receiver、Service、Content Provider。并不是每一个程序都是由这四部分组成的,例如HelloWorld只涉及了Activity。在Android中有一个叫做AndroidManifest.xml,在这个文件中需要申明用到的上面四类组件名称,以及可能为每一个组件的功能和需求进行必要的描述。下面分别介绍一下这四个组件:
1、Activity
它是Android中最基本的模块之一,Activity一般代表手机屏幕的一屏。
Activity相当于一个UI的容器,在Activity中可以添加一些View,并对这些View做一些事件处理,例如加一些Button,Check box等,按一下button可以实现Activity之间的跳转,和网页跳转不同的是Activity之间的跳转可能会有返回值。Android会把每一个应用程序的Activity都保存在堆栈中。
Intent就是一次对将要执行的操作的抽象描述,Intent最常用的作用是通过Intent可以实现多个Activity之间的跳转,Intent中重要的部分是Intent动作(Action)和动作对应的数据(Data),典型的动作有:MAIN(Activity的门户)、VIEW、PICK、EDIT等而动作对应的数据则以URI的形式进行标示,例如查看一个人的联系方式,需要创建一个VIEW动作的Intent,以及这个人的URI,下面代码是实现两个Activity之间的跳转(A跳转到B):
Intent in = new Intent(A.this,B.class);//指定Intent要启动的类
startActivity(int);//启动一个新的Activity
A.this.finish();//关闭当前的Activity
与Intent有关的类叫做Intent Filters,一个Intent Filters用于描述一个Activity可以操作哪些Intent,一个Activity如果需要显示一个人的联系方式,需要声明一个Intent Filters,这个Intent Filters要知道如何处理VIEW动作和表示一个人的URI,Intent Filters一般在AndroidManifest.xml中定义。
2、Broadcast Intent Receiver
利用它可以让应用对一个外部事件做出响应。例如来电或是下载成功后,需要利用BroadcastReceiver进行处理,它通过Notification Manager来通知用户这些事发生了!BroadcastReceiver既可以在AndroidManifest.xml中注册,也可以在运行时的代码中使用Context.registerReceiver()进行注册;各种应用程序可以通过使用Context.sendBroadcast()将他们自己的intent broadcasts广播给其他应用程序。
3、Service
举个例子:打开一个新的应用程序原来的应用程序仍在进行,这就是通过Service进行控制的。通过startService(Intent service)可以启动一个Service,通过Context.bindService()可以绑定一个Service。
4、Content Provider
数据在Android中是私有的,Content Provider类实现了一组标准的方法接口,从而能够让其他应用程序保存和读取此Content Provider的各种数据。下面列举一些常见的接口:
query(Uri,String[],String,String[],String)通过关键字查询数据
insert(Uri,ContentValues)将一组数据插入到指定的地方
update(Uri,ContentValues,String,String[])更新数据
delete(Uri,String,String[])删除数据
最后介绍一下Android应用工程中文件组成
- R.java文件,这个文件是Eclipse自动生成的,R文件对开发者来说是没用的,但是对Android系统非常有用,在该文件中Android对下边即将介绍的资源进行了全局索引,如果res文件夹中的内容发生了改变,R.java会重新编译,同步更新;
- Android Library,这个事应用运行的Android库;
- res目录,放置应用到的资源文件:drawable里面放置用到的图片资源;layout里面放置用到的布局文件,这些文件都是xml的;values里面放置字符串文件(strings.xml)、颜色文件(colors.xml)、数组文件(arrays.xml);
- AndroidManifest.xml,该文件是配置文件,在该文件中必须声明应用的名称,Activity,Service以及receiver,content provider;
分享到:
相关推荐
【Android应用程序详细结构介绍】 Android应用程序的开发通常在Eclipse集成开发环境中进行,它提供了便捷的工具来创建和管理Android项目。"HelloWorld"作为入门级的程序,可以帮助初学者理解Android应用程序的基本...
### Android的应用程序结构分析:HelloActivity #### 一、引言 在Android开发领域,理解一个应用程序的基本结构至关重要。本文将以“HelloActivity”为例,详细剖析Android应用程序的组成及其内部结构,帮助读者...
### Android应用程序开发知识点详解 #### 一、Android概述 Android是一种基于Linux内核的开源移动设备操作系统,由Google公司和开放手机联盟领导及开发。它主要用于触摸操作的手持设备上,如智能手机和平板电脑等...
这个压缩包包含了88个Android应用程序的源代码样本,这些样本覆盖了各种功能和应用场景,对于Android开发者来说,它们是宝贵的参考资料和学习工具。 1. **手势识别**(GestureRecogniseSample): 手势识别是...
《21世纪高等学校计算机基础实用规划教材:Android应用程序设计》是面向Android系统的初学者的入门教程,内容几乎涵盖了Android相关的所有技术。本书大致可以分成两个部分,第一部分(第1~4章)主要介绍Android SDK...
【Android应用程序开发】是IT领域中的一个重要分支,主要关注如何在Android操作系统上构建和设计交互式的移动应用。Android系统基于Linux内核,由Google主导并开放源码,为开发者提供了丰富的API和工具来创建功能...
2. 应用程序目录结构管理:Android 桌面应用程序需要了解应用程序的目录结构,包括应用程序的安装、卸载、更新等操作。 3. Intent 机制:Android 桌面应用程序使用 Intent 机制来实现组件之间的交互,包括 Activity...
全书由8章组成,涵盖了Android经典应用程序开发的各个方面,知识量巨大,技术要点清晰,结构紧凑而精炼。拥有本书后,结合Android公开的参考文档和示例代码,读者将可以基本掌握在Android经典应用层开发领域的所有...
这篇文章将逐步揭示Android应用程序背后的设计思想,从基本的 APK 文件结构到更复杂的系统组件和编程模型。 首先,让我们深入了解 APK 文件。APK 是 Android 应用程序的基本打包格式,实质上是一个被压缩的 ZIP ...
总结来说,《Android应用程序:宅男志全集》展示了Android应用开发的多方面知识,包括开发工具、版本控制、APK结构、应用分发、功能设计、隐私保护、用户体验和用户反馈等。对于用户而言,理解这些概念有助于更安全...
6、android应用程序结构介绍 7、良好的学习开端 8、android的数据存储操作 9、Internet和Broadcast面对面 10、Service应用实例 11、开发android应用的基本步骤 12、android综合案例一 13、android综合案例二 14、...
6、android应用程序结构介绍 7、良好的学习开端 8、android的数据存储操作 9、Internet和Broadcast面对面 10、Service应用实例 11、开发android应用的基本步骤 12、android综合案例一 13、android综合案例二 14、...
6、android应用程序结构介绍 7、良好的学习开端 8、android的数据存储操作 9、Internet和Broadcast面对面 10、Service应用实例 11、开发android应用的基本步骤 12、android综合案例一 13、android综合案例二 14、...
本文提供了一份详细的 Android 移动应用开发习题答案,涵盖 Android 开发环境搭建、模拟器创建、Android Studio 的组成结构与基本操作、Android 应用程序创建和运行等多个方面。这些知识点对于掌握 Android 移动应用...
在Android应用程序开发领域,这本书的源码提供了丰富的学习材料,涵盖了多个关键知识点。以下是各章节内容的详细解析: 第3章《第一个Android程序》:这一章通常会介绍Android开发环境的搭建,包括安装Android ...
每个Android应用程序都遵循一定的结构,主要包括: - **src/main/java**:存放应用程序的Java源代码。 - **src/main/res**:存放应用程序的资源文件,如布局文件、图片、字符串资源等。 - **AndroidManifest.xml**...
在Android中,MVC(Model-View-Controller)设计模式是一种广泛应用于创建应用程序结构的方式,尤其是在UI设计中。 **1. Model(模型)** 模型层是应用程序中负责数据处理和业务逻辑的部分。在Android中,模型通常...
【标题】"Android应用程序开发源码40例"是一份包含多个实际项目源代码的集合,旨在帮助开发者深入了解Android应用的构建过程。这些源码涵盖了各种功能和应用场景,是学习和提升Android编程技能的理想资源。 【描述...
首先,让我们了解一下Android应用程序的基本结构。一个标准的Android应用通常由以下几个主要组件构成: 1. **Activity**:这是应用程序的主要入口点,代表用户界面的一个屏幕。每个用户可见的操作通常都在一个...
以上是对Android应用程序源代码的基本知识点介绍,实际开发过程中,开发者还需要掌握更多高级特性,如动画、多线程、单元测试、依赖注入、热更新等,以便创建功能丰富、性能优秀的Android应用。