Android 之 应用程序和Activity

本文详细介绍了每一个Android应用程序的组成部分,包括Activity、Service、ContentProvider、BroadcastReceiver等核心组件,以及Intent作为消息传递机制的重要性。此外,阐述了应用程序Manifest文件的作用,包括配置应用程序元数据、硬件和平台要求、权限等。文章还讨论了不同组件之间的交互方式及如何通过Intent进行通信,以及应用程序安装位置的选择。最后,强调了Android应用开发中遵循的最佳实践。

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

每一个Android 应用程序都运行在自己的Dalvik 虚拟机实例的独立进程中

Activity是所有用户界面的基础

Android应用程序由松散耦合的组件组成,并使用应用程序Mainfest 绑定在一起;

应用程序Mainfest描述了每一个组件和他们之间的交互方式,还用于指定应用程序元数据、其硬件和平台要求、外部库以及必须的权限


应用程序的基本结构模块:

Activity 应用程序的表示层 应用程序中的每一个UI都是通过Activiy 类的一个或多个扩展实现的

Service 应用程序中不可见 用于更新数据源和activity、触发通知和广播Intent 被用来执行一些运行时间长的任务或不需要和用户交互的任务

Content Provider  一个可共享持久数据的存储器 Content Provider 用来管理和持久化应用程序数据 通常与SQL数据库交互 可通过Content Provider 访问其他

应用程序共享的数据,也可以配置自己的Content Provider 允许其他应用程序访问


Intent 一个强大的 应用程序之间消息传递框架 Intent 可以启动和停止Activity和service,还可以在系统范围内向Activity、service 和broadcast Receiver 广播消息 

以及请求对特定的一条数据执行操作  分为显式Intent 隐式Intent 和广播Intent

Broadcast Receiver 侦听Intent  Broadcast Recevier 使应用程序可以监听到那些匹配指定的过滤标准的Intent标准 会自动启动应用程序来响应某个收到的Intent

Widget 可用于创建动态的交互式应用程序组件,用户可以把这些组件添加到他们的主屏幕

Notification 允许向用户 发送信号


Mainfest 他包含组成应用程序的每一个Activity 、service 、Content Provider 、Broadcast Recevier 的节点、并使用Intent filter 和权限来确定这些组件之间

以及这些组件和其他应用程序来交互的


应用程序的元数据  包括 图标 版本号 或主题

根mainfest 标签 【项目包 的package属性、xmlns:android 属性提供文件内使用的某些系统属性、versionCode 当前应用程序版本号、versionName定义显示给用户

的公共版本号

installLocation 指定是否允许应用程序安装到外部存储器而不是内部存储器  如果不指定则安装在内部存储器 用户则无法将应用程序移动到外部存储器

参数分为 preferExternal 或auto 使用前者只要有可能就将程序安装在外部存储器、后者则由系统自己决定

不适合安装到外部存储器的应用程序:

输入法引擎 IME 安装到外部存储器会被禁用

提供不中断服务的应用程序

设备管理器 DeviceAdminRecevier及其管理能力将被禁用

具有widget 、live wallpaper和live folder 的应用程序 将从主屏幕移除 系统重启前可能不再可用


uses-sdk 定义应用程序可用的 sdk版本号 使用minSDKVersion maxSDKVersion 和targetSDKVersion 来定义

targetSDKVersion 目标SDK版本 设为最新的平台版本 最佳实践

没有必要设置最高版本号 即设置maxSDKVersion

uses-configuration 使用uses-configuration 节点可以指定应用程序支持的每个输入机制的组合,一般对游戏特别有用

uses-feature 指定应用程序需要的每个硬件功能 为保证兼容性,对权限的需求暗含着相应功能的需求。通过添加一个required属性并把它设置为false,可以覆盖这些暗含的需求


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值