Я застрял в программе, нужна помощь. У меня есть класс фрагмента, в котором у меня есть несколько функций, но мне нужна только одна функция из него в другом классе, этот класс не является классом фрагмента. Я использовал Intent , но из-за этого я не могу передать какую-либо функцию. пример кода ниже. Мне нужна целая функция ReadData в другом классе. так как значение данных меняется каждую секунду, поэтому я хочу, чтобы на другом экране отображалось
public class ModeFragment extends Fragment implements TitledFragment {
public void readData(){
if(manager.getConnectedDevices().size()<=0){
Toast.makeText(ModeFragment.this.getActivity(),"No connected devices", Toast.LENGTH_LONG).show();
return;
}
device1 = manager.getConnectedDevices().get(0);
Map<String , String> reciveData = getSpecificServiceInfo(device1 , CHARACTERISTIC_READABLE);
for (Map.Entry<String, String> e : reciveData.entrySet()){
manager.read(device1, e.getKey(), e.getValue(), new BleReadCallback() {
@Override
public void onRead(byte[] data, BleDevice device) {
Toast.makeText(ModeFragment.this.getActivity(), "Read success! data: " + new String(data), Toast.LENGTH_LONG).show();
// String str = data.toString();
// List<String> data1 = Arrays.asList(str.split(","));
Intent intent = new Intent(getActivity() , BluetoothActivity.class);
intent.putExtra("data" , data.toString());
startActivity(intent);
}
@Override
public void onFail(int failCode, String info, BleDevice device) {
// Toast.makeText(ModeFragment.this.getActivity(), "Read fail! data: " + info, Toast.LENGTH_LONG).show();
}
});
}
}
private void onclick(){
Intent intent = new Intent(ModeFragment.this.getActivity() , BluetoothActivity.class);
intent.putExtra("key" , "value of Key");
startActivity(intent);}}
Другой класс:
public class BluetoothActivity extends AppCompatActivity {
ModeFragment modeFragment = new ModeFragment();
modeFragment.readData();
Intent intent = getIntent();
String str = intent.getStringExtra("key");
sensor_1_value.setText(str);
Toast.makeText(BluetoothActivity.this , str , Toast.LENGTH_LONG).show();
}
, но по намерению я получаю только эту спецификацию c Значение.