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 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

使用Python快速实现链接转word文档

《使用Python快速实现链接转word文档》这篇文章主要为大家详细介绍了如何使用Python快速实现链接转word文档功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 演示代码展示from newspaper import Articlefrom docx import

Android里面的Service种类以及启动方式

《Android里面的Service种类以及启动方式》Android中的Service分为前台服务和后台服务,前台服务需要亮身份牌并显示通知,后台服务则有启动方式选择,包括startService和b... 目录一句话总结:一、Service 的两种类型:1. 前台服务(必须亮身份牌)2. 后台服务(偷偷干

浅析如何使用Swagger生成带权限控制的API文档

《浅析如何使用Swagger生成带权限控制的API文档》当涉及到权限控制时,如何生成既安全又详细的API文档就成了一个关键问题,所以这篇文章小编就来和大家好好聊聊如何用Swagger来生成带有... 目录准备工作配置 Swagger权限控制给 API 加上权限注解查看文档注意事项在咱们的开发工作里,API

Android kotlin语言实现删除文件的解决方案

《Androidkotlin语言实现删除文件的解决方案》:本文主要介绍Androidkotlin语言实现删除文件的解决方案,在项目开发过程中,尤其是需要跨平台协作的项目,那么删除用户指定的文件的... 目录一、前言二、适用环境三、模板内容1.权限申请2.Activity中的模板一、前言在项目开发过程中,尤

JAVA系统中Spring Boot应用程序的配置文件application.yml使用详解

《JAVA系统中SpringBoot应用程序的配置文件application.yml使用详解》:本文主要介绍JAVA系统中SpringBoot应用程序的配置文件application.yml的... 目录文件路径文件内容解释1. Server 配置2. Spring 配置3. Logging 配置4. Ma

Mybatis官方生成器的使用方式

《Mybatis官方生成器的使用方式》本文详细介绍了MyBatisGenerator(MBG)的使用方法,通过实际代码示例展示了如何配置Maven插件来自动化生成MyBatis项目所需的实体类、Map... 目录1. MyBATis Generator 简介2. MyBatis Generator 的功能3

Android数据库Room的实际使用过程总结

《Android数据库Room的实际使用过程总结》这篇文章主要给大家介绍了关于Android数据库Room的实际使用过程,详细介绍了如何创建实体类、数据访问对象(DAO)和数据库抽象类,需要的朋友可以... 目录前言一、Room的基本使用1.项目配置2.创建实体类(Entity)3.创建数据访问对象(DAO

SpringBoot3集成swagger文档的使用方法

《SpringBoot3集成swagger文档的使用方法》本文介绍了Swagger的诞生背景、主要功能以及如何在SpringBoot3中集成Swagger文档,Swagger可以帮助自动生成API文档... 目录一、前言1. API 文档自动生成2. 交互式 API 测试3. API 设计和开发协作二、使用

Android WebView的加载超时处理方案

《AndroidWebView的加载超时处理方案》在Android开发中,WebView是一个常用的组件,用于在应用中嵌入网页,然而,当网络状况不佳或页面加载过慢时,用户可能会遇到加载超时的问题,本... 目录引言一、WebView加载超时的原因二、加载超时处理方案1. 使用Handler和Timer进行超