wth19970529 2019-04-18 09:24 采纳率: 0%
浏览 429
已采纳

java一个很简单的问题

图片说明图片说明
图片说明

完整的代码如上
MqttCallback 是接口
里面的messageArrived方法里收到服务器的消息,我想将里面的RSSI值提出来作为公共变量,以便算法调用;

目前试过的方法:
1)加public :不可行,messageArrived里面的变量只能用final修饰。
2)设置全局变量用来存储局部变量:不可行,如图,我定义了全局变量asd,将所需数据abc存进了这个全局变量,但asd的值只有在方法里才是我想要的值,在另外一个类里面调用这个全局变量,就不行了。不知道是不是我的方法不对。

暂未尝试过的方法:
1)反射
2)全局队列
这两种方法还没弄懂,之前提问有人回答过,但具体代码不知道该如何实现。

之前也提过几次问,一直没人给出有效方法,我是新手,才学几天java(真的不怎么会),因为本科毕设要用这一段程序,谁能帮我解决问题(具体点)我就采纳谁。

解释一下:
声望为负是因为一个id为caozhy的大佬,莫名其妙说我删他回答,不给他采纳。首先,我并没有删任何东西,也不知道该怎么删(因为毕设才入这个论坛),其次,他的回答也没有任何价值。我只想说,骗人死全家,就一点积分,我完成了毕设根本就不在乎,以后也不从事代码工作。不想再撕了。

再贴上我之前尝试的方法2)
图片说明

输出一直为初值0
而我想要的数据是这样的
图片说明

  • 写回答

1条回答 默认 最新

  • Derdrache1 2019-04-18 10:52
    关注
                public void  messageArrived(String topic, MqttMessage message) {
                   String mes =message.toString();
                   String rssi = mes.substring(mes.indexOf("rssi")+7,mes.indexOf("ibeaconTxPower")-2);
                   int abc = Integer.parseInt(rssi);
                   ClientMQTT.asd=abc;
                   System.out.println(ClientMQTT.asd);
                }
    

    如上

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 请问这个是什么意思?
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样