Android 应用程序的组成部分
基本结构模块
活动(Activity)
- 表示层
- 使用视图来形成显示信息和响应用户动作的图形界面
服务(Service)
- 不可见的工作者
- 后台运行
- 更新数据源和可见的活动,触发通知
- 常用来执行常规处理
- 内容提供器(Content Provider)
- 可共享的数据存储器
- 管理和共享应用程序的数据库,用于共享数据
- 意图(Intend)
- 应用程序间消息传递框架
- 可以在系统范围内或想目标活动或者服务广播消息
- 广播接收器(Broadcast Receiver)
- 意图广播的使用者
- 监听到那些匹配特定的过滤标准的意图广播
- 自动启动响应意图,事件驱动应用程序的最佳选择
- 小组件(widget)
- 可以添加到主屏幕的可视化应用程序组件
- 广播接收器的特殊变体
- 可用于创建动态的交互式应用程序组件
- 用户可以把小组件添加到他们的主屏幕上
通知(Notification)
- 用户通知框架
- 可以向用户发送信息
- 服务和广播接收器吸引用户注意的首选方案
程序里面有什么
清单(Manifest)文件—AndroidManifest.xml
它定义了英语程序及其组件和需求的结构和元数据
它包含组成应用程序的每一个组件(活动、服务、内容提供器和广播接收器)的节点
并使用意图过滤器和权限来确定这些组件之间以及这些组件和其他应用程序是如何交互的
他还提供了各种属性来详细地说明应用程序的元数据以及额外的顶层节点,这些节点可用来进行安全设置、单元测试以及定义硬件和平台支持要求
清单由一个根mainfest标签,该标签有一个被设为项目报的package属性,他通常包含一个xmlns:android属性来提供文件内使用的某些系统属性。Android 应用程序的生命周期
Android应用程序不能控制它们自己的生命周期。相反,应用程序组件必须坚挺应用程序状态的变化并做出适当的反应,而且特别要注意为随时被终止做好准备。
默认情况下,每个Android应用程序都是通过他们自己的进程运行的,每一个进程都运行在独立的Dalvik实例中。每一个应用程序的内存和进程管理都是有运行时专门进行处理的。
Android主动管理着他的资源,他会采取任何措施来保证设备保持响应。这就是意味着在必要的时候,进程(以及它们的应用程序)江湖在没有警告的情况下被终止,这样就可以为高兴优先级的应用程序—通常是当时正直接和用户进行交互的应用程序—释放资源。这就是我们接下来要讨论的程序的优先级和进程状态。程序的优先级和进程状态
应用程序共有5种状态:
活动进程
- 可见进程
- 启动服务进程
- 后台进程
空进程
这五种进程的优先级依次递减
分离资源
Android支持各种资源与代码的分离,从简单的想字符串和颜色这样的值到更复杂的资源,如图片、动画和主题。也许可以分离的最复杂的资源就是布局
通过将资源分离开来,可以是它们变得更加容易保护,更新和管理
应用程序资源存储在项目层次的 res/文件夹下。在这个文件夹中,每一种可用的资源都存储在包涵这些资源的子文件夹中。
这个文件夹包含了存储values、drawable-mdpi、drawable-hdpi和layout资源的文件夹。这些子文件夹分别包含了默认的布局、应用程序图标和字符串资源定义。简单值 :包括字符串、颜色、尺寸和自负串数组或者整形数组 存储在res/values目录下的XML文件中
- 样式和主题 使用 style 标签 它包含一个name属性以及一个或者多个item标签
- drawable : 位图和PNG 在drawable文件夹下
- 布局: 在res/layout 文件夹下