Java 为相同的.getBytes()分配不同的消息
现在,我的用户界面有4个EditText对象。 第1行、第2行、第3行和第4行 我开始发送数据: 在第1行,字符串是4569 第2行的字符串是369 当我尝试使用msg.getBytes.length获取长度时,我只得到4,即第1行字符串的长度=4569。但实际上,我发送了两行数据,其中两行是用数据填充的EditText 但是我如何得到第2行、第3行和第4行的长度呢 buttonConnect.setOnClickListener将数据发送到蓝牙设备 sendMessageHandle方法:Java 为相同的.getBytes()分配不同的消息,java,Java,现在,我的用户界面有4个EditText对象。 第1行、第2行、第3行和第4行 我开始发送数据: 在第1行,字符串是4569 第2行的字符串是369 当我尝试使用msg.getBytes.length获取长度时,我只得到4,即第1行字符串的长度=4569。但实际上,我发送了两行数据,其中两行是用数据填充的EditText 但是我如何得到第2行、第3行和第4行的长度呢 buttonConnect.setOnClickListener将数据发送到蓝牙设备 sendMessageHandle方法: 堆
堆栈溢出是一件好事。它讨论了最小的代码,以便能够重现您的问题,而不会把所有代码弄得一团糟。你能试着让少量的代码以同样的方式运行吗@TheOneWhoPrograms-很抱歉。我已编辑以显示所涉及的主代码;但是你想打印contentRow2的长度???@ScaryWombat-我必须发送消息句柄-sendMessageHandlecontentRow1.getText.toString;和sendMessageHandlecontentRow2.getText.toString;但是对于getBytes,我只知道如何获取第1行的内容。如何获得第2行的长度?我真的不明白您的要求。也许英语不是你的母语,我很感激,但请努力解释。
buttonConnect.setOnClickListener(new View.OnClickListener() {
@SuppressLint("NewApi")
@Override
public void onClick(View arg0) {
if (count == 0) {
Toast.makeText(bluetoothtest.this,
"Please enable bluetooth first.",
Toast.LENGTH_LONG).show();
}
// Need API=14
else if (!socket.isConnected()) {
Toast.makeText(bluetoothtest.this,
"Connecting! Please wait.",
Toast.LENGTH_LONG).show();
}
else {
try {
sendMessageHandle(contentRow1.getText().toString());
sendMessageHandle(contentRow2.getText().toString());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
});
private void sendMessageHandle(String msg) throws InterruptedException {
final byte ANIMATION_MODE=1;
final byte PICTURE_MODE=2;
final byte TEXT_MODE=3;
//final String PAUSE = "1";
int temp,row;
sPrefs = getSharedPreferences("storeData",MODE_PRIVATE);
byte mode = (byte) sPrefs.getInt("Mode",1);
byte [] pictureData = new byte [129];
byte [] textSetting =new byte [5];
if (socket == null) {
Toast.makeText(mContext, "No connection", Toast.LENGTH_SHORT)
.show();
return;
}
try {
OutputStream outputStream = socket.getOutputStream();
if(mode==TEXT_MODE){
int l;
textSetting[0]= 4;
Thread.sleep(500);
l = msg.getBytes().length;
System.out.println("Length is "+ l);
outputStream.write(textSetting);
outputStream.write(msg.getBytes());
}
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
//outputStream.write(PAUSE.getBytes());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
list.add(new deviceListItem(msg, false));
mAdapter.notifyDataSetChanged();
chatList.setSelection(list.size() - 1);
}