Skip to content Skip to sidebar Skip to footer

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"