Как отправить строку через Bluetooth из другой активности - PullRequest
0 голосов
/ 05 ноября 2018

Так что это моя проблема: я создал приложение, в котором мне нужно отправить строку через Bluetooth, String - это набор данных из счетчика. Спиннер находится в MainActivity, где он заполняется информацией из базы данных, и я получил простой BluetoothChat в другой игре под названием BtActivity. То, что я пытаюсь сделать, - это сделать так, чтобы информация о бланке (которую я получил в строке) отправлялась через Bluetooth, но, поскольку это другое занятие, я понятия не имею, как это сделать. В идеале, если возможно, строка будет отправлена ​​из MainActivity.

MainActivity важный код:

buttonSend.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            /*
            Collector of Pills
            */

            String shower = "";

            ArrayList<PillVO> list = PillVO.getPills(spinner.getSelectedItem().toString());

            for (PillVO p : list) {

                shower += p.getModulo() + ", " + p.getHorario() + "; ";

            }

/* This is the idea that I got for sending it

            BtActivity bta = new BtActivity();

            bta.SendMessageFromMain(shower);
*/
        }


    });

    loadSpinnerData();
} /// on create finishes

BtActivity важный код:

    public void SendMessage() {
    byte[] bytes = text.toString().getBytes(Charset.defaultCharset());
    Log.d(TAG, "SendMessage: "+ bytes);
    messages.setText(text.getText().toString());

    mConnectedThread.write(bytes);
}

/* Idea

public void SendMessageFromMain(String lolo) {
    byte[] bytes = lolo.toString().getBytes(Charset.defaultCharset());
    Log.d(TAG, "SendMessage: "+ bytes);
    messages.setText(text.getText().toString());

    mConnectedThread.write(bytes);
}
*/

1 Ответ

0 голосов
/ 05 ноября 2018

Просто отправьте строку на BtActivity через намерение.

В вашем MainActivity

buttonSend.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            /*
            Collector of Pills
            */

            String shower = "";

            ArrayList<PillVO> list = PillVO.getPills(spinner.getSelectedItem().toString());

            for (PillVO p : list) {

                shower += p.getModulo() + ", " + p.getHorario() + "; ";

            }

                    Intent intent = new Intent(MainActivity.this, BtActivity.class);
                    intent.putExtra("shower", shower);
                    startActivity(intent);
        }


    });

В BtActivity вы просто получаете строку, как

Bundle bundle = getIntent().getExtras();
String message = bundle.getString("shower");

mConnectedThread.write(message.getBytes());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...