Witam.
Tworzę aplikację mobilną w programie Android Studio.Chciałbym, aby aplikacja wyświetlała dane odczytane z mikrokontrolera (Arduino). W tym przypadku chodzi mi o temperaturę łazienki odczytaną przez mikrokontroler połączony już z telefonem. Chciałbym, aby wyświetlała się ona w miejscu Edittext temperaturaaktualna. Poniżej wklejam cały kod z Activity. W wyszczególnionym miejscu zacząłem coś "kombinować", jednak bez skutku.
Jak należy pobrać dane z urządzenia Bluetooth?
package com.dawid.smarthome;
import androidx.appcompat.app.AppCompatActivity;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.bluetooth.BluetoothSocket;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import java.io.IOException;
import java.io.InputStream;
import java.util.UUID;
public class lazienka extends AppCompatActivity {
BluetoothSocket btsocket = null;
String address = null;
BluetoothAdapter mojBT = null;
private boolean polaczenieBT = false;
static final UUID mojeUUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");
EditText temperaturaaktualna;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_lazienka);
Intent newint = getIntent();
address = newint.getStringExtra(MainActivity.EXTRA_ADDRESS);
new ConnectBT().execute();
temperaturaaktualna = findViewById(R.id.temperaturalazienki);
___________________________________________________________________________________________________________________________
try
{
btsocket.getInputStream()
}
catch (IOException e)
{
msg("Błąd");
}
___________________________________________________________________________________________________________________________
}
private void msg(String s)
{
Toast.makeText(getApplicationContext(),s,Toast.LENGTH_LONG).show();
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
int id = item.getItemId();
return super.onOptionsItemSelected(item);
}
private class ConnectBT extends AsyncTask<Void, Void, Void>
{
private boolean ConnectSuccess = true;
@Override
protected Void doInBackground(Void... devices) {
try {
if (btsocket == null || !polaczenieBT) {
mojBT = BluetoothAdapter.getDefaultAdapter();
BluetoothDevice nieudane = mojBT.getRemoteDevice(address);
btsocket = nieudane.createInsecureRfcommSocketToServiceRecord(mojeUUID);
BluetoothAdapter.getDefaultAdapter().cancelDiscovery();
btsocket.connect();
}
} catch (IOException e) {
ConnectSuccess = false;
}
return null;
}
}
}