码迷,mamicode.com
首页 > 移动开发 > 详细

谈谈Android的Service

时间:2014-08-05 13:40:19      阅读:224      评论:0      收藏:0      [点我收藏+]

标签:android   des   style   blog   color   java   使用   os   

Service是Android系统中的四大组件之一,它与Activity不同,它是不能与用户交互的。它是一种长生命周期的,没有可视化界面,运行于后台的一种服务程序。
        1.Android中的服务没有用户操作界面,它运行于系统中不容易被用户发觉,可以使用它开发如监控之类的程序。服务的开发比较简单,如下:
                                  第一步:继承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();

 

 1 MyService.java  
 2   
 3   
 4 package com.example.service;  
 5   
 6 import android.app.Service;  
 7 import android.content.Intent;  
 8 import android.os.IBinder;  
 9   
10 public class MyService extends Service {  
11   
12     @Override  
13     public IBinder onBind(Intent intent) {  
14         // TODO Auto-generated method stub   
15         return null;  
16           
17     }  
18   
19     @Override  
20     public void onCreate() {  
21         // TODO Auto-generated method stub   
22         System.out.println("###onCreate###");  
23     }  
24   
25     @Override  
26     public void onDestroy() {  
27         // TODO Auto-generated method stub   
28         System.out.println("###onDestroy###");  
29     }  
30   
31     @Override  
32     public int onStartCommand(Intent intent, int flags, int startId) {  
33         // TODO Auto-generated method stub   
34         System.out.println("###onStartCommand###");  
35         return Service.START_CONTINUATION_MASK;  //继续执行   
36     }  
37   
38 }  

 

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

谈谈Android的Service,布布扣,bubuko.com

谈谈Android的Service

标签:android   des   style   blog   color   java   使用   os   

原文地址:http://www.cnblogs.com/zuimeng/p/3891873.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!