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 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 lammps拉伸应力应变曲线分析
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试,帮帮忙吧
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建