Sending And Receiving Message Through Xmpp On Android
I am a beginner for chatting app. I searched and studied xmpp servers. I installed openfire xmpp server. The connection with xmpp server, registration and login tasks are done. Now
Solution 1:
I found this solution for this:
For sending message
private ArrayList<String> messages = newArrayList<String>();
privateHandlermHandler=newHandler();
@OverridepublicvoidonClick(View v) {
// TODO Auto-generated method stubswitch (v.getId()) {
case R.id.btnsendmsg:
Stringto="cac6ba9dc9c6ac67@pc";
Stringtext= edgetmsg.getText().toString();
Messagemsg=newMessage(to, Message.Type.chat);
msg.setBody(text);
if (connection != null) {
connection.sendPacket(msg);
messages.add(connection.getUser() + ": " + text);
//messages.add(connection.getUser() + ":");//messages.add(text);
Log.v("text send", connection.getUser().toString());
Toast.makeText(FirstPage.this, "txt send",
Toast.LENGTH_SHORT).show();
setListAdapter();
Rosterroster= connection.getRoster();
Collection<RosterEntry> entries = roster.getEntries();
for (RosterEntry entry : entries) {
Log.d("XMPPChatDemoActivity",
"--------------------------------------");
Log.d("XMPPChatDemoActivity", "RosterEntry " + entry);
Log.d("XMPPChatDemoActivity",
"User: " + entry.getUser());
Log.d("XMPPChatDemoActivity",
"Name: " + entry.getName());
Log.d("XMPPChatDemoActivity",
"Status: " + entry.getStatus());
Log.d("XMPPChatDemoActivity",
"Type: " + entry.getType());
PresenceentryPresence= roster.getPresence(entry
.getUser());
Log.d("XMPPChatDemoActivity", "Presence Status: "
+ entryPresence.getStatus());
Log.d("XMPPChatDemoActivity", "Presence Type: "
+ entryPresence.getType());
Presence.Typetype= entryPresence.getType();
if (type == Presence.Type.available)
Log.d("XMPPChatDemoActivity", "Presence AVIALABLE");
Log.d("XMPPChatDemoActivity", "Presence : "
+ entryPresence);
// entryPresence.setPriority(1);// connection.sendPacket(entryPresence);// Toast.makeText(XMPPChatDemoActivity.this,// "gettting user", Toast.LENGTH_SHORT).show();
}
} else {
Log.i("XMPPChatDemoActivity", "no massage send");
Log.e("XMPPChatDemoActivity", "Failed to log in as "
+ connection.getUser());
}
break;
}
}
call setConnection(connection); after getting user login
For receiving message:
publicvoidsetConnection(XMPPConnection connection) {
this.connection = connection;
if (connection != null) {
// Add a packet listener to get messages sent to usPacketFilter filter = newMessageTypeFilter(Message.Type.chat);
connection.addPacketListener(newPacketListener() {
@OverridepublicvoidprocessPacket(Packet packet) {
Message message = (Message) packet;
if (message.getBody() != null) {
String fromName = StringUtils.parseBareAddress(message
.getFrom());
Log.i("XMPPChatDemoActivity", "Text Recieved "
+ message.getBody() + " from " + fromName);
messages.add(fromName + ": " + message.getBody());
//messages.add(fromName + ":");//messages.add(message.getBody());// Add the incoming message to the list view
mHandler.post(newRunnable() {
publicvoidrun() {
setListAdapter();
}
});
}
}
}, filter);
}
}
Post a Comment for "Sending And Receiving Message Through Xmpp On Android"