openfire+asmack搭建的安卓即时通讯(四) 15.4.10

之前的教程不知道你们成功了没,,,没成功可以问我啊=-=

第四篇博文是要实现发送消息的功能。

首先在我们登陆后的活动的layout里添加这样的两个控件,一个EditText和一个Button用于发送数据

 1  <EditText android:id="@+id/edit_text_out"
 2             android:layout_width="0dp"
 3             android:layout_height="wrap_content"
 4             android:layout_weight="1"
 5             android:layout_gravity="bottom"
 6             android:hint="说点什么呢?"    
 7             />
 8  <Button
 9             android:id="@+id/button_send"
10             android:layout_width="wrap_content"
11             android:layout_height="wrap_content"
12             android:scaleType="centerCrop"
13             android:text="sent"
14             android:layout_gravity="bottom"
15             android:background="#00000000"
16             />

然后回到该活动,添加Button和Button的监听事件:

 1         Button button=(Button)findViewById(R.id.button_send);  //找到Button
 2         button.setOnClickListener(new View.OnClickListener() {
 3             @Override
 4             public void onClick(View v) {
 5                 EditText input=(EditText) findViewById(R.id.edit_text_out);  //找到EditText
 6                 final String content=input.getText().toString();         //把里面的东西去出来转化为字符串
 7                 Log.i(username+"说===", content);                  //打印在日志里
 8                 try {
 9                     XMPPConnection connection = connect.getConnection();    //与服务器进行连接
10                     ChatManager cm = connection.getChatManager();        
11                     Chat chat=cm.createChat(“[email protected]/Spark 2.6.3”, new MessageListener() {//传入两个参数一个是说话对象:这里我们放入我们服务器管理员的名字写的时候要加ip和版本号,第二个参数是消息的监听者
12                         @Override
13                         public void processMessage(Chat chat, Message msg) {  //设置消息的监听
14                             msg.setBody(content);                  //msg(注意是asmack包里的)把我们取出的输入内容放进去
15                             Log.i(msg.getFrom() + "说:" + msg.getBody());    //打印日志
16
17                         }
18                     });
19                     Message m = new Message();                //把信息发送给对方
20                     m.setBody(content);        
21                     chat.sendMessage(m.getBody());
22                 } catch (XMPPException e) {
23                     e.printStackTrace();
24                 }
25             }
26         });

在编辑栏输入一堆东西

我们就能看到服务器端的打印数据了,一次是发送监听到的,一次是接收监听到的

我们在打开Spark的客户端给我们的虚拟机登录用户发送一条数据:

我们在Spark的客户端登录admin就能接收到这条消息了!

这样我们就既能发送数据,又能接收数据了!客户端的初级功能就基本完成

明天或者下午有空的话会写下一篇,进行简单的美化和修整,毕竟总不能界面这么丑,接受发送还靠打印日志啊!

求推荐=-=!

时间: 2024-11-02 18:55:31

openfire+asmack搭建的安卓即时通讯(四) 15.4.10的相关文章

openfire+asmack搭建的安卓即时通讯(七) 15.5.27

本地化之章! 往期传送门: 1.http://www.cnblogs.com/lfk-dsk/p/4398943.html 2.http://www.cnblogs.com/lfk-dsk/p/4411625.html 3.http://www.cnblogs.com/lfk-dsk/p/4412126.html 4.http://www.cnblogs.com/lfk-dsk/p/4413693.html 5.http://www.cnblogs.com/lfk-dsk/p/4419418.h

openfire+asmack搭建的安卓即时通讯(六) 15.4.16

啊啊啊啊啊啊啊啊,这东西越做越觉得是个深坑啊! 1.SharedPreferences.Editor的密码保存和自动登录: 首先还是从主界面开始,因为要提升一下用户体验自然要加入保存密码和自动登录的功能. 1 <CheckBox 2 android:text="保存密码" 3 android:layout_weight="1" 4 android:id="@+id/save_password" 5 android:layout_width=

openfire+asmack搭建的安卓即时通讯(二) 15.4.9

www.meimeidu.com/Theme/Details/150708/www.meimeidu.com/Theme/Details/150707/www.meimeidu.com/Theme/Details/150706/www.meimeidu.com/Theme/Details/150705/www.meimeidu.com/Theme/Details/150704/www.meimeidu.com/Theme/Details/150703/www.meimeidu.com/Theme

openfire+asmack搭建的安卓即时通讯(五) 15.4.12

这一篇博客其实是要昨天写的,但昨天做了作修改就停不下来了,这次的修改应该是前期开发的最终回了,其余的功能有空再做了,下周可能要做一些好玩的东西,敬请期待! 1.修改下Logo:(Just We) http://romannurik.github.io/AndroidAssetStudio/   可以用这个网站来做哦,上传个图片就可以哦! 2.添加欢迎页: 我自己画了个Just We的欢迎页 这里是添加欢迎页活动的代码,把程序的启动活动换为Open活动: 1 public class Open e

operfire+asmack搭建的安卓即时通讯(三) 15.4.9

(能用得上话的话求点赞=-=,我表达不好的话跟我说哦) 上一次我们拿到了服务器端的组数据和用户信息,这就可以为我们日后使用好友系统打下基础了! 但是光是拿到了这些东西我们怎么能够满足呢?我们一个即时通讯软件最重要的不就是要能够通讯么!所以我们下一步就要接受别人发来的数据. 1 public static void findMan(){ 2 System.out.println("--------find start----------"); 3 Roster roster = conn

operfire+asmack搭建的安卓即时通讯(二) 15.4.9

上期没有放成果图呢!忘了=-=,这就是上次的成果图,textview里面会显示登陆的名字(这个是默认管理员帐号=-=) 好吧,登陆了服务器我们就有了交互的功能啦可以说是前进了一大步呢!下面能我们就要试试从服务器拿一些数据打印出来(服务器定义的群组) 那就开始吧. 首先我另外注册了三个用户来进行测试 还创建了一个组(原谅我起名的无聊) 对了,还要指定共享名字,并把用户加入组成员中! 接着在工具类里面写一个findman()函数用来查找组和打印组: 1 public static void find

operfire+asmack搭建的安卓即时通讯(一) 15.4.7

http://www.midifan.com/moduleuser-index-423354.htmhttp://www.midifan.com/moduleuser-index-423250.htmhttp://www.midifan.com/moduleuser-index-423393.htmhttp://www.midifan.com/moduleuser-index-423386.htmhttp://www.midifan.com/moduleuser-index-423480.htm

Openfire XMPP Smack RTC IM 即时通讯 聊天

目录 目录简介Openfire 简介相关的几个名词SmackSparkJIDXMPPOpenfire 安装配置测试代码初始化登录服务器登录底层报文通讯简要解析登录底层报文通讯简要解析服务器判断客户端是否在线发送消息测试案例代码项目结构MainActivity常用功能封装的工具栏 简介 Demo地址:https://github.com/baiqiantao/OpenFireTest.git 官网 官方文档 OpenFire下载 Openfire 简介 Openfire Openfire是一个根据

安卓即时通讯聊天界面及动态表情实现

最近因工作需要,一直在研究即时通讯,偶尔在网上看到一篇介绍发送类似qq动态表情的文章,觉得很不错,于是经过本人的整理及改善,做成一个demo,供大家一块研究学习,界面及功能如下: 其中接收的消息是在自己发送消息后模拟对方发来的消息已达到效果,具体可下载demo研究,里面的注释也比较清楚,有这方面需求的同学可以简单的学习下其布局,收发消息后的处理以及发送表情等的实现过程. 源码地址:http://download.csdn.net/detail/baiyuliang2013/7973133