Android 之 应用程序和Activity
2016-03-18 01:36
344 查看
每一个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,可以覆盖这些暗含的需求
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,可以覆盖这些暗含的需求
相关文章推荐
- android_广播接受者_监听开机启动和IP拨号
- android 显示通知关闭之后,Toast不显示的状态检测
- Android SystemClock类
- Android动画--属性动画总结(一)
- AndroidStudio怎样导入jar包
- android 拦截事件
- Android 编程下 Touch 事件的分发和消费机制
- Android 自定义缩放球以及水纹效果
- Android开发-对于PendingIntent的简单理解
- android_广播接收者概念_监听SD卡入门案例
- Android界面实现
- android山寨卫士开发笔记-002
- android中根据资源文件的名称获得资源文件的Id
- 【VLC-Android】vlc-android简例
- Android提取系统所有的缩略图
- Android 回调机制简述
- Android中的canvas介绍
- Android SDK Manager国内不能下载和下载缓慢的问题
- Android中的IPC方式-Messenger --转载自肖老师博客160303
- Android中的对话框(一)AlertDialog --转载自孟可老师博客160303