当前位置:   article > 正文

Android 客户端通过tcp/ip与服务端发送、接收消息、下拉列表等功能(JAVA)_如何通过ip地址和端口号接收手机的消息

如何通过ip地址和端口号接收手机的消息

参考各种大神分享的资料同时在同时指点下,终于实现了,动态改IP、端口,Android客户端与服务端(采用的网络调试助手)之间互相收发消息。
依靠inputstream 与outputstream 实现数据流的接收与发送。中间以JSON字符串作为数据的传输格式。

添加了滑动开关,以表示连接或者断开网络,目前正在解决,监控连网状态。。。。
在这里插入图片描述
当前已实现的,还有人性化的东西需要继续完善,也有不少问题需要花时间去解决。
防止在Json字符串转换过程出现中文乱码问题在后面加“gbk”.
在这里插入图片描述

Java数据读取时,防止文件中有中文出现乱码的情况,第一、对于字节流读取时,采用(new InputStreamReader(file,编码格式)函数,编码格式采用“gbk”,in = new BufferedReader(new InputStreamReader(
socket.getInputStream(),“gbk”));
第二、对于按字符流读取时,编码格式采用“UTF-8” 的方式。 in = new BufferedReader(new InputStreamReader(
socket.getInputStream(),“UTF-8”));
Android UI添加下拉列表功能:

QT直接有集成的控件,然而Android 没有,网上参考了
https://blog.csdn.net/u013068887/article/details/78294580 此篇博客,并将其添加到本界面中并加以改造,
下拉列表内容是可变的,添加了一个加载按钮当点击时,列表才会生成。因为本界面是基于Socket通信进行收发数据的,
因此,需将选中列表的数据发送给服务端,然后再接收服务端发来的信息, 此篇博主提醒采用eventbus 来实现,已实现了改功能,最终效果与Qt下拉 列表效果一样。
**

EventBus 添加依赖:

**
build.gradle中配置:

dependencies {
......
implementation 'org.greenrobot:eventbus:3.1.1'
  • 1
  • 2
  • 3

一行就配置好了。
使用就是三步:
注册/注销:
注册:EventBus.getDefault().register(this);
注销:EventBus.getDefault().unregister(this);
发布:EventBus.getDefault().post(messageEvent);
接收(包含四种模式):MAIN、POSTING、BACKGROURD、ASYNC
@Subscribe(threadMode = ThreadMode.MAIN)
public void XXX(MessageEvent messageEvent) {

}
处理消息的方法名字可以随便取,但是需要加一个注解@Subscribe,并且要指定线程模型。
具体可参考:https://www.jianshu.com/p/f9ae5691e1bb
https://blog.csdn.net/harvic880925/article/details/40660137

在这里插入图片描述

在这里插入图片描述
新的效果图:(2019.08.13)
以及电脑服务端新功能的添加已完成:按照所要求Excel格式保存缺货记录
同时完成通过modbusTCP协议与车体进行通信****(Modbus4j),控制车体到相应位置,外加控制灯带辅助拣货等功能。
以及输入目标位置转发的服务端,然后发送到车体,使车体运行到目标位置等功能。

在这里插入图片描述
在这里插入图片描述
Android客户端功能基本完成,电脑服务端需对后台数据进行处理,作为手持终端与运动车体之间的信息控制桥梁。
即:手持终端Android客户端与主机服务端(基于socket的TCP/IP )通信,主机与车体之间Modbus TCP通信,主机作为Master,车体作为slave。
未完。。。。。。。
等理清之后继续补充
注:因涉及公司项目,不便公布源码

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/一键难忘520/article/detail/988180
推荐阅读
相关标签
  

闽ICP备14008679号