Service初解:
Service服务,是Android四大组件中的一个,它跟Activity的最大不同在于,Activity是用户可见的,而Service是不可见的,它是运行在后台的,没有界面,但是要注意的是Service是运行在UI线程中的,所以如果是一些费时的操作就要去开子线程!
Service在使用之前一定要再AndroidManifest里进行注册
介绍了Service之后下面就开始正式进入Service
新建一个Service去继承Service它会要你去复写一个方法onBind()
在刚开始我们可以先不去看这个方法
我们先去复写它的另外3个方法onCreate()、onStartCommand()、onDestroy()
从名字就可以大概的了解它的意思了
onCreate():创建Service
onStartCommand():开始一些操作、命令
onDestroy():销毁Service
关于这些方法的详细介绍可以去看API
Service服务,是Android四大组件中的一个,它跟Activity的最大不同在于,Activity是用户可见的,而Service是不可见的,它是运行在后台的,没有界面,但是要注意的是Service是运行在UI线程中的,所以如果是一些费时的操作就要去开子线程!
Service在使用之前一定要再AndroidManifest里进行注册
介绍了Service之后下面就开始正式进入Service
新建一个Service去继承Service它会要你去复写一个方法onBind()
在刚开始我们可以先不去看这个方法
我们先去复写它的另外3个方法onCreate()、onStartCommand()、onDestroy()
从名字就可以大概的了解它的意思了
onCreate():创建Service
onStartCommand():开始一些操作、命令
onDestroy():销毁Service
关于这些方法的详细介绍可以去看API
我在这里就把大概的用法说下:
@Override public void onCreate() { super.onCreate(); Log.d("TestService", "onCreate"); } @Override public int onStartCommand(Intent intent, int flags, int startId) { Log.d("TestService", "onStartCommand"); return super.onStartCommand(intent, flags, startId); } @Override public void onDestroy() { Log.d("TestService", "onDestroy"); super.onDestroy(); }我在这边复写了这3个方法然后分别去Log打印.然后可以去运行一下看看结果
要记得去AndroidManifest里面去注册
<service android:name=".MyService" />
我这里在布局文件中只有两个按钮用来启动Service和停止Service(Service中没有暂停的概念)
关于启动、停止Service和我们去启动Activity很像
Intent intent = new Intent(MainActivity.this,MyService.class);
startService(intent);
stopService(intent);
然后当我点击了start按钮后Log打印的信息:
它会打印onCreate 和 onStartCommand 证明 启动Service后他会去执行onCreate 生命周期和onStartCommand 生命周期
如果我们在去点击Start按钮,这时候Log会打印
因为这时候Service已经创建了,所以它不需要在去执行onCreate这个生命周期,直接去执行onStartCommand 生命周期
如果我们去点击Stop按钮,此时Log会打印:
这时Service会去执行onDestroy生命周期,会把Service结束掉。
好了,要下课了,今天先写到这了,这是Service最基础的了,后续会有进阶的Service初解
当然是初解 因为也是初学者....