Android Wear消息API编码和解码字节[]
我已经编写了一个使用Android Wear消息API的简单应用程序。我遵循了许多指南,它们都使用类似的代码风格来发送带有一些数据的消息,这些数据应该是byte[]格式 发送消息的代码是Android Wear消息API编码和解码字节[],android,arrays,wear-os,Android,Arrays,Wear Os,我已经编写了一个使用Android Wear消息API的简单应用程序。我遵循了许多指南,它们都使用类似的代码风格来发送带有一些数据的消息,这些数据应该是byte[]格式 发送消息的代码是 Wearable.MessageApi.sendMessage(client, nodeId, message, "test".getBytes()); 接收代码是 final String messageData = new String(messageEvent.getData()); 这似乎适用于许多
Wearable.MessageApi.sendMessage(client, nodeId, message, "test".getBytes());
接收代码是
final String messageData = new String(messageEvent.getData());
这似乎适用于许多不同的指南和一些官方文档,但是变量messageData
最终包含[B@4b0ad22
而不是测试发送的数据
我还尝试了使用显式编码/解码
String messageData = new String(messageEvent.getData(), "UTF-8");
但这会引发java.io.UnsupportedEncodingException
编码或解码出了什么问题?您必须定义编码/解码,但还要将其包装在try/catch块中,以便接收代码如下所示
String messageData = "";
try {
messageData = new String(messageEvent.getData(), "UTF-8");
}
catch(Exception e)
{
Log.e("DecodingError", e.toString());
}
发送代码如下所示
try {
Wearable.MessageApi.sendMessage(client, nodeId, message, "test".getBytes("UTF-8"));
}
catch(Exception e)
{
Log.e("EncodingError", e.toString());
}