使用Ion write(outputStream)

时间:2013-08-01 21:55:12

标签: android networking androidasync-koush ion-koush

我不了解write(outputStream)方法应该如何在Ion中使用。我的目标是获得一个可以直接输入杰克逊的InputStream:

Response<OutputStream> response = Ion.with(context, "http://example.com/mydata.json").write(outputStream).withResponse().get();
MyModel m = jacksonJsonMapper.convertValue(inputStream, MyModel.class);

但我很遗憾输入和输出流的位置,以及如何将它们相互连接。

1 个答案:

答案 0 :(得分:0)

好的,找出了基于这个答案的解决方案:Most efficient way to create InputStream from OutputStream

看起来我想使用PipedOutputStream和PipedInputStream。因为我们现在阻止从InputStream读取,我不再想阻止Ion调用,所以我删除了.get()。最终代码类似于:

PipedInputStream inputStream = new PipedInputStream();
PipedOutputStream outputStream = new PipedOutputStream(inputStream);
Ion.with(context, "http://example.com/mydata.json").write(outputStream).withResponse();
MyModel m = jacksonJsonMapper.convertValue(inputStream, MyModel.class);