wth19970529 2019-04-16 11:10 采纳率: 0%
浏览 1652

java怎么在另外一个类里面调用一个无返回值方法里面的局部变量呢?

在mqtt订阅代码里面,我想将订阅的消息里面的部分内容提取出来作为另外一个方法里的变量。但是mqtt的messagearrived方法默认是无返回值的,所以想知道该怎么调用一个无返回值方法的局部变量。

public static void subscribe() {
try {
MqttClient client = new MqttClient(serviceURI, clientID, persistence);
client.setCallback(new MqttCallback() {
@Override
public void connectionLost(Throwable cause) {
System.out.println("订阅者连接丢失...");
System.out.println(cause.getMessage());
}

            @Override
            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);
                System.out.println("第一个网关的RSSI值: "+Integer.parseInt(rssi));
            }
            @Override
            public void deliveryComplete(IMqttDeliveryToken token) {
            }
        });

        MqttConnectOptions connectOptions = new MqttConnectOptions();
        connectOptions.setUserName(username);
        connectOptions.setPassword(password.toCharArray());
        connectOptions.setCleanSession(false);
        //订阅者连接订阅主题
        client.connect(connectOptions);
        client.subscribe(topic, qos);
        System.out.println("订阅者连接状态: " + client.isConnected());
    } catch (MqttException e) {
        e.printStackTrace();
    }

}

想要获取messagearrived里的rssi,调用到另外一个类里面

  • 写回答

2条回答 默认 最新

  • 强化脑细胞 2019-04-16 11:26
    关注

    定义全局变量,用于存储局部变量,之后通过对象调用。

    评论

报告相同问题?

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题