service 作為和activity一樣作為4大元件之一,也是利用intent來跳轉的。
service有2種方式啟動,一種是直接start,生命週期是oncreate-onstartcommand-ondestory
還有一種則是繫結的方式啟動。
bind繫結的用法 入下,首先新建乙個類繼承service,重寫onbind方法。
package com.example.testservice;
import android.content.intent;
import android.os.binder;
import android.os.ibinder;
public class myservice extends service
@override
public void oncreate()
@override
public int onstartcommand(intent intent, int flags, int startid)
@override
public void ondestroy()
@override
public boolean onunbind(intent intent)
private class middlepersion extends binder implements middlepeople
public void call()
}}
其中有2個介面,乙個是系統的ibinder介面,還有乙個是middlepeople介面,
首先我們在service中定義了乙個內部類叫middlepersion.這個類幫我們打通了activity和service的通道。activity通過繫結服務獲取onbind方法返回的ibinder介面的例項,也就是middlepersion類的乙個物件,然後這個物件裡有些方法得暴露,有些方法則是私有的,我們把得暴露出去得方法抽取出乙個介面,如下
package com.example.testservice;
public inte***ce middlepeople
在actiivity裡需要用如下方式呼叫bind和unbind
package com.example.testservice;
import android.content.componentname;
import android.content.intent;
import android.os.bundle;
import android.os.ibinder;
import android.view.layoutinflater;
import android.view.menu;
import android.view.menuitem;
import android.view.view;
import android.view.viewgroup;
import android.os.build;
public class mainactivity extends activity
void bind()
private class serviceconnection implements android.content.serviceconnection
//服務掛了或者被異常殺死的時候呼叫
@override
public void onservicedisconnected(componentname name)
}void unbind()
}
Service學習之 繫結服務
1 前面兩章我介紹了服務的生命週期和在服務裡面註冊廣播的好處。那麼現在我們改學習一下如何進行繫結服務。3 那麼如何進行繫結服務呢?需要三個東西,乙個是服務 乙個呼叫的介面 乙個抽取的介面 特殊介紹 這個抽取的介面是編碼習慣抽取出來的,就是你把你這個開啟服務的想要調的所有的方法都放在這個介面裡面,然後...
Linux 基礎Service學習筆記
root localhost echo path usr local sbin usr local bin usr sbin root bin 配置ip位址 root localhost nmcli connection modify eth0 ipv4.method manual ipv4.add...
php fpm新增service服務
nginx通過fastcgi執行php比apache包含php環境有明顯的優勢,最近有訊息稱,php5.4將很有可能把php fpm補丁包含在核心裡,nginx伺服器平台上執行php將更加輕鬆,下面我們就來看一篇php fpm平滑啟動並配置服務例子。我的php是原始碼安裝的。php fpm在php ...