Service介绍

目录

1.Service---服务,是四大组件之一,和Activity非常相似,一般运行在后台,没有用户界面,可执行的程序。

2.Activity和Service的区别

(1)不同点:

(2)相同点:

Service特点

Service生命周期


2.Activity和Service的区别

(1)不同点:

Activity:可以和用户交互,页面可见。

Service:后台运行,没有界面。

(2)相同点:

在清单文件注册,都有自己的生命周期。

Service特点

service在后排运行,不用与用户进行交互。即使应用退出,服务也不会停。当应用进程被杀死是,服务便会停止。

service运行在主线程中,当需要执行耗时操作的时候,需要在服务中创建子线程完成。

service的用途:播放音乐;后台下载大文件等。

Service生命周期

onCreate():创建服务的时候回调;

onStartCommand():开始服务的时候回调;

onDestroy():销毁服务的时候回调;

onBind():绑定服务的时候回调;

onUnbind():解绑服务的时候回调;

@Override
    public IBinder onBind(Intent intent) {
        Log.i("---myservice2", "onBind: ");
        return new MyBind();
    }

    @Override
    public void onCreate() {
        super.onCreate();
        Log.i("---myservice2", "onCreate: ");
    }

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        Log.i("---myservice2", "onStartCommand: ");
        return super.onStartCommand(intent, flags, startId);

    }

    @Override
    public boolean onUnbind(Intent intent) {
        Log.i("---myservice2", "onUnbind: ");
        return super.onUnbind(intent);
    }
    @Override
    public void onDestroy() {
        Log.i("---myservice2", "onDestroy: ");
        super.onDestroy();
    }

    public class MyBind extends Binder{

    }


    public void StartService(View view) {
        Intent intent = new Intent(this,MyService.class);
        startService(intent);//开启服务
    }

    public void StopService(View view) {
        Intent intent = new Intent(this,MyService.class);
        stopService(intent);//停止服务
    }
    public void bindservice(View view) {
        Intent intent = new Intent(this,MyService2.class);
        bindService(intent,serviceConnection,BIND_AUTO_CREATE);//绑定服务
    }

    public void unbindservice(View view) {
        unbindService(serviceConnection);//解除绑定服务
    }
MyService2.MyBind myBind;
//服务连接
    ServiceConnection serviceConnection = new ServiceConnection() {
        @Override

        public void onServiceConnected(ComponentName componentName, IBinder iBinder) {
            myBind=(MyService2.MyBind)iBinder;//有联系的
        }

        @Override

        public void onServiceDisconnected(ComponentName componentName) {
            //断开联系
        }
    };
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值