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

第四篇博文是要实现发送消息的功能。 首先在我们登陆后的活动的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(“admin@172.6.33.68/Spark 2.6.3”, new MessageListener() {//传入两个参数一个是说话对象:这里我们放入我们服务器管理员的名字写的时候要加ip和版本号,第二个参数是消息的监听者12                         @Override13                         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就能接收到这条消息了!

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

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

求推荐=-=!

更多相关文章

  1. SpringBoot 2.0 中 HikariCP 数据库连接池原理解析
  2. 一句话锁定MySQL数据占用元凶
  3. delphi xe5 android 手机上使用sqlite
  4. App版本更新时对SQLite数据库升级或者降级遇到的问题
  5. Android开发:实现popupwindow中显示listview
  6. 详解Android提交数据到服务器的两种方式四种方法
  7. Android——使用DatePicker和TimePicker显示当前日期和时间
  8. Android(安卓)数据存储之SQLite
  9. Android客户端和服务器端数据交互的第二种方法

随机推荐

  1. Android:从程序员到架构师之路Ⅲ_高焕堂
  2. Android NVidia Tegra2平台Camera架构浅
  3. android 实现ImageView按压效果和解决背
  4. Android通过RandomAccessFile 向文件中写
  5. 10、Android中广播接收者-BroadcastRecei
  6. Android中html.fromhtml的使用方法
  7. Android——getSystemService
  8. Android中多图片选择器PhotoPicker库的使
  9. Android中ExpandableListView的用法实例
  10. Android Application详解