mirror of
https://github.com/vanitasvitae/Smack.git
synced 2024-11-26 05:52:06 +01:00
Updated for new API. Thanks to Michael Hunter.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@7042 b35dd754-fafc-0310-a699-88a17e54d16e
This commit is contained in:
parent
a5a6697496
commit
85dcb0a5c4
1 changed files with 44 additions and 30 deletions
|
@ -1,74 +1,88 @@
|
|||
<html>
|
||||
<head>
|
||||
<title>Smack: Chat - Jive Software</title>
|
||||
<link rel="stylesheet" type="text/css" href="style.css" />
|
||||
<title>Smack: Chat - Jive Software</title>
|
||||
<link rel="stylesheet" type="text/css" href="style.css"/>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
Messaging using Chats
|
||||
Messaging using Chats
|
||||
</div>
|
||||
|
||||
<div class="nav">
|
||||
« <a href="index.html">Table of Contents</a>
|
||||
« <a href="index.html">Table of Contents</a>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
Sending messages back and forth is at the core of instant messaging. Although individual messages
|
||||
can be sent and received as packets, it's generally easier to treat the string of messages
|
||||
as a chat using the <tt>org.jivesoftware.smack.Chat</tt> class.
|
||||
Sending messages back and forth is at the core of instant messaging. Although individual
|
||||
messages
|
||||
can be sent and received as packets, it's generally easier to treat the string of messages
|
||||
as a chat using the <tt>org.jivesoftware.smack.Chat</tt> class.
|
||||
</p>
|
||||
|
||||
<p class="subheader">
|
||||
Chat
|
||||
Chat
|
||||
</p>
|
||||
|
||||
A chat creates a new thread of messages (using a thread ID) between two users. The
|
||||
following code snippet demonstrates how to create a new Chat with a user and then send
|
||||
them a text message:<p>
|
||||
|
||||
<div class="code"><pre>
|
||||
<font color="gray"><i>// Assume we've created an XMPPConnection name "connection".</i></font>
|
||||
Chat newChat = connection.createChat(<font color="green">"jsmith@jivesoftware.com"</font>, new MessageListener() {
|
||||
<div class="code"><pre><font color="gray"><i>// Assume we've created an XMPPConnection name
|
||||
"connection".</i></font>
|
||||
ChatManager chatmanager = connection.getChatManager();<br>Chat newChat = chatmanager.createChat(<font
|
||||
color="green">"jsmith@jivesoftware.com"</font>, new MessageListener() {
|
||||
|
||||
public void processMessage(Chat chat, Message message) {
|
||||
System.out.println(<font color="green">"Received message: "</font> + message);
|
||||
}
|
||||
});
|
||||
chat.sendMessage(<font color="green">"Howdy!"</font>);
|
||||
</pre></div><p>
|
||||
}); <br>try {
|
||||
chat.sendMessage(<font color="green">"Howdy!"</font>); <br>} catch (XMPPException e) {<br> System.out.println("Error Delivering block");<br>}<br><br>
|
||||
</pre>
|
||||
</div>
|
||||
<p>
|
||||
|
||||
The <tt>Chat.sendMessage(String)</tt> method is a convenience method that creates a Message
|
||||
object, sets the body using the String parameter, then sends the message. In the case
|
||||
that you wish to set additional values on a Message before sending it, use the
|
||||
<tt>Chat.createMessage()</tt> and <tt>Chat.sendMessage(Message)</tt> methods, as in the
|
||||
following code snippet:<p>
|
||||
The <tt>Chat.sendMessage(String)</tt> method is a convenience method that creates a Message
|
||||
object, sets the body using the String parameter, then sends the message. In the case
|
||||
that you wish to set additional values on a Message before sending it, use the
|
||||
<tt>Chat.createMessage()</tt> and <tt>Chat.sendMessage(Message)</tt> methods, as in the
|
||||
following code snippet:
|
||||
|
||||
<p>
|
||||
|
||||
<div class="code"><pre>
|
||||
Message newMessage = newChat.createMessage();
|
||||
newMessage.setBody(<font color="green">"Howdy!"</font>);
|
||||
message.setProperty(<font color="green">"favoriteColor"</font>, <font color="green">"red"</font>);
|
||||
newChat.sendMessage(newMessage);
|
||||
</pre></div><p>
|
||||
</pre>
|
||||
</div>
|
||||
<p>
|
||||
|
||||
You'll also notice in the example above that we specified a MessageListener when creating a chat.
|
||||
The listener is notified any time a new message arrives from the other user in the chat.
|
||||
The following code snippet uses the listener as a parrot-bot -- it echoes back everything the other user types.<p>
|
||||
You'll also notice in the example above that we specified a MessageListener when creating a
|
||||
chat.
|
||||
The listener is notified any time a new message arrives from the other user in the chat.
|
||||
The following code snippet uses the listener as a parrot-bot -- it echoes back everything the
|
||||
other user types.
|
||||
|
||||
<p>
|
||||
|
||||
<div class="code"><pre>
|
||||
<font color="gray"><i> // Assume a MessageListener we've setup with a chat.</i></font>
|
||||
<font color="gray"><i> // Assume a MessageListener we've setup with a chat.</i></font>
|
||||
|
||||
public void processMessage(Chat chat, Message message) {
|
||||
<font color="gray"><i>// Send back the same text the other user sent us.</i></font>
|
||||
chat.sendMessage(message.getBody());
|
||||
}
|
||||
</pre></div><p>
|
||||
</pre>
|
||||
</div>
|
||||
<p>
|
||||
|
||||
<br clear="all" /><br><br>
|
||||
<br clear="all"/><br><br>
|
||||
|
||||
<div class="footer">
|
||||
Copyright © Jive Software 2002-2007
|
||||
Copyright © Jive Software 2002-2007
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
|
Loading…
Reference in a new issue