安卓应用的基本原理.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
安卓应用的基本原理

应用基础-Application Fundamentals ??? Android应用程序以java作为开发语言。用Android SDK 提供的工具,可以将应用程序所需要的数据和资源文件打包到一个android包文件中,这个文件用.apk作为扩展名。所有代码都在单个.apk文件中,当成一个应用,这个文件就是通常安装在Android设备中的应用. 一旦安装到了一个设备,每个应用生存在它自己的安全沙箱中。 ?? 一个Android系统是一个多用户的Linux系统,其中的每个应用都是一个不同的用户。 ?? 默认情况下,系统给每个应用分配一个独立的Linux用户ID(这个ID只由系统使用并且对应用来说是不可知的),系统给在某个应用中的所有文件设置了权限,所以只有分配了那个用户ID的应用才能访问它们 ?? 每个进程拥有它自己的虚拟机,所以一个应用代码的运行,与其他应用代码的运行是隔离的. ?? 默认情况下,每个应用程序均运行于它自己的Linux进程中。当应用程序中的任意代码开始执行时,Android启动一个进程,而当不再需要此进程而其它应用程序又需要系统资源时,则关闭这个进程。 ?? 通过这种方法,Android系统实现了最小特权原则。默认,每个应用仅仅访问需要工作的组件,并不多做其他的事。这样创建了一个非常安全的环境,应用不能访问系统没有授权的其他部分. ?? 然而,应用可以有多种方法来与其他应用,共享数据及访问系统服务: ?? 有可能安排两个应用共用一个linux系统ID,在那种情况下,它们能互相访问相互的数据。为了节约系统资源,拥用相同用户ID的应用,可能也被安排运行在同一个Linux进程中并共享相同的VM(应用必须被签名成同样的认证)。 ?? 所用应用能请求允许访问硬件数据,(计算机培训学校/)比如像用户通信录,SMS消息及可挂载的存储设备(SD card),摄像头,蓝牙等,所有应用的权限必须在用户安装时被许可。 ?? 上述了一个应用怎样存在于一个系统中的相关基本概念,这个文档的其他部分将向你介绍如下 内容: 定义在你的应用中核心框架组件 在manifest中,给你的应用,声明组件及设备特点请求 独立于应用代码的资源,可以让你的应用极大的优化它在各种配置设备的表现 应用组件-Application Components ??? 应用组件是构建Android应用程序的关键和基石。 每个组件是一个不同的入点,系统可以从这些点进入到你的应用。对于用户来说,并不是每个组件都是实际的入点,但它们之间有一些依赖.但是每一个存在的组件都有它自己的一个入点,并扮演一个特定的角色--每一个都是独一无二的构建块,帮助你定义你的应用的整体行为. ??? 有四个不同类型的应用组件,每个类型服务于一个不同的目的,并有不同的生命周期,生命周期定义了如何创建和销毁它. 下面是四种应用组件: Activities活动 ??? 一个activity在一个屏幕,显示一个用户接口.比如,一个email应用可能有一个activity,这个activity用于显示新的email列表.而另一个activity用于写邮件,还有一个activity用于读取邮件.虽然这些activities一起工作于email应用中,形成一个完整的用户体验但每一个部分又是相互独立的.正因如此,不同的应才能启动这些活动的任意一个(如个email应用允许它).比如,一个照相的应用,能开启一个email应用中写封新邮件的活动,让用户分享一张照片. ??? 一个activity被当作Activity的子类来实现的,在Activities开发指南中,你可以学到更多关于它的使用 Services服务 ??? 一个service是长期运行在后台,执行操作的组件,甚至可以为远程进程工作.一个服务不提供用户界面.比如,当用户在其他应用中时,一个服务可能在后台播放音乐,或者在后台获取数据,这并不影响用户跟其他的活动进行交互操作.其他的组件,比如一个activity,可以启动一个服务,并可以让它运行或者邦定到这个activity,以便与其进行交互操作. ??? 一个服务是作为Service子类来实现的,在Services开发指南中,你能学到更多关于它的使用 Content providers 内容提供者 ??? 一个content provider管理共享的应用数据集.你可以把数据存在文件系统中,一个SQLite数据库中,网上,或你应用可以访问的永久存储器中.通过内容提供者,其他的应用可以查询甚至修改数据(如果内容提供者允许的话).(郑州北大青鸟/) 比如,Android系统提供一个内容提供者管理用户通信录信息.因此,任何拥用适当权限的应用,可以查询内容提供者的部分来(比如ContactsContract.Dat

文档评论(0)

zhuliyan1314 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档