Android蓝牙客户端接收xml

时间:2015-07-30 11:41:35

标签: android xml bluetooth

我是Android开发的新手,我正在创建简单的蓝牙应用程序,可以接收xml文件并将xml文件值保存到数据库。但是如何从bytes数组中接收xml文件?可能吗?搜索后我发现this question并基于该问题我尝试将字节数组保存到文件中。但是我需要测试它呢?我在手机中找不到我的文件。

                  case Constants.MESSAGE_READ:
                    byte[] readBuffer = (byte[]) msg.obj;

                    try {
                        String path = activity.getFilesDir() + "/myFile.xml";
                        Log.d("MuTestClass", path);
                        FileOutputStream stream = new FileOutputStream(path);
                        stream.write(readBuffer);
                        stream.close();
                    } catch (Exception e1) {
                        e1.printStackTrace();
                    }
                    break;

1 个答案:

答案 0 :(得分:0)

您可以使用:

class Utils{

    public static InputStream openFile(String filename) throws IOException{
        AssetManager assManager = getApplicationContext().getAssets();
        InputStream is = null;
        is = assManager.open(filename);
        return new BufferedInputStream(is);
    }

    public static byte[] readBytes(InputStream inputStream) throws IOException {
        ByteArrayOutputStream byteBuffer = new ByteArrayOutputStream();

        int bufferSize = 1024;
        byte[] buffer = new byte[bufferSize];
        int len = 0;

        while ((len = inputStream.read(buffer)) != -1) {
            byteBuffer.write(buffer, 0, len);
        }
        return byteBuffer.toByteArray();
    }
}
像这样:

try {
     Utils.readBytes(Utils.openFile("something.xml"));
} catch (IOException e) {
     e.printStackTrace();
}