android应用程序结构是,Android应用程序结构介绍

《Android应用程序结构介绍》由会员分享,可在线阅读,更多相关《Android应用程序结构介绍(19页珍藏版)》请在人人文库网上搜索。

1、4 Android应用程序介绍,学习目标,掌握Android的体系结构 掌握Android应用文件的组成结构 掌握Android应用的逻辑组成,Android体系结构介绍,Android作为一个移动设备的开发平台,其软件层次结构包括了一个操作系统(OS),中间件(MiddleWare)和应用程序(Application). Android的软件层次结构由上到下可以分为: 应用程序(Application) 应用程序框架(Application Framework) 各种库(Libraries)和Android 运行环境(RunTime) 操作系统(OS,体系结构图,应用程序,Android的应。

2、用程序通常涉及用户界面和用户交互,这类程序是用户实实在在能感觉到的.Android目前采用JAVA开发.Android本身提供了桌面(Home),联系人(Contact),电话(Phone)和浏览器(Browers)等众多的核心应用.同时还允许开发者使用应用程序框架层的API实现自己的程序,应用程序框架,普通的开发者可以使用Android核心应用程序使用的系统API.Android的应用开发框架设计得非常精妙,通过该框架,各组件,服务都能被应用重复利用. 一组View(UI组件).这些组件包括列表(List)、文本框(textbox)、按钮(button)等。通过这些UI组件可以构建应用程序的。

3、视图部分。 Content Providers。它提供了一种机制,通过这种机制,应用程序可以实现数据的互访和共享。 Resource Manager。它负责管理非代码的访问。即资源文件的访问管理。 Notification Manager。它能让程序将自己的警示信息显示在状态栏上。例如:当有短信时,可以在状态栏上显示出新短信的信息。 Activity Manager。它管理着应用的生命周期,并且提供了应用页面退出的机制。在Android应用中,每个应用一般由多个页面组成,而每个页面的单位就是Activity。通俗的说,Android的应用是由多个Activity的交互构成的,库(Librari。

4、es)和运行环境 (RunTime,Android包含一些C/C+库,这些库能被Android系统中不同的组件使用。它们通过Android应用程序框架为开发者提供服务。以下是一些核心库: 系统C库。一个从BSD继承来的标准C系统函数库(libc),它是专门为基于嵌入式Linux的设备定制的。 媒体库。基于PacketVideo OpenCORE,该库支持多种常用的音频、视频格式回放和录制,同时支持静态图象文件。编码格式包括MPEG4、H.264、MP3、AAC、AMR、JPG、PNG。 Surface Manager。对显示子系统的管理,并且为多个应用程序提供了2D和3D图层的无缝融合。 Li。

5、bWebCore。一个最新的Web浏览器引擎,用来支持Android浏览器和一个可嵌入的Web视图。 SGL。底层的2D图形引擎。 3D libraries。基于OpenGL ES 1.O APIs实现,该库可以使用硬件3D加速(如果可用),或者使用高度优化的3D软加速,库(Libraries)和运行环境 (RunTime,FreeType。位图(bitmap)和矢量(vector)字体显示。 SQLite。一个对于所有应用程序可用,功能强大的轻型关系型数据库引擎。 Android包括了一个核心库,该核心库提供了JAVA编程语言核心库的大多数功能。 每一个Android应用程序都在它自己的进程。

6、中运行,都拥有一个独立的Dalvik虚拟机实例。 Dalvik被设计成一个设备,可以同时高效地运行多个虚拟系统。 Dalvik虚拟机执行(.dex)的Dalvik可执行文件,该格式文件针对小内存使用做了优化。同时虚拟机是基于寄存器的,所有的类都经由JAVA编译器编译,然后通过SDK中的“dx”工具转化成dex格式,由虚拟机执行。 Dalvik虚拟机依赖于Linux内核的一些功能,如:线程机制和底层内存管理机制。 Android的核心系统服务依赖于Linux2.6内核,如安全性、内存管理、进程管理、网络协议栈和驱动模型。Linux内核也同时作为硬件和软件栈之间的抽象层,Android应用程序组成。

7、,一般来说Android程序主要由下列4部分组成,它们分别是: Activity Broadcast Intent Receiver Service Content Provider 并不是说所有的程序都需要这4部分,例如上节课做的HelloMouse只涉及到Activity。 在Android项目里面有一个XML的描述文件,叫做AndroidManifest.xml。在这个文件里面需要申明用的上面4类组件名称,以及可能为每个组件的功能和需求进行必要的描述。打开第一个程序里面的AndroidManifest.xml文件,会看到一些系统自动生成的描述,Activity介绍,Activity是An。

8、droid中最基本的模块之一。在Android的程序中Activity代表手机屏幕的一屏。在Activity中,我们可以添加一些view,并且可以对这些View做一些事件的处理。 Activity的概念和网页的概念相当类似。一般一个Android应用是由多个Activity组成的,这多个Activity之间可以进行相互跳转,例如,按下一个Button按钮后,可能会跳转到其他的Activity。和网页跳转稍微有一些不一样的是, Activity之间的跳转有可能返回值,例如,从Activity A跳转到Activity B,那么当Activity B运行结束后,有可能会给Activity A一个返。

9、回值。 当打开一个新的屏幕时,之前一个屏幕会被置为暂停状态,并且压入历史堆栈中。用户可以通过回退操作返回到之前打开过的屏幕。我们可以选择性的移除一些没有必要保留的屏幕,因为Android会把每个应用的开始到当前每一个屏幕保存在堆栈中。 Activity是由Android系统进行维护的,它也有自己的生命周期,即它的一个产生、运行、销毁的周期,Intent和Intent Filters介绍,Intent: An Intentis an abstract description of an operation to be performed。 一个Intent就是一次对将要执行的操作的抽象描述。 通。

10、过Intent我们可以在多个Activity之间进行跳转。Intent中两个最重要的部分是Intent的动作(Action)和动作对应的数据(Data)。典型的动作类型有,MAIN( Activity 的门户、VIEW、PICK、EDIT等。而动作对应的数据则以URI的形式进行表示。 通过Intent也可以进行Activity的跳转。 例如:有两个Activity,一个是Activity A,另外一个是Activity B Intent in = new Intent(A.this,B.class); startActivity(in); 通过这两句代码,就可以实现从Activity A跳转到。

11、了Activity B,Intent和Intent Filters介绍,与Intent有关系的一个类叫Intent Filters。如果说Intent是一个有效请求,一个Intent Filters则用于描述一个Activity(或者Intent Filters)能够操作哪些Intent。一个Activity如果要显示一个人的联系方式时,需要声明一个Intent Filters,这个Intent Filters要知道怎么去处理VIEW动作和表示一个人的URI。 Intent Filters一般在AndroidManifest.xml中定义,Broadcast Intent Receiver介绍。

12、,可以使用BroadcastReceiver来让应用对一个外部的事件做出响应。 当电话呼入这个外部事件到来时 当下载一个程序成功完成时 。 BroadcastReceiver不能生成UI,对用户来说是隐式的。 BroadcastReceiver通过NotificationManager来通知用户这些事情发生了。 BroadcastReceiver既可以在AndroidManifest.xml中注册,也可以在运行时的代码中使用Context.registerReceiver()进行注册。只要是注册了,当事件来临时,即使程序没有启动,系统也在需要的时候启动程序。各种应用还可以通过使用Context。

13、.SendBroadcast()将它们自己的intent broadcasts广播给其他应用程序,Service介绍,Service是一种程序,它可以运行很长时间,但是它却没有用户界面。 比如:打开一个音乐播放器的程序,这个时候若想上网,那么我们打开Android的浏览器,这个时候虽然我们已经进入了浏览器这个程序,但是,歌曲的播放并没有停止,而是在后台继续一首接一首的播放。这里的播放就是由播放音乐的Service进行控制。当然这里播放音乐的Service也可以停止。 再例如:当播放列表里面的歌曲都结束,或者用户按下了停止音乐播放的快捷键等。 通过startService(Intent Serv。

14、ice)可以来启动一个Service,通过Context.bindService()可以绑定一个Service,Content Provider介绍,数据在Android当中是私有的。(文件,数据库及其他类型的数据) 既然数据私有,那两个程序之间难道就没有办法对于数据进行交换吗? 当然不是,这个问题由Content Provider来解决。 一个Content Provider类实现了一组标准的方法接口,从而能够让其他的应用保存或读取此Content Provider的各种数据类型。 也就是说,一个程序可以通过实现一个Content Provider的抽象接口将自己的数据暴露出去。外界根本看不。

15、到,也不用看到这个应用暴露的数据在应用当中是如何存储的,即用数据库存储还是用文件存储,还是通过网上获得,这些都不重要,重要的是外界可以通过这一套标准而统一的接口和程序里的数据打交道。可以读取程序的数据,也可以删除程序的数据,当然中间涉及一些权限的问题,Android应用工程文件组成,HelloMouse目录 Snake目录,Android应用工程文件组成,源文件(包含Acvitity)。源文件都在上面的src目录中。 R.java文件。这个文件是Eclipse自动生成的,应用开发者不需要修改里面的内容。R文件对应用开发者来说基本上没有什么用,但是对Android系统非常有用,在这个文件中,An。

16、droid对下面即将介绍的资源进行了全局索引。在下面介绍的res文件中,内容发生任何变化,R.java都会重新编译,同步更新。 Android Library。这个是应用运行的Android库。 Assets目录。在这个目录里主要放置多媒体等一些文件。 Res目录。这个目录主要放置应用用到的资源文件。下面3个目录进行存放。当这个目录当中的资源文件发生变化时,R文件的内容就会自动发生变化。 Drawable目录。这个目录里面主要放置应用到的图片资源。 Layout目录。这个目录里面主要放置用到的布局文件。这些布局文件都是XML文件,Android应用工程文件组成,Values目录。这个目录里面主要放置字符串(strings.xml)、颜色(colors.xml)、数组(arrays.xml)。 AndroidManifest.xml。这个文件相当重要,相当于应用的配置文件。在这个文件里面必须声明应用的名称,应用所用到的Activity,Service,以及receiver等,本章小结,本章从全局的角度对Android程序进行了介绍,首先介绍了Android的体系结构,然后在应用的代码级别介绍了Android的代码模块组成。 谢谢。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值