今天突然想起有關於service這個東西的存在,然後去網上找資料來學習,之前呢,只知道這是乙個服務,這個服務是什麼,能幹什麼,分為什麼和什麼,我是都不清楚的,今天趁早還有點空閒時間,就去搜尋資料來學習學習,我找到的是郭霖大神的部落格,**是:service完全解析,不得不說郭霖對android的理解很高,我只能在他的腳底仰望,經過半天學習,也對service的運用也有了一些理解,就來分享一下,與其說是理解,不如說是怕我自己以後忘了,寫到備忘錄。
首先service是android四大元件之一,這是眾所周知的,他的功能也是十分強大的,至於強大到**,我也不甚清楚,他分為前台服務和後台服務,後台服務就是使用者看不見的,但是一直在默默做事的,前台和後台的區別就是優先順序稍微高一些,不會那麼容易被殺死,下面則開始使用。
建立乙個類,繼續service,複寫onbind()方法,這個類的作用在下面會講:
/**
* created by admin on 2016/10/21.
*/public class myservice extends service
@override
public int onstartcommand(intent intent, int flags, int startid)
@override
public void ondestroy()
@nullable
@override
public ibinder onbind(intent intent)
然後是在actiivty中註冊服務
:
intent intent = new intent(mainactivity.this, myservice.class);有註冊當然也有取消:startservice(intent);
intent intent = new intent(mainactivity.this, myservice.class);使用是很簡單的,當然不要忘記在清單檔案中註冊:stopservice(intent);
<,這便是服務的使用了,很簡單的乙個東西,接下來便是與activity 的通訊了,這裡就需要用到上面複寫的方法onbind(),首先寫乙個內部類,基礎binder:service
android
:name=
".myservice"/>
class mybinder extends binder} 然後在myservic中:
private mybinder binder = new mybinder();
,@nullable
@override
public ibinder onbind(intent intent)
即可,接下來則是activity中的|:private myservice.mybinder mybinder;
private serviceconnection connection = new serviceconnection()
@override
public void onservicedisconnected(componentname componentname)
};
然後是繫結:intent intent = new intent(mainactivity.this, myservice.class);
bindservice(intent,connection,bind_auto_create);
解綁則是:
unbindservice(connection);
,如果你使用
serviceconnection ,記得要在ondestry中解綁,要不然報異常
Service與Thread的區別
不知道大家有沒有和我一樣的疑惑,在學習android service的時候,發現它和thread很像。雖然,教程中一再強調,service不是thread,但是用了好久也沒有發現他們的區別,在很多地方,都錯誤的使用thread來代替service去工作。但時間長了,發現service和thread區...
關於Service呼叫Service 的思考
以前做軟體都是隨便寫幾個service,純粹為了service而service,當某天突然發現我的兩個service竟然需要互相訪問,於是乎開始考慮如何設計service,特別是service之間的依賴關係如何設計的問題,因此偶認為軟體service層的設計應該重點放在兩個方面 一是service ...
簡單的controller方法和action方法
不同系統的controller方法和對應的action方法都不一樣,但是基本知識呼叫路徑和介面的定義方法有區別,方法中的編寫是一樣的,post和get定義,介面引數的定義,路徑的編寫和註解的使用 1.controller post restcontroller public class storec...