Android-Android官方文档阅读-Application Fundamentals

2024-08-29 03:58

本文主要是介绍Android-Android官方文档阅读-Application Fundamentals,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

首先Android使用Java编写应用程序 应用程序会打包成一个.apk的文件 apk是运行在Linux系统上的

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


然后认识一下Android的四大组件

下面介绍四种类型的应用程序组件:

Activity
一个  activity 为一个用户交互提供一个单独的界面。例如,一个邮件程序可能有一个activity,它展现了一个新邮件的列表。 另一个activity用来编辑邮件,还有一个是用来阅读邮件。 虽然这些activity组合在一起构成一个紧密的用户体验,但每一个都是相对独立的。 同样,其它程序也可以启动这些activity(如果这个邮件程序允许)。 例如,一个相机程序可以启动这个邮件程序的编辑邮件activity,如果用户想分享一张照片。

一个activity作为 Activity的一个子类被实现。 你也可以通过 Activities开发者指南来了解更多。

Service
一个  service是一个运行在后台的组件。它用于执行耗时操作或者远程进程。 一个service并不提供用户交互界面。例如,当用户在使用另外一个程序的时候,一个服务可能在播放音乐或者在 通过网络获取数据,这样不会阻塞住用户与activity的交互。其它的组件,例如一个activity,可以启动一个service并让其运行或者与其绑定,绑定后可以与其交互。

一个service作为一个Service的子类被实现。你可以通过 Services 开发者指南了解更多。

Content provider
一个 content provider负责管理应用程序的数据共享集。 你可以通过文件系、SQLite数据库、网站,或者其它的你的应用程序可以访问的持久化存储位置来存储数据。 通过content provider,其它的应用程序可以查询甚至修改你的数据(如果这个content provider允许它们这么做)。 例如,Android系统提供了一个content provider来管理联系人信息。 同样地,任何程序拥有了适当权限都可以查询这个content provider (例如  ContactsContract.Data) 去读写某人的信息。

Content provider在读写程序的私有数据时也很有用。例如,Note Pad 范例程序就使用了一个content provider来保存笔记。

一个content provider是作为ContentProvider的一个子类被实现的。 并且必须实现一些标准的API集,这样其它的应用程序才能执行事务。更多信息,请查阅 Content Providers开发者指南。

Broadcast receiver
broadcast receiver 是一个用来响应系统范围内的广播的组件。 很多广播发自于系统本身。—例如, 通知屏幕已经被关闭、电池低电量、照片被拍下的广播。 应用程序也可以发起广播。—例如, 通知其它程序,一些数据被下载到了设备,且可供它们使用。 虽然广播并不提供用户交互界面,它们也可以 创建一个状态栏通知 来提醒用户一个广播事件发生了。尽管如此,更多的情形是,一个广播只是进入其它组件的一个“门路”,并试图做一些少量的工作。 例如,它可能发起一个服务,并通过服务执行与这个广播事件相关的工作。

broadcast receiver是BroadcastReceiver 的子类实现,而且每一个广播通过Intent 对象来传递。 更多信息,请阅读 BroadcastReceiver 类。


Android还有一个独特的特性那就是 任何程序都可以启动其它程序的组件  如果你的应用程序需要拍照 你不需要再你的应用程序中写拍照的代码 你只需要调用 其他拍照的应用帮你完成这个任务

组件与组件之间是通过intent来连接的


这篇关于Android-Android官方文档阅读-Application Fundamentals的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1116781

相关文章

Android Paging 分页加载库使用实践

《AndroidPaging分页加载库使用实践》AndroidPaging库是Jetpack组件的一部分,它提供了一套完整的解决方案来处理大型数据集的分页加载,本文将深入探讨Paging库... 目录前言一、Paging 库概述二、Paging 3 核心组件1. PagingSource2. Pager3.

Python操作PDF文档的主流库使用指南

《Python操作PDF文档的主流库使用指南》PDF因其跨平台、格式固定的特性成为文档交换的标准,然而,由于其复杂的内部结构,程序化操作PDF一直是个挑战,本文主要为大家整理了Python操作PD... 目录一、 基础操作1.PyPDF2 (及其继任者 pypdf)2.PyMuPDF / fitz3.Fre

springboot自定义注解RateLimiter限流注解技术文档详解

《springboot自定义注解RateLimiter限流注解技术文档详解》文章介绍了限流技术的概念、作用及实现方式,通过SpringAOP拦截方法、缓存存储计数器,结合注解、枚举、异常类等核心组件,... 目录什么是限流系统架构核心组件详解1. 限流注解 (@RateLimiter)2. 限流类型枚举 (

C#监听txt文档获取新数据方式

《C#监听txt文档获取新数据方式》文章介绍通过监听txt文件获取最新数据,并实现开机自启动、禁用窗口关闭按钮、阻止Ctrl+C中断及防止程序退出等功能,代码整合于主函数中,供参考学习... 目录前言一、监听txt文档增加数据二、其他功能1. 设置开机自启动2. 禁止控制台窗口关闭按钮3. 阻止Ctrl +

Java docx4j高效处理Word文档的实战指南

《Javadocx4j高效处理Word文档的实战指南》对于需要在Java应用程序中生成、修改或处理Word文档的开发者来说,docx4j是一个强大而专业的选择,下面我们就来看看docx4j的具体使用... 目录引言一、环境准备与基础配置1.1 Maven依赖配置1.2 初始化测试类二、增强版文档操作示例2.

Android kotlin中 Channel 和 Flow 的区别和选择使用场景分析

《Androidkotlin中Channel和Flow的区别和选择使用场景分析》Kotlin协程中,Flow是冷数据流,按需触发,适合响应式数据处理;Channel是热数据流,持续发送,支持... 目录一、基本概念界定FlowChannel二、核心特性对比数据生产触发条件生产与消费的关系背压处理机制生命周期

Android ClassLoader加载机制详解

《AndroidClassLoader加载机制详解》Android的ClassLoader负责加载.dex文件,基于双亲委派模型,支持热修复和插件化,需注意类冲突、内存泄漏和兼容性问题,本文给大家介... 目录一、ClassLoader概述1.1 类加载的基本概念1.2 android与Java Class

Java操作Word文档的全面指南

《Java操作Word文档的全面指南》在Java开发中,操作Word文档是常见的业务需求,广泛应用于合同生成、报表输出、通知发布、法律文书生成、病历模板填写等场景,本文将全面介绍Java操作Word文... 目录简介段落页头与页脚页码表格图片批注文本框目录图表简介Word编程最重要的类是org.apach

Python Pillow 库详解文档(最新推荐)

《PythonPillow库详解文档(最新推荐)》Pillow是Python中最流行的图像处理库,它是PythonImagingLibrary(PIL)的现代分支和继承者,本文给大家介绍Pytho... 目录python Pillow 库详解文档简介安装核心模块架构Image 模块 - 核心图像处理基本导入

Android DataBinding 与 MVVM使用详解

《AndroidDataBinding与MVVM使用详解》本文介绍AndroidDataBinding库,其通过绑定UI组件与数据源实现自动更新,支持双向绑定和逻辑运算,减少模板代码,结合MV... 目录一、DataBinding 核心概念二、配置与基础使用1. 启用 DataBinding 2. 基础布局