android应用程序组件:service|青训营笔记

64 阅读1分钟

这是我参与「第四届青训营 」笔记创作活动的的第19天 1.概念 进程:指的是程序运行中会存在独立单位,包括代码的加载,运行的过程 线程:进程的一部分,组成进程,由程序负责管理 计算机执行逻辑:即在执行时不切换进程,只是时间很短无法察觉 注意,service不是单独的进程! 2.代码实验 ``` public class TestService3 extends IntentService {
private final String TAG = "hehe";
//必须实现父类的构造方法
public TestService3()
{
super("TestService3");
}

//必须重写的核心方法  
@Override  
protected void onHandleIntent(Intent intent) {  
    //Intent是从Activity发过来的,携带识别参数,根据参数不同执行不同的任务  
    String action = intent.getExtras().getString("param");  
    if(action.equals("s1"))Log.i(TAG,"启动service1");  
    else if(action.equals("s2"))Log.i(TAG,"启动service2");  
    else if(action.equals("s3"))Log.i(TAG,"启动service3");  
      
    //让服务休眠2秒  
    try{  
        Thread.sleep(2000);  
    }catch(InterruptedException e){e.printStackTrace();}          
}  

//重写其他方法,用于查看方法的调用顺序  
@Override  
public IBinder onBind(Intent intent) {  
    Log.i(TAG,"onBind");  
    return super.onBind(intent);  
}  

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

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


@Override  
public void setIntentRedelivery(boolean enabled) {  
    super.setIntentRedelivery(enabled);  
    Log.i(TAG,"setIntentRedelivery");  
}  
  
@Override  
public void onDestroy() {  
    Log.i(TAG,"onDestroy");  
    super.onDestroy();  
}  
  

}