Android文档学习01_Android基础

  • 一旦安装到了一个设备,每个应用生存在它自己的安全沙箱
  • 系统给每个应用分配一个独立的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基础

时间: 2024-10-18 23:14:21

Android文档学习01_Android基础的相关文章

Android文档学习02_屏幕分辨率

应当以矢量图的格式来制作原始图片资源,然后根据下面的缩放尺寸生成每一种分辨率的图片: 特高分辨率xhdpi: 2.0 高分辨率hdpi: 1.5 中分辨率mdpi: 1.0 (基准) 低分辨率ldpi: 0.75 低分辨率(ldpi)的资源并不总是必需的.当你提供高分辨率资源时,系统将把它们对半缩放来适配低分辨率设备. 超大屏幕至少960dp x720dp 大屏幕至少640dp x480dp 标准屏幕至少470dp x320dp 小屏幕至少426dp x320dp 维护密度无关系性很重要,因为,

Android文档 学习目录

Building Your First App After you've installed the Android SDK, start with this class to learn the basics about Android app development. Creating an Android Project Running Your Application Building a Simple User Interface Starting Another Activity A

EasyUI文档学习心得

概述 jQuery EasyUI 是一组基于jQuery 的UI 插件集合,它可以让开发者在几乎完全不需要CSS以及复杂的JS代码情况下完成美观且功能强大的Web界面. 本文主要说明一些如何利用EasyUI文档快速学习的心得.官网文档介绍的比较详细,也可以使用中文文档.各版本中文文档地址: http://download.csdn.net/album/detail/343 为什么说几乎不需要CSS? EasyUI中自带了各个组件的CSS样式,并且有多种主题可选.即使默认提供的几种主题不能满足需要

Spring3.0官网文档学习笔记(一)

Part 1 Spring框架概述 Spring是模块化的,在应用中只需要引入你所需要用到的模块的jar包,其余的jar包不用引入. spring框架支持声明式的事务管理,通过RMI或web service访问你的逻辑,还有许多种方式保存数据. spring被设计成非侵入式的. 1.Spring框架简介 Spring框架提供了应用开发的基础部分,使得我们可以集中精神在业务开发层上. POJOS:plain old Java objects Spring允许创建非侵入式的POJO.这个特性支持Ja

20140602-XML之Schema文档学习笔记

20140602-XML之Schema文档学习笔记 一.Schema约束 几个重要知识: 1.namespace 相当于schema文件的id.Namespace是一个概念,并没有这个属性. 2.targetNamespace属性 注意:这个属性只在schema文档中出现.用来指定schema文档的namespace的值. 3.xmlns属性(非常重要,用于引入一个约束) 引入一个约束,它的值是一个schema文档的targetNamespace值(确切地说,是targetNamespace的属

Spring3.0官网文档学习笔记(五)--3.3

3.3 概述 Table 3.1. The bean definition Property Explained in... class Section 3.3.2, "Instantiating beans" name Section 3.3.1, "Naming beans" scope Section 3.5, "Bean scopes" constructor arguments Section 3.4.1, "Dependen

Spring3.0官网文档学习笔记(六)--3.4.1

3.4 依赖 3.4.1 依赖注入 依赖注入两种方式:基于构造器的DI.基于setter方法的DI. 3.4.1.1 基于构造器的DI 参数是引入对象,且之前不存在父-子类关系: package x.y; public class Foo { public Foo(Bar bar, Baz baz) { // ... } } <beans> <bean id="foo" class="x.y.Foo"> <constructor-arg

Spring3.0官网文档学习笔记(七)--3.4.2

3.4.2 依赖与配置的细节 3.4.2.1  Straight values (primitives, Strings, and so on) JavaBeans PropertyEditors被用来转换这些value到实际的类型.? <bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <

Spring3.0官网文档学习笔记(四)--3.1~3.2.3

3.1 Spring IoC容器与Beans简介 BeanFactory接口提供对任意对象的配置: ApplicationContext是BeanFactory的子接口,整合了Spring Aop功能,消息资源控制,事件发布,应用层特殊的上下文(在web应用中) 由IoC容器实例化.组装.管理的对象都是Bean 3.2 容器概述 org.springframework.context.ApplicationContext代表Spring IoC容器,并且负责通过读取配置元数据来实例化.配置.组装