Я пытаюсь создать кнопку в своем приложении, которая при нажатии обращается к URL-ссылке, поэтому я могу заставить ESP8266 открывать реле. Я тестировал браузер, и код ESP работает, а в моем приложении - нет. Я видел, что мне нужно создать java class f =, а в XML просто назвать его .execute. Это код xml:
<Button
android:id="@+id/offbutton"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_marginEnd="20dp"
android:background="@drawable/circularbuttonshape"
android:backgroundTint="#040404"
android:text="OFF"
android:textColor="@color/whitecolor"
android:textSize="21dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.864"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.406" />
, а для класса java
package com.example.myapplication;
import android.os.AsyncTask;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
public class Offbttn extends AsyncTask<Void,Void,String>{
@Override
protected String doInBackground(Void... voids){
try {
URL url = new URL("http://192.999.9.999/lightoff");
HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
InputStream inputStream = httpURLConnection.getInputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
}
catch (MalformedURLException e)
{
}
catch (IOException e)
{
e.printStackTrace();;
}
return null;
}
@Override
protected void onPostExecute(String aVoid){
super.onPostExecute(aVoid);
}
}
я могу без проблем попробовать другой метод, если он работает, просто дайте мне знать.