`
wang_2011_ying
  • 浏览: 144699 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

Android应用程序结构介绍

 
阅读更多
首先介绍一下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应用工程中文件组成
  • 源文件,源文件都在src目录中;
  • R.java文件,这个文件是Eclipse自动生成的,R文件对开发者来说是没用的,但是对Android系统非常有用,在该文件中Android对下边即将介绍的资源进行了全局索引,如果res文件夹中的内容发生了改变,R.java会重新编译,同步更新;
  • Android Library,这个事应用运行的Android库;
  • assets目录,放置多媒体等一些文件;
  • res目录,放置应用到的资源文件:drawable里面放置用到的图片资源;layout里面放置用到的布局文件,这些文件都是xml的;values里面放置字符串文件(strings.xml)、颜色文件(colors.xml)、数组文件(arrays.xml);
  • AndroidManifest.xml,该文件是配置文件,在该文件中必须声明应用的名称,Activity,Service以及receiver,content provider;
分享到:
评论

相关推荐

    HelloWorld之Android应用程序详细结构介绍

    HelloWorld之Android应用程序详细结构介绍 HelloWorld之Android应用程序详细结构介绍HelloWorld之Android应用程序详细结构介绍

    Android 的应用程序结构分析:HelloActivity

    Android 的应用程序结构分析:HelloActivity

    Android应用程序设计 (张思民 编著) pdf

    《21世纪高等学校计算机基础实用规划教材:Android应用程序设计》是面向Android系统的初学者的入门教程,内容几乎涵盖了Android相关的所有技术。本书大致可以分成两个部分,第一部分(第1~4章)主要介绍Android SDK...

    Android经典应用程序开发

    全书由8章组成,涵盖了Android经典应用程序开发的各个方面,知识量巨大,技术要点清晰,结构紧凑而精炼。拥有本书后,结合Android公开的参考文档和示例代码,读者将可以基本掌握在Android经典应用层开发领域的所有...

    Google Android开发入门与实战.part1.rar

    6、android应用程序结构介绍 7、良好的学习开端 8、android的数据存储操作 9、Internet和Broadcast面对面 10、Service应用实例 11、开发android应用的基本步骤 12、android综合案例一 13、android综合案例二 14、...

    Google Android开发入门与实战.part2.rar

    6、android应用程序结构介绍 7、良好的学习开端 8、android的数据存储操作 9、Internet和Broadcast面对面 10、Service应用实例 11、开发android应用的基本步骤 12、android综合案例一 13、android综合案例二 14、...

    Google Android开发入门与实战.part3.rar

    6、android应用程序结构介绍 7、良好的学习开端 8、android的数据存储操作 9、Internet和Broadcast面对面 10、Service应用实例 11、开发android应用的基本步骤 12、android综合案例一 13、android综合案例二 14、...

    android 应用程序机制

    描述android系统结构和应用程序机制的资料

    Android系统结构和SDK使用;Android SDK的开发环境;Android应用程序的概述和框架;Android应用程序示例;Android应用程序的内容;Android的UI系统实现;视图组(ViewGroup)和布局(Layout)的使用

    Android系统结构和SDK使用;Android SDK的开发环境;Android应用程序的概述和框架;Android应用程序示例;Android应用程序的内容;Android的UI系统实现;视图组(ViewGroup)和布局(Layout)的使用

    android开发入门与实战(下)

    第6章 磨刀不误砍柴工——Android应用程序结构介绍 6.1 Android体系结构介绍 6.1.1 应用程序(Application) 6.1.2 应用程序框架(ApplicationFramework) 6.1.3 库(Libraries)和运行环境(RunTime) 6.2 Android应用程序...

    Android应用程序框架安全机制研究及改进

    面对恶意软件的威胁,Android 使用了一套应用程序安全框架来保护安全。本文以 Android 现有的安全机制为基础,通过研究当前安全机制的不足,分析恶意软件攻击的特点,提出了多个具体的安全扩展和保护方案,达到了较好的...

    android开发入门与实战(上)

    第6章 磨刀不误砍柴工——Android应用程序结构介绍 6.1 Android体系结构介绍 6.1.1 应用程序(Application) 6.1.2 应用程序框架(ApplicationFramework) 6.1.3 库(Libraries)和运行环境(RunTime) 6.2 Android应用程序...

    《Google Android开发入门与实战》.pdf

    第6章 磨刀不误砍柴工——android应用程序结构介绍 57 6.1 android体系结构介绍 57 6.1.1 应用程序(application) 57 6.1.2 应用程序框架(application framework) 58 6.1.3 库(libraries)和运行环境...

    android应用程序源码结构分析

    android应用程序源码结构分析

    Android应用源码45套安卓源码合集.zip

    Android应用源码(精)记事本小程序,加注释,适合阅读.rar Android应用源码Android平台下通过HTTP协议实现断点续传下载.rar Android应用源码Hibernate4Android.rar Android应用源码http、udp、tcp网络交互组件.rar ...

    Google.Android开发入门与实战

    第6章 磨刀不误砍柴工——Android应用程序结构介绍 6.1 Android体系结构介绍 6.1.1 应用程序(Application) 6.1.2 应用程序框架(ApplicationFramework) 6.1.3 库(Libraries)和运行环境(RunTime) 6.2 Android应用程序...

    Google Android开发入门实战 pdf 和 实例代码.part3

    第6章 磨刀不误砍柴工—Android应用程序结构介绍。介绍了Android程序的组成部分,让读者搞清楚整个程序是怎么组成,怎么运作的。通过本章学习,使得读者可以比较清楚地了解Android系统的架构组成部分。 第7章 良好的...

    Google Android开发入门实战 pdf 和 实例代码.part2

    第6章 磨刀不误砍柴工—Android应用程序结构介绍。介绍了Android程序的组成部分,让读者搞清楚整个程序是怎么组成,怎么运作的。通过本章学习,使得读者可以比较清楚地了解Android系统的架构组成部分。 第7章 良好的...

    Google Android开发入门实战 pdf 和 实例代码.part1

    第6章 磨刀不误砍柴工—Android应用程序结构介绍。介绍了Android程序的组成部分,让读者搞清楚整个程序是怎么组成,怎么运作的。通过本章学习,使得读者可以比较清楚地了解Android系统的架构组成部分。 第7章 良好的...

Global site tag (gtag.js) - Google Analytics