К сожалению, я всегда получаю сообщение об ошибке при использовании кода.
Мой код:
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
try {
HttpResponse<String> response1 = Unirest.put("http://192.168.1.151:80/api/09107DA986/lights/1/state")
.header("Content-Type", "application/x-www-form-urlencoded")
.body("{ \"on\": " + true + ",\r\n \"bri\": " + 100 + ",\r\n \"hue\": " + 5000 + ",\r\n \"sat\": " + 100 + ",\r\n \"transitiontime\": " + 0 + "\r\n}")
.asString();
} catch (UnirestException e) {
e.printStackTrace();
}
}
});
Ошибка:
W/System.err: com.mashape.unirest.http.exceptions.UnirestException: android.os.NetworkOnMainThreadException
at com.mashape.unirest.http.HttpClientHelper.request(HttpClientHelper.java:130)
at com.mashape.unirest.request.BaseRequest.asString(BaseRequest.java:51)
at com.example.smarthome.MainActivity$1.onClick(MainActivity.java:29)
at android.view.View.performClick(View.java:7339)
at android.widget.TextView.performClick(TextView.java:14221)
at android.view.View.performClickInternal(View.java:7305)
at android.view.View.access$3200(View.java:846)
at android.view.View$PerformClick.run(View.java:27787)
W/System.err: at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7063)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:494)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:965)
Caused by: android.os.NetworkOnMainThreadException
at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1513)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:389)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:230)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:212)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:436)
at java.net.Socket.connect(Socket.java:621)
W/System.err: at local.org.apache.http.conn.socket.PlainConnectionSocketFactory.connectSocket(PlainConnectionSocketFactory.java:72)
at local.org.apache.http.impl.conn.HttpClientConnectionOperator.connect(HttpClientConnectionOperator.java:118)
at local.org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:314)
at local.org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:363)
at local.org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:219)
at local.org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195)
at local.org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:85)
at local.org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108)
at local.org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:186)
at local.org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
at local.org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:106)
at local.org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57)
at com.mashape.unirest.http.HttpClientHelper.request(HttpClientHelper.java:125)
... 14 more
Я надеюсь, что кто-то может Помоги мне. Я пытался запустить эти HTTP-запросы в течение нескольких часов! Я также надеюсь, что вы можете что-то сделать с сообщением об ошибке.