码迷,mamicode.com
首页 > 移动开发 > 详细

Android文档学习01_Android基础

时间:2014-05-30 07:06:32      阅读:237      评论:0      收藏:0      [点我收藏+]

标签:android   c   style   a   ext   color   

  • 旦安装到了一个设备,每个应用生存在它自己的安全沙箱
  • 系统给每个应用分配一个独立的Linux用户ID(这个ID只由系统使用并且对应用来说是不可知的)
  • Android系统实现了最小特权原则。默认,每个应用仅仅访问需要工作的组件,并不多做其他的事。这样创建了一个非常安全的环境,应用不能访问系统没有授权的其他部分
  • 有可能安排两个应用共用一个linux系统ID,在那种情况下,它们能互相访问相互的数据。为了节约系统资源,拥用相同用户ID的应用,可能也被安排运行在同一个Linux进程中并共享相同的VM(应用必须被签名成同样的认证)。
 
  • 一个service是长期运行在后台,执行操作的组件,甚至可以为远程进程工作
  • 广播接收者,不能显示用户界面,但当一个广播事件发生时,它们可以创建一个状态通知器,去提醒用户.但更多情况下,一个广播接收者只是一个其他组件,想要做极小量事件的一个"gateway”(途径).举例,它可能发起一个服务,去执行关于某个事件的一些工作.
  • 任何一个应用能启动另一个其他应用的组件,是Android系统设计独一无二的方面(aspect)
  • 不像大多数其他的系统的应用,Android应用,没有单个的入点(比如没有main()函数).
  • 你的应用不能直接访问其他应用中的组件.但时,Android系统也能激活其他应用的组件.你必须传一个消息给系统,指定你想要启动的组件,然后系统为你激活这个组件
  • 4个组件中的其中三个组件---activities,serivces,和broadcast receivers----是被叫做intent的异步消息激活的.在运行时,Intents把某个的组件与其他的组件互相绑定,而不管这个组件是否属于你的应用还是其他的应用(你可以把它们想像成一个消息,用于请求一个其他组件的动作).
  • 内容提供者,不会被intents所激活.进一步讲,它是内容解释者(ContentResolver)所请求的目标所激活的.内容解释者,处理所有与内容提供者的直接交换.所以组件不需要执行与提供者交换,而是调用ContentResolver对象方法.(这一句不好理解。)为了安全起见,组件请求信息与内容提供者之间有一个抽象层
  • 可以通过使用sendBroadcast(), sendOrderedBroadcast(), 或者 sendStickyBroadcast()三种方法来广播一个intent
  • Activites,services和内容提供者,若没有在manifest中声明,对系统来说是不可见的,即将永远不会运行。但是,广播接收者即可以在manifest中声明,也可以在代码中动态创建(做为BroadcastReceiver对象)并且通过registerReceiver()方法向系统注册。
  • 在你的manifest文件中用<supports-screens> 元素声明,以明确指出你的应用支持的屏幕尺寸.屏幕大小:小,正常,大和极大  屏幕密度:低密度,中密度,高密度,和极高密度
  • 如果你的应用必须要一个特别的输入硬件,那么你应在你的应用中使用<uses-configuration>元素声明.但时,应用必须要一个特别的输入配置的情况是极少的
  • 比如照相机,光敏器件,蓝牙,或某个版本的OpenGL,或者触模屏的精度,你应该用 <uses-feature>元素声明你的应用支持的特征
  • 你应该用<uses-sdk>元素,声明最小API级别,这样就指出了那些API将被采用.
  • 为你的应用声明所有必要性的要求非常重要.因为,当你把你的应用发布到Android市场.市场,将用这些声明信息来过滤出,那些应用在每个设备是可用的. 同样,你的应用应该只能在满足所有你应用需求的设备上才可用

Android文档学习01_Android基础,布布扣,bubuko.com

Android文档学习01_Android基础

标签:android   c   style   a   ext   color   

原文地址:http://www.cnblogs.com/larryee/p/3756956.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!