我正在使用GSON在我的各种应用程序中解析一些JSON提要。
我使用本教程和此代码使其工作:http://www.javacodegeeks.com/2011/01/android-json-parsing-gson-tutorial.html
InputStream source = retrieveStream(url);
Gson gson = new Gson();
Reader reader = new InputStreamReader(source);
//***************************************************
//Should I add some code here to save to SDCARD?
//***************************************************
SearchResponse response = gson.fromJson(reader, SearchResponse.class);
List<Result> results = response.results;
for (Result result : results) {
Toast.makeText(this, result.fromUser, Toast.LENGTH_SHORT).show();
}
我的问题在评论中设定: 如何将此InputStreamReader保存到SDCArd以供离线使用?
我用Google搜索了很多但找不到实现此目的的方法。
我想,一旦得到答案,我将用以下代码替换第3行代码:
InputStream source = new InputStream("/sdcard/my_json_file.txt");
非常感谢任何帮助,我想我不是唯一需要实现这一目标的人......
答案 0 :(得分:0)
source
复制到您创建的FileOuputStream - 请参阅下文 - source
将此新流发送到您的InputStreamReader
public static void copyStream(InputStream input, OutputStream output)
{
byte[] buffer = new byte[32768];
int read;
while ((read = input.read(buffer, 0, buffer.length)) > 0)
{
output.write (buffer, 0, read);
}
}