Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/179.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么会提出例外?_Java_Android_Exception_Mqtt_Paho - Fatal编程技术网

Java 为什么会提出例外?

Java 为什么会提出例外?,java,android,exception,mqtt,paho,Java,Android,Exception,Mqtt,Paho,任务:从android设备向MQTT服务器发送“Hello world” lib:PahoMqtt 3.1.1 IDE:AndroidStudio 3.5 清单权限: <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-perm

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

lib:PahoMqtt 3.1.1

IDE:AndroidStudio 3.5

清单权限:

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

<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />
问题:导致MqttException

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


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

MqttException引起的问题对我们来说是一种含糊不清的回答。你能给我们看一个stacktrace吗?而不是
info.setText(“Ops!出错:)”如果您想了解更多原因,您应该打印整个堆栈跟踪…您应该按照assylias的建议进行操作,并编辑您的问题以粘贴堆栈跟踪或其相关元素(如果您无法立即找到它)-这将帮助人们回答您。编辑问题以添加更多详细信息。另请参阅
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 android 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 :)");
            }
        }
    });