成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

在Android中實現service動態更新UI界面

移動開發 Android
本文向您介紹使用通過service向遠程服務器發送請求,使主程序接收廣播實時接收廣播來更新應用程序的UI。

之前我們曾向您介紹過Android的UI設計與后臺線程交互,據Android API的介紹,service一般是在后臺運行的,沒有界面的。那么如何實現service動態更新UI界面呢?

案例:通過service向遠程服務器發送請求,根據服務器返回的結果動態更新主程序UI界面,主程序可實時關閉或重啟服務。

注冊BroadcastReceiver

在主程序activity中注冊一個BroadcastReceiver,用于接收Service發布的廣播。

  1. @Override 
  2. protected void onStart() {//重寫onStart方法  
  3.     dataReceiver = new DataReceiver();  
  4.     IntentFilter filter = new IntentFilter();//創建IntentFilter對象  
  5.     filter.addAction("com.justel.serviceBC");  
  6.     registerReceiver(dataReceiver, filter);//注冊Broadcast Receiver  
  7.     super.onStart();  

停止service命令

主程序activity可發布廣播,用于向后臺service傳遞數據或控制信息,如停止service命令。

  1.       btnStop.setOnClickListener(new OnClickListener() {//為按鈕添加點擊事件監聽     
  2.     @Override 
  3.     public void onClick(View v) {//重寫onClick方法  
  4.         Intent myIntent = new Intent();//創建Intent對象  
  5.         myIntent.setAction("com.justel.service");  
  6.         myIntent.putExtra("cmd", CMD_STOP_SERVICE);  
  7.         sendBroadcast(myIntent);//發送廣播  
  8.     }  
  9. }); 

接收廣播

后臺service注冊BroadCastReceiver用于接受主程序發送的廣播

  1. @Override 
  2. public int onStartCommand(Intent intent, int flags, int startId) {//重寫onStartCommand方法  
  3.     IntentFilter filter = new IntentFilter();//創建IntentFilter對象  
  4.     filter.addAction("com.justel.service");  
  5.     registerReceiver(cmdReceiver, filter);//注冊Broadcast Receiver  
  6.     doJob();//調用方法啟動線程,自己來完成  
  7.     return super.onStartCommand(intent, flags, startId);  

實時發送 

后臺service在doJob()方法中連接服務器并向主程序實時發送廣播。

  1. /**  
  2.  * 啟動一個子純種并連接服務器,接收服務器返回數據data。代碼略。。。  
  3.  */ 
  4. Object data;//服務器返回的數據data  
  5. Intent intent = new Intent();//創建Intent對象  
  6. intent.setAction("com.justel.service");  
  7. intent.putExtra("data", data);  
  8. sendBroadcast(intent);//發送廣播 

至此,我們實現了主程序通過接收廣播實時更新應用的UI界面。

 

【編輯推薦】

  1. Android應用開發入門五問
  2. 多圖詳解Android應用程序提交發布全過程
  3. 在Eclipse下搭建Android開發環境教程
  4. Android的UI設計與后臺線程交互
責任編輯:佚名 來源: JavaEye
相關推薦

2016-09-07 13:49:11

AppiumAndroid UI應用

2025-04-29 08:21:30

ANRAndroidUI

2011-05-25 10:32:19

SQLite

2022-02-23 20:56:31

Windows 11快捷鍵太陽谷2

2009-08-19 11:07:41

2009-06-18 09:42:52

SpringXFire構建Web

2017-04-17 19:31:03

Android多線程

2009-01-03 14:54:40

ibmdwXML

2024-09-05 09:35:58

CGLIBSpring動態代理

2011-06-01 10:58:54

Android Service

2021-04-18 07:49:18

Android微軟OneDrive

2015-09-06 09:23:23

Android異步更新

2013-09-16 15:42:00

Android優化界面UI

2013-09-16 15:33:28

Android優化界面UI

2013-09-16 15:50:04

Android優化界面UI

2013-10-09 11:27:16

Android 4.4界面

2016-10-28 21:47:44

開發經驗Android

2023-11-06 13:17:53

ServiceAndroid

2011-06-28 17:21:50

QT UI designer

2017-05-11 21:30:01

Android動態代理ServiceHook
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产伦精品一区二区三区高清 | 国产亚洲成av人在线观看导航 | 国产综合久久久久久鬼色 | 国产精品一区二区三区在线 | 性精品| 亚洲精品自在在线观看 | 久久综合九色综合欧美狠狠 | 亚洲高清在线 | 欧美成年网站 | 国产精品99久久久久 | 亚洲最新网址 | 中文字幕免费 | 视频一区二区在线观看 | 久久久久久久久久久久一区二区 | 亚洲美乳中文字幕 | 欧美午夜一区 | 日本一区二区在线视频 | 成人av观看 | 午夜精品视频在线观看 | 日本一二三区在线观看 | 中文字幕日韩av | 色综合一区二区 | 亚洲人va欧美va人人爽 | 国产精品久久久久久一区二区三区 | 欧美精品一区二区蜜桃 | 日韩色视频 | 成人久久 | 欧美日韩精品一区二区三区四区 | 一区二区三区视频在线观看 | 亚洲激情av | 亚洲精品一区二区冲田杏梨 | 日本成年免费网站 | 国产精品夜间视频香蕉 | 日本亚洲一区 | 中文字幕二区 | 中文字幕在线网 | av黄色免费 | 欧美日韩国产一区二区三区不卡 | 91一区二区三区在线观看 | 黄色免费在线观看网站 | 在线 丝袜 欧美 日韩 制服 |