上次学习了Android四大组件Activity之后,我们深刻理解了Activity。这次我们学习四大组件Service。
Service与Activity的级别是一样的,都是Android系统必不可少的,也是非常重要的。但是还是有区别的。Activity是与用户交互的重要组件,所以可以说明Activity是有界面的,存在于前台。而Service确实没有 界面的,一直存在与后台,默默无闻的奉献者。
和学习Activity一样,本节学习如何创建一个Service,以及如何配置Service
第一步创建一个MyService并且继承Service类,(是不是和我们的activity很相似)

创建后如下图所示:

创建后的服务也需要到配置文件中配置,这是不是和Activity也很相似
<service android:name="com.ui.service.MyService"></service>这样一个Service算是创建成功了,那如何去启动一个Service呢? 因为Service是没有界面的,是运行在后台的。我们可以用打印观察。启动service需要借助与Activity
我们创建一个MyActivity
public class MyActivity extends Activity { private Button btn_start; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.activity_myservice); btn_start = (Button)findViewById(R.id.button1); btn_start.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub Intent intent = new Intent(MyActivity.this, MyService.class); startService(intent); } }); }}布局文件就一个Button用来启动Service同时我为MyService中添加了几个方法:
public class MyService extends Service { @Override//必须实现的方法 public IBinder onBind(Intent arg0) { // TODO Auto-generated method stub return null; } @Override//被创建时的调用 public void onCreate() { // TODO Auto-generated method stub super.onCreate(); Log.i("MyService", "onCreate------------"); } @Override @Deprecated//OnStart方法现在被OnStartCommd已经取代,其实在OnStartCommand也调用了OnStart public void onStart(Intent intent, int startId) { // TODO Auto-generated method stub super.onStart(intent, startId); Log.i("MyService", "onStart------------"); } @Override//启动时会调用 public int onStartCommand(Intent intent, int flags, int startId) { // TODO Auto-generated method stub Log.i("MyService", "onStartCommand------------"); return super.onStartCommand(intent, flags, startId); }}当我点击Button按钮是,就会启动Service

ok, 关于Service的创建本节就说道这里
版权声明:本文为博主原创文章,未经博主允许不得转载。