Как сделать так, чтобы кнопка открывала URL-адрес для ESP8266, чтобы что-то делать - Android Studio - PullRequest
0 голосов
/ 02 августа 2020

Я пытаюсь создать кнопку в своем приложении, которая при нажатии обращается к 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);
    }
}

я могу без проблем попробовать другой метод, если он работает, просто дайте мне знать.

...