android基础知识

本文介绍了Android应用程序的基本架构,包括使用Java语言编写的源代码如何被编译为APK文件,以及Android系统的安全性特点。深入探讨了四大组件(Activity、Service、ContentProvider、BroadcastReceiver)的功能与交互方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



android程序使用用java语言进行编写的,android sdk工具把代码,数据,资源共同编译成一个
android安装包,以.apk后缀结尾。所有的代码被包进单个的.apk文件中,android设备课可以直接
安装apk程序。


Once installed on a device, each Android application lives in its own security sandbox:
程序安装到设备上之后,每一个android程序都有一个单独的安全沙箱:
1.android操作系统是一个多用户的Linux系统,每个程序分配一个单独的user。
2.默认情况下,系统分配给每个程序一个单独的Linux user ID,这个ID只能被系统使用,程序不可见。
系统为把每个文件都设置了访问权限,因此只有user ID 被分配给这个程序,才能去访问这些文件。
3.每个进程都有自己的虚拟机实例,因此程序代码都是单独运行的。
4.默认情况下,每个程序运行在自己的LInux进程中。android开始进程的时候是在程序组件需要执行的时候。
结束进程的时候是:当程序不需要再执行的时候,或者系统为其他程序回收内存的时候。


android系统采取最小特权原则。没有分配访问某资源的权限,就无权访问某资源。


当然,程序之间也可以共享数据,可以使用系统的服务。


1.两个程序共享相同的LInux user ID,他们之间可以相互访问各自的文件。为了节省系统资源,
有相同user ID的程序可以运行在相同的Linux进程,可以共享同一个VM实例(两个程序必须用同意一个签名)
2. 程序可以通过请求访问权限去访问要访问的资源,比如用户的通讯录,短信息,外存储,相机,蓝牙等。
这些权限必须是在程序安装的时候由用户授予。
 
 应用程序组件是android程序的基本组成部分。
 四大程序组件:
 1.Activity
  activity代表一个用户界面的一个屏幕。
 2.Service
   Service是在后台运行的处理长时操作,或者运程进程通信的组件。
 3.Content Provider
   用来向其他程序共享数据。
 4.Broadcast receiver
  系统级别的公告。
 android系统设计的一个独特的方面是,程序可以开启其他程序的的组件。


 激活组件
 activity,service,broadcast receiver的激活是通过intent的异步消息。
 intent(意图)在运行的时候绑定特定的组件(可以这样认为:从另一个组件请求的一个执行),不管这个组件
 是不是属于自己程序的还是属于其他程序的。
 一个意图通过一个Intent对象创建,这个对象定义了激活指定组件或者指定类型的组件的消息,
 意图可以试明确的,也可以是非明确的。


 Manifest 文件
 用来声明组件
 定义用户权限
 声明api版本
 声明使用的硬件和软件
 声明引用的lib等


 注意:activity,service,content provider必须在manifest中定义,不定义无法使用。
 broadcast receiver即可以在manifest中定义,也可以在代码中动态注册。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值