有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java为什么会引发异常?

任务:从安卓设备向MQTT服务器发送“Hello world”

lib:PahoMqtt 3.1.1

IDE:Android Studio 3.5

清单权限:

<uses-permission 安卓:name="安卓.permission.WAKE_LOCK" />
<uses-permission 安卓:name="安卓.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission 安卓:name="安卓.permission.ACCESS_NETWORK_STATE" />

<uses-permission 安卓:name="安卓.permission.READ_PHONE_STATE" />
<uses-permission 安卓:name="安卓.permission.READ_EXTERNAL_STORAGE" />
<uses-permission 安卓:name="安卓.permission.INTERNET" />

Android的代码:

private String topic    = "Lesson_MQTT_server";
private String broker   = "tcp://[host]:[port];
private char [] pass    = "the_password".toCharArray(); // Fake pass
private String user     = "the_user";
private String userId   = "the_user_id";
private String content  = "Hello world from 安卓 device!";
private int qos         = 2;
private MqttMessage message;
private MqttConnectOptions options;
private MqttClient client;
private TextView info;
private Button clickButton;



@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    info = (TextView)findViewById(R.id.HelloWorld);
    clickButton = (Button)findViewById(R.id.MyButton);

    clickButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            try {
                message = new MqttMessage();
                message.clearPayload();
                message.setPayload(content.getBytes());
                message.setQos(qos);
                message.setRetained(true);

                options = new MqttConnectOptions();
                options.setMqttVersion(MqttConnectOptions.MQTT_VERSION_3_1_1);
                options.setAutomaticReconnect(false);
                options.setCleanSession(false);
                options.setUserName(userId);
                options.setPassword(pass);

                client = new MqttClient (broker, user);
                client.connect(options);
                client.publish(topic, message);
                client.disconnect(10);
                client.close();

                info.setText("Check your server:)");

            } catch (MqttException ex){
                info.setText("Ops! Something went wrong :)");
            }
        }
    });

问题:MqttException导致

我的观察:如果我使用EclipseIDE,这段代码可以很好地工作

MqttException:原因:null,原因代码:0,消息:MqttException


共 (0) 个答案