Отправка данных через Websockets в Android по кнопке

Начал писать приложение для андроид, которое отправляет данные через Websokets по нажатию кнопки. Я начинающий ламер, поэтому мой код это переделанный код, который я одолжил у людей из интернета. Установить соединение по кнопке у меня получилось, а вот отправить данные не могу, потому что webSocket.send("t") не находится в области видимости... Объявление переменной в начале кода не помогло. Если вы знаете решение, помогите мне, пожалуйста

package com.example.yaga;

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import okhttp3.WebSocket;
import okhttp3.WebSocketListener;
import okio.ByteString;

public class MainActivity extends AppCompatActivity {

    private Button  button_connect;
    private Button  button_disconnect;
    private Button  button_switch;
    private TextView  text;
    private static final int NORMAL_CLOSURE_STATUS = 1000;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        button_connect = findViewById(R.id.button_connect);
        button_switch = findViewById(R.id.button_switch);
        text = findViewById(R.id.text_out);

        button_connect.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                start();
            }
        });
        button_switch.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                send_switch();
            }
        });
    }

    // WebSocket
    private final class EchoWebSocketListener extends WebSocketListener {
        @Override
        public void onOpen(WebSocket webSocket, Response response) {
            // open
            output("WebSocket connected to ws://192.168.1.4:81");
        }

        @Override
        public void onMessage(WebSocket webSocket, String text) {
            // message
            output("Rx: " + text);
        }

        @Override
        public void onClosing(WebSocket webSocket, int code, String reason) {
            // close
            output("Closed: " + code + " / " + reason);
        }

        @Override
        public void onFailure(WebSocket webSocket, Throwable t, Response response) {
            // fail
            output("Error: " + t.getMessage());
        }
    }

    private void start() {
        OkHttpClient okHttpClient = new OkHttpClient();
        Request request = new Request.Builder().url("ws://192.168.1.4:81").build();
        EchoWebSocketListener listener = new EchoWebSocketListener();
        final WebSocket webSocket = okHttpClient.newWebSocket(request, listener);
    }

    private void send_switch() {
        // Как отправить webSocket.send("Сообщение");
        webSocket.send("t");
    }

    private void output(final String txt) {
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                text.setText(text.getText().toString() + "\n\n" + txt);
            }
        });
    }
}


Ответы (0 шт):