Android 官方文档学习笔记(1):Androiid以及相关应用组件概念

本文介绍了Android SDK如何打包应用及安全机制,详细解析了四大组件——Activity、Service、Broadcast和Content Provider的功能、应用场景及生命周期。

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

Android SDK介绍:

Android SDK 会将应用内容打包成一个.apk后缀的文件(包括了逻辑代码,应用所需要的资源文件)。对于Android应用系统,就一多用户的Linux系统,所有的应用都在该系统下的一个用户,每一应用会被系统分配一个唯一的ID。因此不同的应用都要自己的资源和进程。

Android对应用的数据保护(安全沙盒)有以下约束:

  1. 每一个应用由于都有自己的唯一id,因此除了人为将多个应用设置同一id情况下,不然应用不能访问彼此的资源。
  2. 每一个应用都有自己的进程和虚拟机,因此在需要运行的情况下Android系统会启动应用的进程,在不需要的情况下对进程的关闭释放内存。
  3. 对所有的应用实现了最小访问权限,即每一个应用只能访问自己需要的组件和资源,从而实现对应用的保护。(可以人为的设置不同的应用使用同一ID从而实现彼此资源的访问,亦或者通过应用对某一功能申请权限也可以实现使用其他资源的目的)

Android的应用组件介绍:

Android的应用组件作为程序入口,系统和用户可以通过这些入口访问应用程序,同时不用的应用组件之间也存在着依赖关系。同时不同的组件也有有自己的应用场景和生命周期,后者决定了组件的创建和销毁。

  1. 活动Activity
  2. 广播Broadcast
  3. 服务Service
  4. 内容提供者ContentProvider

Activity 活动:

Activity是用户与程序交互的主要的应用组件,一般占据整个屏幕(手机屏幕)尺寸大小。当存在多个Activity的时候,Activity之间相互独立不收影响,同时一个屏幕只允许一个Activity呈现出来(一旦启动了另一个Activity则会将当前的Activity放进后台)。合理使用Activity能有助于程序和系统对用户的交互体验。

  1. 通过Activity能够追踪用户感兴趣的内容,从而告诉系统需要保留哪些进程
  2. 通过Activiy能够获取用户之前所浏览的信息,从而保留更有用的内容
  3. 通过Activity能够帮组程序记录终止位置,能够更好地恢复原先的状态
  4. 通过Activity能够实现系统与应用程序之间的用户流交互(经典的例子:共享。)

Service 服务:

Service服务主要的应用场景是能够实现程序保持运行状态的情况下,允许用户执行其他的操作,例如浏览网页,打开其他应用程序等等。也就是说,更多时候服务是处于后台运行,和Activity对比,不具备可视化页面操作,服务的存在更多是实现在后台使得应用程序能够同步数据,或者保持程序的运行状态(经典例子:音乐播发器)。但还要注意的是,服务Service需要依赖于其他的应用组件来启动(Activity等),一旦Activity启动了服务之后,那么服务就会绑定在Activity中(Service服务的生命周期也与之有光)。现在服务有着更广阔的使用范围:例如动态壁纸,通知监听器等等。

Broadcast 广播:

Broadcast广播的存在,可以使得系统在用户流之外向应用程序传递事务。广播作为程序的入口,即使应用程序尚未运行,也可以通过由系统发送的广播,对广播接收后执行某些特定的响应。虽然广播能够处理一些特定的需求,但是广播的宗旨是处理极小量的工作任务,广播更多时候也应用于对一些可预测的事情向用户发送通知(天气预报,电量剩余量通知等等)

ContentProvide 内容提供程序:

ContentProvide更多时候是负责管理一组共享的应用数据,允许用户将数据保存在文件数据,SQLite数据库以及其他可允许访问的持久化位置。也允许用户对其中的数据读取或者修改(如果有一定的权限话),虽然ContentProvide内容提供程序提供了大量的API能够实现和数据库一样的功能,但从设计的角度来看本质上和数据库是两种不同的核心目的。

Android学习文档 1 一、Android前言 3 1Android发展历程 3 2、Android发展前景 8 3、Android 应用领域 9 二、准备工作 11 1Android开发环境搭建 11 1.1 第一种搭建Android的开发环境步骤: 12 1.2 第二种搭建Android的开发环境步骤: 12 2、AVD设备(模拟器) 13 3、Android的模拟器Emulator 14 4、DDMS调试 14 5、Android开发需知 14 5.1 Android目录结构 14 5.2 UI控件: 15 5.3 应用程序权限 15 6、第一个android应用程序 15 7、Android组件介绍 20 三、Android应用程序架构分析 21 1Android布局组件介绍及其实例分析 21 2.1 布局组件概述 21 2.1.1 五大布局: 21 2.1.2 属性: 21 2.1.3 常用的长度单位解析: 21 2.2 线性布局 22 2.3 表格布局 22 2.4 相对布局 23 2.5 基本界面组件 23 2、Activity生命周期及其实例分析 24 1.1 Avtivity介绍 24 1.2 Activity的生命周期 25 1.2.1 Activity的三种状态 25 1.2.2 Activity在三种状态切换时调用的方法(7种) 25 1.2.3 Activity跳转与布局管理器 27 1.2.4 Activity中与跳转相关的方法 28 1.2.5 Activity的内部切换界面 28 1.2.6 Activity的用法 28 1.3 Avtivity的回调机制 28 四、事件处理机制 29 1、事件效果 29 2、事件监听器的处理模型 30 3、监听器的事件处理模型步骤 31 4、事件监听器必须实现事件监听器接口 31 5、实现事件监听器 31 6、基于回调的事件处理 32 7、基于回调的事件传播 32 五、 Android数据存储 32 1android的数据存储 32 2、如何在android中使用SQlite数据库? 33 2.1 使用SharedPreferences 33 2.2 练习使用SharedPreferences 33 3、要读写其他应用的SharedPreferences怎么做? 33 六、 Json数据格式解析和xml解析 34 1、JSON简介 34 2、Gson介绍 34 3、JSON与XML 34 4、Android中对xml的解析 35 4.1 学习json数据格式,编写xml文件转化成实体bean的工具类 35 1.先写一个工具类,把list集合转化成xml格式,注意支持各种类型 35 分析:用dom4j来操作 35 2.涉及的知识 35 五、开发中会用到的技术 36 1、Selector技术 36 2、Tosat显示消息提示框技术 36 3、Handler消息传递机制 36 4、Handler类的主要作用 37 六、Android实例 38 1、做多米播放器的特效 38 2、做时钟的特效 39 1. 涉及的知识 40 一、完成”时钟”应用程序的操作 43 七、图形与图像处理 44
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值