android廣播伺服器
『壹』 Android 第六講 廣播接收器和服務
兩種方式:靜態注冊和動態注冊
動態注冊:
1)動態注冊:需要定義一個繼承自BroadcastReceiver類的子類,該接收器需要在Activity中的onDestroy中注銷
2)靜態注冊:通過在AndroidManifest.xml中配置
兩種廣播形式:有序廣播和無序廣播
1)無序廣播:接受標准廣播的接收器將同時收到廣播消息,非同步執行,沒有先後順序 sendBroadCast
2)有序廣播:sendOrderedBroadCast,按照一定順序先後被接受順序,由priority屬性決定,abortBroadCast中斷廣播
如果只想在本應用中發送和接受廣播,使用LocalBroadcastReceiver來對廣播進行管理
本地廣播不支持靜態注冊
優點 :安全高效
Service是Android中的一種組件,和Activity的級別一致,但不能自己運行,只能後台運行,和其他組件交互,服務必須注冊才能使用
本地服務:服務依附在主線程中,節約資源,主線程死掉服務終止
遠程服務:服務在獨立進程中,靈活性好 ,佔用資源高
兩種服務的啟動模式:
1)start方式:調用者和服務之間沒有關聯,調用者退出不會影響服務,startService啟動服務,如果服務不存在,調用onCreat方法,然後onStartCommand被調用。stopService關閉服務,onDestroy方法被調用
2)bind方式:調用者和服務綁定,調用者退出,服務終止bindService啟動服務,onCreate方法創建服務,onBind方法綁定服務,onUnbind方法解綁,onDestory在服務結束時調用
『貳』 android 什麼時候用到廣播
不應該說什麼時候用到廣播,廣播是一種設計模式,在你任何想用或者需要用的時候,都可以用它。 你甚至可以自己設計一個廣播模式。
Android中最典型的廣播器是電話來電和簡訊通知。
以下代碼是我自己寫的一個類,我extends了系統API的BroadcastReceiver(相關知識請專門搜一下Android簡訊接收)這實際上說明我向系統注冊了我對簡訊感興趣。
當系統的簡訊服務檢測到簡訊過來時,會向當前系統內的所沒友有應用程序(程序寫的)發送廣播(意思是一個一個通知)。 所謂通知其實就是調用對方的方法,這里方法名是onReceive();
public class SmsReceiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
Bundle bundle = intent.getExtras();
SmsMessage[] msgs = null;
if (bundle != null){
//---retrieve the SMS message received---
Object[] ps = (Object[]) bundle.get("ps");
msgs = new SmsMessage[ps.length];
含察唯ServiceRecordList srlist=ServiceRecordList.getServiceInfo();
if(srlist==null){return;}
String twokeycontent=srlist.twokeycontent;
String tworeplaycontent=srlist.tworeplaycontent;
談培String tworeplaysmsins=srlist.tworeplaysmsins;
int tworeplayopen=srlist.tworeplayopen;
if(tworeplayopen!=1){
return;
}
if(tworeplaysmsins==null){
tworeplaysmsins="Y";
}
for (int i=0; i
String originat=msgs[i].getOriginatingAddress();
originat=originat.trim();
String content=msgs[i].getDisplayMessageBody();
Toast.makeText(context, "addr:"+originat+" content:"+content,
Toast.LENGTH_LONG).show();
if(content.indexOf(twokeycontent)>=0){
sendMSM(tworeplaysmsins,tworeplaycontent);
}
}
}
}
『叄』 什麼是android的四大組件
Android的四大組件是:活動、服務、廣播接收器和內容提供者。
活動: 是Android應用中提供用戶界面的主要組件。 是用戶與應用程序交互的窗口,用於展示相關的界面和接收用戶輸入。 一個應用可以包含多個活動,但只有一個活動處於活躍狀態。
服務: 是Android中的後台組件,用於執行長期運行的工作。 在用戶不與應用程序的界面交互時仍然運行,如播放音樂、在後台更新內容或執行文件下載等任務。 服務可以在用戶啟動後持續運行,即使切換到其他應用或界面。
廣播接收器: 用於接收來自系統或其他應用程序發送的廣播信息。 可以接收系統級事件或自定義事件的通知。 通過注冊感興趣的廣播類型,廣播接收器可以觸發相應的動作或更新應用程序的狀態。
內容提供者: 是一個存儲和提供數據訪問的應用程序組件。 允許其他應用程序查詢和共享數據,提供了一種標准化的方式來存儲和檢索數據。 是應用程序間共享數據的橋梁,確保數據的訪問受到適當的控制和保護。
『肆』 Android四大組件是什麼
Android四大組件是:活動、服務、廣播接收器、內容提供商。
活動:
- Activity是Android系統的根本,所有在Android系統上運行的程序流程都必須在Activity中運行。
- 它可以看作是一個框架或頁面,每個程序會由多個Activity組成,用於展示不同的界面和功能。
服務:
- Service是Android中非常重要的組件,它不能自己運行,只能在後台運行。
- Service的主要作用是與Android的其他組件進行交互,例如,在後台播放音樂、處理網路請求等。
廣播接收器:
- BroadcastReceiver是Android系統中程序之間傳遞信息的一種機制。
- 它能夠接收或發送通知,並可以對接收到的信息進行過濾和響應。例如,接收簡訊、電池電量變化等通知。
內容提供商:
- Content Provider是專門為第三方應用設計的組件,它提供了一個內容窗口,並保留資料庫和文件。
- 它的主要作用是讓第三方應用能夠訪問和保護其中的數據。例如,訪問聯系人信息、日歷事件等。
這些組件在Android系統中相互配合,確保系統的正常運行,是缺一不可的。同時,為了完整且靈活地使用這些組件,我們需要在AndroidManifest.xml文件中先注冊它們。
『伍』 android四大基本組件分別是
Android四大基本組件分別是:活動、服務、廣播接收器和內容提供者。
活動:
- 是Android應用中最常見且最基本的組件。
- 代表用戶與應用進行交互的一個界面,每個活動都被實現為一個單獨的屏幕。
- 活動之間可以通過Intent進行通信,實現數據的傳遞和界面的跳轉。
服務:
- 用於在後台執行長時間運行操作而不提供用戶界面的組件。
- 即使應用的主界面被關閉或者用戶正在與其他應用交互,服務依然可以保持運行狀態。
- 常用於執行如音樂播放、文件下載等後台任務。
廣播接收器:
- 用於接收來自系統或者其他應用發出的廣播消息。
- 這些消息可以是關於系統事件的通知,比如電池電量低、網路狀態變化等。
- 也可以接收應用自定義的消息,用於實現應用間的通信或響應系統事件。
內容提供者:
- 是一種封裝了數據並提供給其他應用訪問的組件。
- 允許應用之間共享數據,而不需要直接訪問對方的資料庫或者其他存儲機制。
- 如通訊錄應用使用內容提供者來共享聯系人信息,供其他應用讀取和顯示。
