大家好,又见面了,我是全栈君。
Service是Android系统中的四大组件之中的一个,它与Activity不同,它是不能与用户交互的。
它是一种长生命周期的,没有可视化界面。执行于后台的一种服务程序。 1.Android中的服务没实用户操作界面,它执行于系统中不easy被用户发觉,能够使用它开发如监控之类的程序。
服务的开发比較简单,例如以下: 第一步:继承Service类 public class MyService extends Service { } 第二步:在AndroidManifest.xml文件里的<application>节点里对服务进行配置: <service android:name=”.MyService” /> 服务不能自己执行。须要通过调用Context.startService()或Context.bindService()方法启动服务。这两个方法都能够启动Service 2.Service与Activity一样,也有一个从启动到销毁的过程,但Service的这个过程比Activity简单得多。Service启动到销毁的过程仅仅会经历例如以下3个阶段: 创建服务 public void onCreate();
開始服务 public void onStart(Intent intent, int startId);
销毁服务 public void onDestroy();
MyService.java
package com.example.service;
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
public class MyService extends Service {
@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
return null;
}
@Override
public void onCreate() {
// TODO Auto-generated method stub
System.out.println("###onCreate###");
}
@Override
public void onDestroy() {
// TODO Auto-generated method stub
System.out.println("###onDestroy###");
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
// TODO Auto-generated method stub
System.out.println("###onStartCommand###");
return Service.START_CONTINUATION_MASK; //继续运行
}
}
MainActivity.java
package com.example.service;
import android.os.Bundle;
import android.app.Activity;
import android.content.DialogInterface;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity {
private Button start=null;
private Button stop=null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
start=(Button)findViewById(R.id.start);
stop=(Button)findViewById(R.id.stop);
this.start.setOnClickListener(new StartOnClickListenerImpl());
this.stop.setOnClickListener(new StartOnClickListenerImpl());
}
private class StartOnClickListenerImpl implements OnClickListener{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
MainActivity.this.startService(new Intent(MainActivity.this,MyService.class));
}
private class StoptOnClickListenerImpl implements OnClickListener{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
MainActivity.this.startService(new Intent(MainActivity.this,MyService.class));
}
}
}
}
注意不要忘了AndroidManifest.xml
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/115488.html原文链接:https://javaforall.cn