Java MQTT Android Studio和Raspberry PI代理
我正在学习MQTT和Android Studio。 我想在Android Studio中制作一个简单的应用程序,但我已经奋斗了4天了,我无法应付 应用说明: 1按钮-->按下-->发送至mqtt主题/消息(“mqtt”/“测试”) 就这些Java MQTT Android Studio和Raspberry PI代理,java,android,eclipse,mqtt,raspberry-pi3,Java,Android,Eclipse,Mqtt,Raspberry Pi3,我正在学习MQTT和Android Studio。 我想在Android Studio中制作一个简单的应用程序,但我已经奋斗了4天了,我无法应付 应用说明: 1按钮-->按下-->发送至mqtt主题/消息(“mqtt”/“测试”) 就这些 Mqtt Broker = rpi (IP: namerpibrok.ddns.net ) 代理工作正常,不需要密码或用户名 问题在于应用——这是我第一次使用Android Studio 我做了页面上描述的所有事情: 现在,当我按下按钮。。。。什么也没发生
Mqtt Broker = rpi (IP: namerpibrok.ddns.net )
代理工作正常,不需要密码或用户名
问题在于应用——这是我第一次使用Android Studio
我做了页面上描述的所有事情:
现在,当我按下按钮。。。。什么也没发生
MqttAndroidClient client;
private static final String TAG = "LOG";
// Used to load the 'native-lib' library on application startup.
static {
System.loadLibrary("native-lib");
}
private Object bytes;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String clientId = MqttClient.generateClientId();
client = new MqttAndroidClient(this.getApplicationContext(), "rpidomwroled.ddns.net:1883", clientId);
MqttConnectOptions options = new MqttConnectOptions();
try {
IMqttToken token = client.connect(options);
token.setActionCallback(new IMqttActionListener() {
@Override
public void onSuccess(IMqttToken asyncActionToken) {
// We are connected
Toast.makeText(MainActivity.this,"Połączono", Toast.LENGTH_LONG).show();
}
@Override
public void onFailure(IMqttToken asyncActionToken, Throwable exception) {
// Something went wrong e.g. connection timeout or firewall problems
Toast.makeText(MainActivity.this,"Połączono", Toast.LENGTH_LONG).show();
}
});
} catch (MqttException e) {
e.printStackTrace();
}
}
MqttAndroidClient client;
private static final String TAG = "LOG";
// Used to load the 'native-lib' library on application startup.
static {
System.loadLibrary("native-lib");
}
private Object bytes;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String clientId = MqttClient.generateClientId();
client = new MqttAndroidClient(this.getApplicationContext(), "rpidomwroled.ddns.net:1883", clientId);
MqttConnectOptions options = new MqttConnectOptions();
try {
IMqttToken token = client.connect(options);
token.setActionCallback(new IMqttActionListener() {
@Override
public void onSuccess(IMqttToken asyncActionToken) {
// We are connected
Toast.makeText(MainActivity.this,"Połączono", Toast.LENGTH_LONG).show();
}
@Override
public void onFailure(IMqttToken asyncActionToken, Throwable exception) {
// Something went wrong e.g. connection timeout or firewall problems
Toast.makeText(MainActivity.this,"Połączono", Toast.LENGTH_LONG).show();
}
});
} catch (MqttException e) {
e.printStackTrace();
}
}
公共作废发布(视图五)
{
字符串topic=“mqtt”;
String payload=“mqtt”;
字节[]encodedPayload=新字节[0];
试一试{
encodedPayload=payload.getBytes(“UTF-8”);
MqttMessage=新MqttMessage(encodedPayload);
发布(主题、消息);
}捕获(不支持编码异常| MqttException e){
e、 printStackTrace();
}
}
}
此代码为我工作
String topic = "mqtt";
MqttMessage message = new MqttMessage();
message.setPayload("Message from IoT dev".getBytes());
client.publish(topic, message);
你可以在家里接到回电
client.setCallback(new IoTCallbacks() {
@Override
public void connectionLost(Throwable cause) {
}
@Override
public void messageArrived(String topic, MqttMessage message) throws Exception {
}
@Override
public void deliveryComplete(IMqttDeliveryToken token) {
}
});
这个代码是为我工作的
String topic = "mqtt";
MqttMessage message = new MqttMessage();
message.setPayload("Message from IoT dev".getBytes());
client.publish(topic, message);
你可以在家里接到回电
client.setCallback(new IoTCallbacks() {
@Override
public void connectionLost(Throwable cause) {
}
@Override
public void messageArrived(String topic, MqttMessage message) throws Exception {
}
@Override
public void deliveryComplete(IMqttDeliveryToken token) {
}
});
修正了一些拼写错误并重新编写了一点。日志显示了什么?修正了一些拼写错误并重新编写了一点。日志显示了什么?