Android基础

来源:互联网 发布:p2p网络投资理财 编辑:程序博客网 时间:2024/05/01 03:47

基础

  • Android的 SDK 工具编译代码是以任意数据并将相关资源报打成包 包以 .apk 为后缀的 压缩文件。这就是所谓的安装包。

  • Android操作系统是一个多用户的Linux系统,其中的每一个应用程序都是一个独立的用户。

  • 默认地,系统会为每一个应用程序分配一个唯一的Linux用户ID(这个ID只能被系统使用,并且对于应用程序来说,这个ID是未知的)。系统为一个应用程序的所有文件 设置了权限,所以,只有分配给这个应用程序的用户ID可以访问它们。

  • 每一个进程有它主机的虚拟机 (VM), 所以一个应用程序的代码会独立与其它的应用程序运行。

  • 默认地,每一个应用程序在它自己的Linux进程中运行。Android会在一个应用程序的任何一个组件需要被调用的时候启动这个进程。然后,当没有任何组件被调用或者系统需要为其它应用程序回收内存的时候,就会 关闭这个进程。

  • 为两个应用程序分配同一个Linux用户ID是可行的,这样它们就能访问对方的文件。为了节约系统资源,拥有相同用户ID的应用程序也可以被运行于相同的Linux进程 并且共享VM(它们必须用相同的证书签名)。

  • 应用程序可以通过请求权限来访问设备数据,例如联系人,SMS信息,可插拔存储(SD卡),相机,蓝牙,等等。所有的应用程序权限必须在安装的时候由用户授予。

四大组件

Activity

 一个 activity 为一个用户交互提供一个单独的界面。

Service

一个 service是一个运行在后台的组件。

Content provider

一个content provider负责管理应用程序的数据共享集。

Broadcast receiver

broadcast receiver 是一个用来响应系统范围内的广播的组件。

激活组件

一个intent使用一个Intent 对象来创建, 它用于激活一个指定的或者指定类型的组件。一个intent可以分别是显示的或者隐式的。
  • 可以启动一个activity(或者让它来做一些新的工作)通过传递一个Intent给startActivity() 或者 startActivityForResult() (当你想让一个activity为你返回一个结果)。

  • 可以启动一个service(或者给一个正在运行的service发送新的指令)通过传递一个 Intent 给 startService()。 或者你可以绑定一个服务通过传递一个Intent 给 bindService()

  • 可以初始化一个broadcast通过传递一个Intent给一些方法像 sendBroadcast(), sendOrderedBroadcast(), 或者 sendStickyBroadcast()。

  • 可以让content provider执行一个查询操作通过调用 ContentResolver的query() 方法。

API

1 0
原创粉丝点击