android应用程序组件

目录


摘要


本节主要记录自己学习android菜鸟文档的过程。


1.Android 应用程序组件


应用程序组件是一个Android应用程序的基本构建块。这些组件由应用清单文件松耦合的组织AndroidManifest.xml描述了应用程序的每个组件,以及他们如何交互。

以下是可以在Android应用程序中使用的四个主要组件。
在这里插入图片描述

1.Activities

一个活动标识一个具有用户界面的单一屏幕。举个例子,一个邮件应用程序可以包含一个活动用于显示新邮件列表,另一个活动用来编写邮件,再一个活动来阅读邮件。当应用程序拥有多于一个活动,其中的一个会被标记为当应用程序启动的时候显示。

一个活动是Activity类的一个子类,如下所示:

//继承关系:MainActivity继承Activity
public class MainActivity extends Activity {

}

2.Services

服务是运行在后台,执行长时间操作的组件。
举个例子,服务可以是用户在使用不同的程序时在后台播放音乐,或者在活动中通过网络获取数据但不阻塞用户交互。

一个服务是Service类的子类,如下所示:

public class MyService extends Service {

}

3.Broadcast Receivers

广播接收器简单地响应从其他应用程序或者系统发来的广播消息。
举个例子,应用程序可以发起广播来让其他应用程序知道一些数据已经被下载到设备,并且可以供他们使用。因此广播接收器会拦截这些通信并采取适当的行动。

广播接收器是BroadcastReceiver类的一个子类,每个消息以Intent对象的形式来广播。

public class MyReceiver  extends  BroadcastReceiver {

}
//定义电源接收状态类继承外部广播接收器
    private class PowerStatusReceiver extends BroadcastReceiver 
    {
        @Override
        public void onReceive(Context context, Intent intent) {
            if (Intent.ACTION_BATTERY_CHANGED.equals(intent.getAction())) {
                // 0 indicates that we're on battery
                boolean onBatteryNow = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1) <= 0;
                if (onBatteryNow) {
                    InactivityTimer.this.onActivity();
                } else {
                    InactivityTimer.this.cancel();
                }
            }
        }
    }

4.Content Providers

内容提供者组件通过请求从一个应用程序到另一个应用程序提供数据。
这些请求由ContentResolver类的方法来处理。这些数据可以是存储在文件系统、数据库或者其他其他地方。

内容提供者是ContentProvider类的子类,并实现一套标准的API,以便其他应用程序来执行事务。

public class MyContentProvider extends  ContentProvider {

}

2.附件组件


有一些附件的组件用于以上提到的实体、他们之间逻辑、及他们之间连线的构造。这些组件如下:
在这里插入图片描述

备注信息:
松耦合系统通常是基于消息的系统,此时客户端和远程服务并不知道对方是如何实现的。
客户端和服务之间的通讯由消息的架构支配。只要消息符合协商的架构,则客户端或服务的实现就可以根据需要进行更改,而不必担心会破坏对方。

松耦合通讯机制提供了紧耦合机制所没有的许多优点,
并且它们有助于降低客户端和远程服务之间的依赖性。但是,紧耦合性通常可以提供性能好处,便于在客户端和服务之间进行更为紧密的集成。

人们越来越热衷于比较应用程序交互的松耦合方法和紧耦合方法。

造成这个趋势的主要技术原因是:使用UDDI(Universal Description, Discovery and Integration,通用描述、发现和集成)等标准,Web服务可以动态地发现和绑定到其他服务。

而主要业务原因是:企业越来越需要灵活地处理业务流程的更改以及与合作伙伴的交互方式。松耦合系统的优点在于更新一个模块不会引起其它模块的改变。

传统上,业务流程是在企业范围,甚至在企业的不同业务单元内开发。这些活动在详细的实时信息的帮助下进行管理。跨多个业务单元或跨企业的流程必须更加灵活,以应对各种各样的需求。在这种情况下,可能出现更多的不确定性:参与者及其角色不断变化,所需的交互类型也不断变化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

魔城烟雨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值