1.android四大元件之一service
[2]服務分兩種:
1.非繫結服務
startservice() --> 啟動服務 --> oncreate --> onstartcommand --> running
stopservice()/stopself() --> 銷毀服務 --> ondestroy
package com.farsight.unbindservie;
import android.content.intent;
import android.os.bundle;
import android.view.view;
import android.view.view.onclicklistener;
public class android_07_unbindserviceactivity extends activity implements onclicklistener
@override
public void onclick(view v)
else if(v.getid() == r.id.button2)
}}
package com.farsight.unbindservie;
import android.content.intent;
import android.os.ibinder;
import android.util.log;
public class myservice extends service implements runnable
// 建立
@override
public void oncreate()
// 啟動
@override
public int onstartcommand(intent intent, int flags, int startid)
// 銷毀
@override
public void ondestroy()
int count = 0;
@override
public void run() catch (interruptedexception e)
} // 銷毀服務
this.stopself();
}}
<?xml version="1.0" encoding="utf-8"?>
2.繫結服務
將服務繫結到activity元件上。可以實現服務資料向activity傳遞。
activity銷毀,服務也跟著銷毀。
bindservice() --> 繫結服務 --> oncreate --> onbind --> 返回乙個ibinder型別的物件給繫結服務的activity
--> 系統自動呼叫onserviceconnected接收ibinder型別的物件 --> 服務running
ununbindservice --> 解除繫結 --> onunbind--> ondestroy --> 服務銷毀
[3]服務元件執行在主線程中
package com.farsight.bindservice;
import com.farsight.bindservice.myservice.mybinder;
import android.content.componentname;
import android.content.context;
import android.content.intent;
import android.content.serviceconnection;
import android.os.bundle;
import android.os.ibinder;
import android.util.log;
import android.view.view;
import android.view.view.onclicklistener;
import android.widget.textview;
public class android_08_bindserviceactivity extends activity implements onclicklistener
@override
public void onclick(view v)
else if(v.getid() == r.id.button2)
else if(v.getid() == r.id.button3) }
mybinder mybinder;
myserviceconnection conn = new myserviceconnection();
//該類提供了服務向活動傳輸資料的通道
class myserviceconnection implements serviceconnection
//當服務繫結異常時,該方法被呼叫
@override
public void onservicedisconnected(componentname name)
}@override
protected void ondestroy()
}
package com.farsight.bindservice;
import android.content.intent;
import android.content.serviceconnection;
import android.os.binder;
import android.os.ibinder;
import android.util.log;
public class myservice extends service implements runnable
// 繫結服務
@override
public ibinder onbind(intent intent)
class mybinder extends binder
} //解除繫結
@override
public boolean onunbind(intent intent)
// 銷毀服務
@override
public void ondestroy()
int count;
@override
public void run() catch (interruptedexception e)
} }}
<?xml version="1.0" encoding="utf-8"?>
android 四大元件
1.activity 2.service 3.contentprovider 應用中的資料,對外進行共享,其它應用可以通過內容提供者,可以訪問到你應用中的資料,對資料進行增刪改查 1 對不同的資料格式,統一了檔案格式和資料訪問api 2 內容提供者要繼承contentprovider類 3 在清單檔...
Android 四大元件
activity intent receiver service content provider 並不是每乙個android應用程式都需要這四種構造塊,這不是必須的。當我們明確了我們的應用需要哪些構造塊後,我們就需要在androidmanifest.xml中登記這些構造塊的清單。這個配置檔案用於定...
android四大元件
android 四大元件 1.contentprovider contentprovider是什麼 android中的乙個應用元件 作為乙個引用元件的表現是生命週期方法 android中內容提供者 一般是內部儲存中的資料 contentprovider 物件的應用場合 例如 3.contentpri...