所以这是我的问题:我制作了一个需要通过蓝牙发送字符串的应用程序,该字符串是微调器中数据的集合。
微调框位于MainActivity
中,在该处使用数据库中的信息进行填充,在另一个名为BtActivity
的活动中,我得到了一个简单的BluetoothChat。
我正在尝试做的是使微调器的信息(我输入到String中)通过蓝牙发送,但是由于它是另一项活动,所以我不知道该怎么做。如果可能的话,最好是从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);
}
*/
答案 0 :(得分:0)
只需通过意图将字符串发送到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());