2013年4月27日

Spark研究笔记10:重要的工厂类SoundManager(原创)

摘要: SoundManager用于控制内置的声音文件,主要的方法:public void playClip(final AudioClip clip) { final Runnable playThread = new Runnable() { public void run() { try { clip.play(); } catch (Exception ex) { System.err.prin... 阅读全文

posted @ 2013-04-27 17:54 CVT-wangxin 阅读(228) 评论(0) 推荐(0) 编辑

Spark研究笔记9:重要的工厂类PresenceManager(原创)

摘要: PresenceManager用于用户的在线状态和模式处理,类 Presence 位于org.jivesoftware.smack.packet,说明:public enum Type { /** * The user is available to receive messages (default). */ available, /** * The user is unavailable to receive messages. */ unavailable, /... 阅读全文

posted @ 2013-04-27 17:53 CVT-wangxin 阅读(348) 评论(0) 推荐(0) 编辑

Spark研究笔记8:重要的工厂类PluginManager(原创)

摘要: PluginManager 负责装载所有的插件和Workspaces。私有域:private final List<Plugin> plugins = new ArrayList<Plugin>();//Plugin接口//PublicPlugin是注册的插件,字面含义是公开 private final List<PublicPlugin> publicPlugins = new CopyOnWriteArrayList<PublicPlugin>();//单例管理器 private static PluginManager singleton; 阅读全文

posted @ 2013-04-27 17:52 CVT-wangxin 阅读(306) 评论(0) 推荐(0) 编辑

Spark研究笔记7:重要的工厂类UserManager(原创)

摘要: UserManager用于处理所有用户的代理应用,每个用户或者所有正在聊天的用户都能被UserManager引用,你可以通过UserManager得到聊天室中的访问者。代码写的很清晰,懒得翻译了View Code /** * $RCSfile: ,v $ * $Revision: $ * $Date: $ * * Copyright (C) 2004-2011 Jive Software. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * yo 阅读全文

posted @ 2013-04-27 17:51 CVT-wangxin 阅读(405) 评论(0) 推荐(0) 编辑

Spark研究笔记6:重要的工厂类SessionManager(原创)

摘要: SessionManager负责在xmppconnection 连接会话处理。比如处理连接错误和添加会议监听和检索用户连接,等。SessionManager实现了接口ConnectionListener,ConnectionListener的定义:public interface ConnectionListener { public void connectionClosed(); public void connectionClosedOnError(Exception e); public void reconnectingIn(int seconds); public void re. 阅读全文

posted @ 2013-04-27 17:50 CVT-wangxin 阅读(386) 评论(0) 推荐(0) 编辑

Spark研究笔记5:重要的工厂类NativeManager(原创)

摘要: NativeManager目前主要是为了闪屏插件(org.jivesoftware.spark.plugin.flashing)服务的,主要是操作NativeHandler列表,而NativeHandler接口的主要实现类是FlashingHandler,FlashingHandler的定义:public class FlashingHandler implements NativeHandler { private FlashWindow flasher; public FlashingHandler() { flasher = new FlashWindow();... 阅读全文

posted @ 2013-04-27 17:48 CVT-wangxin 阅读(411) 评论(0) 推荐(0) 编辑

Spark研究笔记4:重要的工厂类DataManager(原创)

摘要: DataManager用于处理聊天室的关联数据。MetadataListener接口被定义成任意类型的Map对像,这非常有利于扩展:public interface MetadataListener { void metadataAssociatedWithRoom(ChatRoom room, Map<?, ?> metadata);}该类只有3个方法,非常简洁 public void addMetadataListener(MetadataListener listener) { metadataListeners.add(listener); } publ... 阅读全文

posted @ 2013-04-27 17:46 CVT-wangxin 阅读(208) 评论(0) 推荐(0) 编辑

Spark开发研究笔记专题[入口必读]

摘要: Spark研究笔记1:重要的静态工厂类SparkManagerSpark研究笔记2:重要的工厂类WorkspaceSpark研究笔记3:重要的工厂类ChatManagerSpark研究笔记4:重要的工厂类DataManagerSpark研究笔记5:重要的工厂类NativeManagerSpark研究笔记6:重要的工厂类SessionManagerSpark研究笔记7:重要的工厂类UserManagerSpark研究笔记8:重要的工厂类PluginManagerSpark研究笔记9:重要的工厂类PresenceManagerSpark研究笔记10:重要的工厂类SoundManagerSpark研 阅读全文

posted @ 2013-04-27 17:05 CVT-wangxin 阅读(816) 评论(0) 推荐(0) 编辑

Spark研究笔记3:重要的工厂类ChatManager(原创)

摘要: ChatManager处理大多数消息的监听和过滤器的注册,以及聊天室的创建和检索。它也被用来取得的chatframe的UI对象。ChatManager实现了MessageEventNotificationListener接口,该接口在Smack中定义。接口的方法: /** * 指消息已发出 * * @param from:发送者 * @param packetID:消息包ID */ public void deliveredNotification(String from, String packetID); /** *当接收到... 阅读全文

posted @ 2013-04-27 16:46 CVT-wangxin 阅读(777) 评论(0) 推荐(0) 编辑

Spark研究笔记2:重要的工厂类Workspace(原创)

摘要: 前言:上一节我们参观了工厂的中控指挥中心,接下来需要下到各个生产车间去看看了。Workspace是Spark的内置单例容器类,用于放置自定义的插件,比如新建一个Tab页: Workspace workspace = SparkManager.getWorkspace(); JButton button = new JButton("HELLO SPARK USERS"); workspace.getWorkspacePane().addTab("MyPlugin", button);它的私有域内置了Workspace、Tab容器TabbedPane、状态 阅读全文

posted @ 2013-04-27 11:49 CVT-wangxin 阅读(489) 评论(0) 推荐(0) 编辑

Spark研究笔记1:重要的静态工厂类SparkManager(原创)

摘要: 前言:想了解汽车是怎么生产的,就必须到工厂参观一下,而工厂的中控指挥中心,是一定要来看看的。想进入Spark开发,就必须先寻找一个入口,然后先轮廓后细节的学习,SparkManager就有些类似中控指挥中心,是非常好的学习入口。按SparkManager类代码的注释,可以这么理解:SparkManager是一个静态的中控管理类,他负责生成其他的管理类,比如ChatManager、PreferenceManager、SoundManager...比如在插件开发中需要处理系统声音,可以这样编写:final Runnable soundThread = new Runnable() { public 阅读全文

posted @ 2013-04-27 11:22 CVT-wangxin 阅读(754) 评论(0) 推荐(0) 编辑

导航