简介四大组件及启动方式和销毁过程

四大组件分别包括:Activity;Service;Broadcast Receiver;Content Provider

Activity

Activity(活动)通俗来说就是与用户交互的可视化界面,可以添加控件来进行布局和显示,用于实现不同的效果和功能
可以通过Intent跳转到其他Activity
创建新的Activity一定要在AndroidMainfest清单文件中生命,否则系统不会识别导致APP崩溃

Service

Service(服务)通常用于在后台完成用户指定的操作,不与用户直接交互,为用户提供后台服务或监控其他组件的状态(如监听当前手机是否有联网等)
服务的调用方式分为两种,一为startService方法启动,会导致服务的onStartCommand方法被调用,当前服务处于started状态,服务的生命周期与其他组件不绑定,会一直在运行,除非调用stopService方法停止
第二种方法为bindService方法启动,该方法的调用者与服务绑定在一起,生命周期相互关联,调用者生命周期结束的话服务也将停止,不同生但同死
Service和Activity一样,必须在AndroidMainfest清单文件中使用

        <receiver android:name=".MyBroidcastReceiver">
            <intent-filter>
                <action android:name="android.intent.action.MEDIA_BUTTON"/>
            </intent-filter>
        </receiver>

动态注册,通过Activity注册,但是伴随着Activity的关闭,广播也就失效了

val receiver = MyBroidcastReceiver();
        val intentFilter = IntentFilter();
        intentFilter.addAction("android.intent.action.MEDIA_BUTTON");
        registerReceiver(receiver,intentFilter);

    //记得在Activity销毁时取消订阅
    override fun onDestroy() {
        super.onDestroy()
        unregisterReceiver(receiver);
    }

Content Provider

在安卓平台中提供了Content Provider(内容提供者)可以将一个应用程序的指定某些数据提供给其他应用程序使用,其他应用程序可以通过ContentResolver类在内容提供者中去获取和存储数据
只有在多个APP直接共享数据的时候才会用到到这个内容提供者
内容提供者实现数据共享,并使其对所有应用程序可见,这是不同的应用程序之间共享数据的唯一方法
开发人员通常是通过ContentResolver对象来实现对ContentProvider的

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值