`
fokman
  • 浏览: 242679 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

android observer 处理handler消息

 
阅读更多

     在开发android网络应用程序,通常都会使用handler作为消息传递的方式,通过这种方式可以实时接收到server端发送过来的消息,然后根据消息的内容处理不同的界面显示。提高了应用程序的处理能力。

public class CmdObserverManager {
	private final static CmdObserverManager observer = new CmdObserverManager();
	private static ConcurrentHashMap<String, Handler> table = new ConcurrentHashMap<String, Handler>();

	private CmdObserverManager() {

	}

	public static CmdObserverManager getInstance() {
		return observer;
	}

	public void setObserver(String key, Handler handler) {
		if(!"".equals(key)&&null!=key){
			if (null != table.putIfAbsent(key, handler)) {
				table.replace(key, table.putIfAbsent(key, handler), handler);
			} 
		}
	}
	
	public Handler getObserver(String key) {
		return table.get(key);
	}

}

 

分享到:
评论

相关推荐

    Android observer 使用demo

    在Android开发中,Observer模式是一种常见的设计模式,用于实现对象之间的通信和状态更新。Observer模式的核心思想是"一对多"的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。...

    Looper observer

    Looper、Handler和MessageQueue是Android消息处理机制的三个核心组件,它们共同维护了Android应用的事件循环和异步处理。在这里,我们将深入探讨Looper、Observer模式以及它们在Android中的应用。 首先,理解Looper...

    Android 讲义 高焕堂讲义

    Message Queue,即消息队列,是Android中处理异步通信和UI更新的关键,主要通过Handler、Looper和Message三者协同工作,保证了UI线程的流畅运行。 5. **线程Thread模式**:31.软硬整合开发的基础 认识Android的线程...

    基于WIFI的android局域网及时通信软件

    8. **事件驱动编程**:使用Observer模式或者Handler机制来处理通信事件,如新消息到达时的通知和UI更新。 9. **安全考虑**:在局域网内通信时,虽然数据传输范围相对有限,但仍需关注数据的安全性,防止未授权的...

    Android实现的一对一聊天(socket),包括服务器和客户端,android studio2.3开发

    开发者可能使用了AsyncTask、Handler、Thread或Runnable配合Looper,或者使用现代的`ExecutorService`和`LiveData`来处理异步任务。 10. **消息通知与UI更新**: 为了保证用户界面的实时更新,开发者可能使用了...

    Android ListView 多线程下载 观察者模式更新

    首先,多线程是Android中处理耗时操作的关键技术。在ListView中,如果每个条目都直接进行网络下载,会占用主线程(UI线程)资源,使得界面无法及时响应用户操作。因此,我们需要将下载任务放在子线程中执行,以避免...

    android 内容观察者的使用

    在Android开发中,内容观察者(ContentObserver)是用于监听数据变化的重要工具,尤其是在处理ContentProvider中的数据更新时。本文将深入探讨如何在Android应用程序中有效地使用内容观察者,特别是针对短信数据库的...

    Android InterfaceDemo

    `Handler`类有一个`handleMessage(Message)`方法,它是`Handler`接口的一部分,用于处理来自其他线程的消息。这种方式也是接口回调的一种形式。 7. LiveData和Observer模式: Android Architecture Components中的...

    android tutorial

    理解AsyncTask、Handler、Looper和Thread池,以及使用现代的LiveData和ViewModel,可以帮助你优化后台处理,实现流畅的用户体验。 **6. 回调和监听器** 理解回调函数和事件监听器的工作原理,如OnClickListener、...

    给 Android 开发者的 RxJava 详解

    在Android开发中,异步操作通常由AsyncTask、Handler、Loader等Android API来处理。然而,这些工具虽然功能强大,但随着应用逻辑的复杂化,它们可能导致代码变得难以维护。RxJava提供了一种不同的方法来解决异步编程...

    《给 Android 开发者的 RxJava 详解》 PDF

    8. **使用 RxAndroid 和 RxBinding**:RxAndroid 是 RxJava 的扩展库,提供了针对 Android 平台的特定功能,如 Handler 或主线程调度。RxBinding 是另一个扩展库,用于绑定 Android 视图事件,如点击事件、滚动事件...

    观察者模式for android demo

    观察者模式(Observer Pattern)是设计模式中的一种行为模式,它在Android开发中扮演着重要的角色,主要用于实现对象之间的解耦。在这个“观察者模式for android demo”中,我们将深入探讨如何在Android环境中应用该...

    android 聊天程序, 附完整Demo

    4. **线程管理**:Android主线程负责处理用户交互,为了防止网络操作阻塞主线程,我们需要在后台线程(如AsyncTask或IntentService)中执行Socket通信。此外,Handler和Looper机制可用于在后台线程和主线程之间传递...

    Android源码设计模式

    9. **责任链模式** (Chain of Responsibility): `Handler`、`Looper`和`MessageQueue`构成的处理消息的机制就是责任链模式,它们形成一个链条,消息在链中传递,直到被合适的处理器处理。 10. **命令模式** ...

    android 线程间通信显示同步时间

    1. Handler-Looper-Messenger机制:Handler用于发送和处理消息,Looper管理消息队列,而Messenger则作为跨进程通信的桥梁。在子线程中创建Handler,通过post或者sendMessage方法发送Message对象到主线程的Handler,...

    Android中内容观察者的使用---- ContentObserver类详解

    这个类是Android框架的重要组成部分,特别是在处理数据变化和实时同步的应用场景下。本文将深入探讨ContentObserver的工作原理、如何使用以及其在实际应用中的实践。 一、ContentObserver概述 ContentObserver是一...

    Android-23种设计模式

    Android的`Handler`和`Message`机制是责任链模式的实例。 13. **策略模式(Strategy)**:定义一组相关或相互替换的算法,并将每个算法封装起来,使它们可以互相替换。Android的动画系统允许开发者选择不同的动画策略...

    Android多线程详解与Demo

    2. **Handler/Looper**:通过创建Handler和Looper,可以在后台线程和主线程之间传递消息,实现线程间的通信。这种方式适合处理需要长时间运行或者需要定期执行的任务。 3. **IntentService**:这是Android提供的一...

    Android应用源码之高仿墨迹天气.zip

    - 使用`AsyncTask`、`Handler`或`IntentService`处理后台任务,避免阻塞主线程。 - `LiveData`和`ViewModel`配合`Observer`模式,实现数据的实时更新和UI的自动刷新。 4. **权限管理**: - Android运行时权限...

    android多线程学习

    在子线程中处理耗时任务,然后通过Handler向主线程发送消息,由主线程的Looper循环处理这些消息并更新UI。 3. **AsyncTask**:Android提供了一种更简便的异步任务执行方式——AsyncTask。它可以轻松地实现后台操作...

Global site tag (gtag.js) - Google Analytics