博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android应用程序的组成
阅读量:5035 次
发布时间:2019-06-12

本文共 1614 字,大约阅读时间需要 5 分钟。

Android应用程序由一些松散连系的组件构成,遵守着一个应用程序清单(manifest),这个清单描述了每个组件以及它们如何交互,还有包含了应用程序的硬件和平台需求的元数据(metadata)。

 

Android应用由Activites、ServicesContent ProvidersIntentsBroadcast ReceiversWidgetsNotifications7个模块构成但是,并不是每一个Android应用程序都需要这7种构造块,这不是必须的,某些时候,我们只需要这7种中的几种组合成我们的应用。

以下是对7种构造块做一些说明:

  • Activites(活动)应用程序的表示层,Activites就是一个有生命周期的对象。应用程序的每个界面都将是Activity类的扩展。Acitvities用视图(View)构成GUI来显示信息、响应用户操作。就桌面开发而言,一个活动(Activity)相当于一个窗体(Form)。
  • Services(服务)应用程序中的隐形工作者。Service组件在后台运行,更新你的数据源和可见的Activities,触发通知(Notification)。在应用程序的Activities不激活或不可见时,用于执行依然需要继续的长期处理。
  • Content Providers(内容管理器)可共享的数据存储。Content Providers用于管理和共享应用程序数据库。是跨应用程序边界数据共享的优先方式。这表示你可以配置自己的Content Providers以允许其他应用程序的访问,用他人提供的Content Providers来访问他人存储的数据。Android设备包括几个本地Content Providers,提供了像媒体库和联系人明细这样有用的数据库。
  • Intents(意图) 一个应用程序间(inter-application)的消息传递框架它表示程序想做某事的“意图”(intention)。使用Intents你可以在系统范围内广播消息或者对一个目标Activity或Service发送消息,来表示你要执行一个动作。系统将辨别出相应要执行活动的目标(target)。
  • Broadcast Receivers(广播接收器)Intent广播的消费者。如果你创建并注册了一个Broadcase Receiver,你的应用程序就可以监听匹配了特定过滤标准的广播Intent。Broadcase Receiver会自动开启你的应用程序以响应一个收到的Intent,使得可以用它们完美地创建事件驱动的应用程序。
  • Widgets(小组件)可以添加到主屏幕界面(home screen)的可视应用程序组件。作为Broadcase Receiver的特殊变种,widgets让你可以为用户创建可嵌入到主屏幕界面的动态的、交互的应用程序组件。
  • Notifications(通知)一 个用户通知框架。Notification让你不必窃取焦点或中断当前Activities就能通知用户,通知将以小图标的形式呈现在状态栏里,用户通过与图标的交互式操来接收消息。最常见 的通知包括短信息,通话记录,语音邮件,但是应用程序也可以创建它们自己的通知事件。这是在Service和Broadcast Receiver中获取用户注意的推荐技术。例如,当设备收到一条短消息或一个电话,它会通过闪光灯、发出声音、显示图标或显示消息来提醒你。你可以在你 的应用程序中使用Notifications触发相同的事件。

通过解耦应用程序组件间的依赖,你可以和其他应用程序(你自己的和第三方的)共享和交换单独的组件,如Content Providers、Services甚至Activities。

转载于:https://www.cnblogs.com/minmin-happy/p/3427339.html

你可能感兴趣的文章
5.泡妞与设计模式(六)创建者模式
查看>>
Linux centos7编译源码安装redis
查看>>
分割平面和空间的相关公式
查看>>
调试ASP.NET程序
查看>>
第三周学习进度
查看>>
access 清空后,自动编号怎么才能从0开始
查看>>
动态规划-最长上升子序列 LIS
查看>>
树中的路径和 Sum of Distances in Tree
查看>>
Spring中好玩的注解和接口
查看>>
ch5 对链接应用样式
查看>>
js面试题
查看>>
js处理url中的请求参数(编码/解码)
查看>>
Beep Driver
查看>>
内核运行之前访问IO
查看>>
如何处理缓存失效、缓存穿透、缓存并发等问题
查看>>
传了值还是传了引用?
查看>>
如何在IDEA中用git提交设置忽略文件的方法
查看>>
第二阶段冲刺第六天
查看>>
【BZOJ3105】【CQOI2013】新Nim游戏
查看>>
HDU - 1495
查看>>