电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > DOCX文档下载
分享到微信 分享到微博 分享到QQ空间

Android系统架构和应用程序基本概念

  • 资源ID:53061405       资源大小:23.08KB        全文页数:7页
  • 资源格式: DOCX        下载积分:0金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要0金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

Android系统架构和应用程序基本概念

AndroidAndroid 系统架构和应用程序基本概念系统架构和应用程序基本概念对 Android 系统应用程序的基本架构进行一个详细了解,对于开发者来说能更有效的开发 Android 系统应用程序.对于一个 Android 应用程序来说,是由四种构造块组织而成的,这四种构造块如下:ActivityIntent ReceiverServiceContent Provider但是,并不是每一个 Android 系统应用程序都需要这四种构造块,这不是必须的,某些时候,我们只需要这四种中的几种组合成我们的应用。当我们明确了我们的应用需要哪些构造块后,我们就需要在 AndroidManifest.xml 中登记这些构造块的清单。这是一个 XML 配置文件,这个配置文件用于定义我们的应用程序的组件、组件的功能及必要条件等。这个配置文件是每个 Android 应用必需的。对于AndroidMainfest.xml 的 Schema,参考 SDK 包附带的文档。以下,我们对四种构造块做一些说明:1、ActivityActivity 是 Android 系统应用程序中构造块中最基本的一种,在应用中,一个 activity 通常就是一个单独的屏幕。每一个 activity 都被实现为一个独立的类,并且继承于 Activity 这个基类。这个 activity 类将会显示由几个 Views 控件组成的用户接口,并对事件做出响应。大部份的应用都会包含多个的屏幕。例如,一个短消息应用程序将会有一个屏幕用于显示联系人列表,第二个屏幕用于写短消息,同时还会有用于浏览旧短消息及进行系统设置的屏幕。每一个这样的屏幕,就是一个 activity。从一个屏幕导航到另一个屏幕是很简单的。在一些应用中,一个屏幕甚至会返回值给前一个屏幕。当一个新的屏幕打开后,前一个屏幕将会暂停,并保存在历史堆栈中。用户可以返回到历史堆栈中的前一个屏幕。当屏幕不再使用时,还可以从历史堆栈中删除。默认情况下,Android 将会保留从主屏幕到每一个应用的运行屏幕。Android 系统应用程序使用了 Intent 这个特殊类,实现在屏幕与屏幕之间移动。 Intent 类用于描述一个应用将会做什么事。在 Intent 的描述结构中,有两个最重要的部分:动作和动作对应的数据。典型的动作类型有:MAIN(activity 的门户)、VIEW、PICK、EDIT 等。而动作对应的数据则以 URI 的形式进行表示。例如:要查看一个人的联系方式,你需要创建一个动作类型为 VIEW 的 intent,以及一个表示这个人的 URI。与之有关系的一个类叫 IntentFilter。相对于 intent 是一个有效的做某事的请求,一个 intent filter 则用于描述一个 activity(或者 Intent Receiver)能够操作哪些intent。一个 activity 如果要显示一个人的联系方式时,需要声明一个 IntentFilter,这个 IntentFilter 要知道怎么去处理 VIEW 动作和表示一个人的 URI。IntentFilter 需要在 AndroidManifest.xml 中定义。通过解析各种 intent,从一个屏幕导航到另一个屏幕是很简单的。当向前导航时,activity 将会调用 startActivity(Intent myIntent)方法。然后,系统会在所有安装的应用程序中定义的 IntentFilter 中查找,找到最匹配 myIntent 的 Intent 对应的 activity。新的 activity 接收到 myIntent 的通知后,开始运行。当 startActivity 方法被调用将触发解析 myIntent 的动作,这个机制提供了两个关键好处:A、Activities 能够重复利用从其它组件中以 Intent 的形式产生的一个请求;B、Activities 可以在任何时候被一个具有相同 IntentFilter 的新的 Activity 取代。2、Intent Receiver当你希望你的应用能够对一个外部的事件(如当电话呼入时,或者数据网络可用时,或者到了晚上时)做出响应,你可以使用一个 Intent Receiver。虽然 Intent Receiver在感兴趣的事件发生时,会使用 NotificationManager 通知用户,但它并不能生成一个UI。Intent Receiver 在 AndroidManifest.xml 中注册,但也可以在代码中使用 Context.registerReceiver()进行注册。当一个 intent receiver 被触发时,你的应用不必对请求调用 intent receiver,系统会在需要的时候启动你的应用。各种应用还可以通过使用 Context.broadcastIntent()将它们自己的 intent receiver 广播给其它应用程序。3、Service一个 Service 是一段长生命周期的,没有用户界面的程序。比较好的一个例子就是一个正在从播放列表中播放歌曲的媒体播放器。在一个媒体播放器的应用中,应该会有多个activity,让使用者可以选择歌曲并播放歌曲。然而,音乐重放这个功能并没有对应的activity,因为使用者当然会认为在导航到其它屏幕时音乐应该还在播放的。在这个例子中,媒体播放器这个 activity 会使用 Context.startService()来启动一个 service,从而可以在后台保持音乐的播放。同时,系统也将保持这个 service 一直执行,直到这个service 运行结束。另外,我们还可以通过使用 Context.bindService()方法,连接到一个service 上(如果这个 service 还没有运行将启动它)。当连接到一个 service 之后,我们还可以 service 提供的接口与它进行通讯。拿媒体播放器这个例子来说,我们还可以进行暂停、重播等操作。4、Content ProviderAndroid 系统应用程序能够将它们的数据保存到文件中、SQL 数据库中,甚至是任何有效的设备中。当你想将你的应用数据与其它的应用共享时,Content Provider 将会很有用。一个 Content Provider 类实现了一组标准的方法,从而能够让其它的应用保存或读取此Content Provider 处理的各种数据类型。Android 开发平台的架构模型,Google 官方已经用一个很简单的结构图清晰的进行了说明,简单来说 Android 开发平台就是 Linux + Google 在其上自己开发的 Java 虚拟机和运行时 + Android SDK 构成,这些内容供我们了解就可以了。就开发一个完整的 Android应用来说,我将对我们十分重要而 Google 官方文档又说的有些复杂的,关于一个完整的Android 程序的静态组成模型,和动态运行时模型,整理成了一张图形如下,我们就从这张图说起:先看的 Activity,这个组件我们可以认为它是 Windows 中的窗体概念,这是 Android 程序的基本组成部分,也就是程序的人机交互界面。比如一个简单的短信程序就应该包含三个Activity,一个短信列表界面,一个阅读短信详细内容的界面和一个编辑短信的界面。先来看图形中的灰色部分,这部分描述了一个完整的 Android 应用程序可以包含的各个组成部分,我们将组成一个 Android 程序的组件称为 Android Component(图中中间部分的基类),由若干个 Android Component 就组成了一个完整的 Android 应用程序。图中左上角的 Service 顾名思议就是服务,一个 Android 程序中哪些部分是服务呢?举例来说,短信程序并不只是在我们打开短信界面的时候才去收取短信,我们退出界面后,手机仍然会去收取短信,并在新的短信到达时通知我们,所以一定有某个任务在后台运行着,这就是 Service 了;再比如说音乐播放功能,当我们从播放界面返回手机待机界面的时候仍然可以继续听音乐,这也是一个 Service 的例子。其实 Activity + Service 是非常常见的手机软件应用,比如我要做的 BlogMessage 同样也是这样的结构。捕鱼游戏 http:/www.44771.net左边中间部分的“Broadcast Receiver”是用于接收各种系统定义事件或自定义事件的接收器,如果我们的程序想侦测一些系统事件的发生,我们就需要写一个 Broadcast Receiver。例如我们的程序想在手机打开 Wifi 的时候立即去刷新最新的数据,或者我们想在手机来电时执行某个动作,这些都可以由 Broadcast Receiver 订阅特定的事件来完成。图中左边剩下的“Content Provider”,我们可以把它理解成一种特殊的 Service,一种可以给其他程序提供数据的 Service,例如手机中的联系人信息,我们任何程序都可以和其通信去获取联系人的信息,这就可实现为一个典型的 Content Provider。再来看图中蓝色的部分,这是一个静态的部署概念,就如同我们.Net 开发的程序集的概念一样。Apk 是我们 Android 程序发布和部署的基本单位,一个完整的 Android 程序就可以打包为一个或多个 Apk 进行发布,我们从 Android Marketing 上下载安装的程序也是一个个的 Apk 包,我们在 Eclipse 中的一个 Project 的最终 Build 结果也就是一个 Apk 文件。一个 Apk 中包含了上面介绍的 4 种 Android Component。最后,图中黄色的部分就是系统运行时的概念了。由于 Android 平台是基于 Linux 的,所以 Process(进程)和 Thread(线程)的概念和 Linux 中的一致,在代码中我们可以编写一个普通的 Java Thread 来实现多线程。需要注意的是,Android 中的 Process 是受系统自动管理的,并不是说我们在一个程序界面中按了手机上的 Back 键或者 Home 键程序就结束了,大家也很难在 Android 的各种程序中找到类似 Symbian 程序中的“退出”功能。Android 系统会给每一个进程都计算出一个“重要程度”等级,在系统运行的某个时候例如资源不足的时候,系统会根据各个进程的“重要程度”来决定先释放哪个进程。(进程“重要程度”的判断在 Google 的官方文档还是说的比较清楚的,实际上各个Android Component 都有很完整的运行时生命周期,由于我们不太清楚进程结束的时机,了解各个 Android Component 的运行时生命周期以及相关事件就对我们的开发来说非常重要,我会陆续在后续的手记中详细阐述这些内容)。一个 Apk 中包含的 Android Component 在运行时可以运行在同一个进程中,也可以运行在不同的进程中,这取决于我们在 Apk 的 AndroidManifest.xml 上进行的配置(大家可以将这个 AndroidManifest.xml看成是 Apk 的全局配制信息,其中会描述这个 Apk 中包含了哪些 Android Component 以及各个 Component 的运行和启动方式)。最后,图中下面中间部分的“Task”是 Android 中一个很特殊的运行时概念,也是很复杂的一个概念,Google 的官方文档用了很大的篇幅来说明这个概念。它有别于进程和线程,并且只和 Activity 的运行时有关系。我们可以将其理解成“窗口栈”,这是由手机上的特殊操作方式所引出的概念。由于手机上的程序,用户一般只能在同一时间看到一个界面,例如在编辑短信的时候一般就不能看到短信列表的界面。而一个完整的程序一般会由多个 Activity

注意事项

本文(Android系统架构和应用程序基本概念)为本站会员(m****)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。

分享当前资源【Android系统架构和应用程序基本概念】到朋友圈,您即可以免费下载此资源!
微信扫一扫分享到朋友圈
二维码
操作提示:任选上面一个二维码,打开微信,点击“发现”使用“扫一扫”,即可将选择的网页分享到朋友圈
您可能感兴趣的------------------------------------------------------------------------------------------------------



关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.