如何将数据存储到设备?

时间:2013-06-10 13:20:58

标签: android xamarin.android

我正在尝试计算如何长期存储我的应用程序数据。基本上我从Web服务获取数据列表,我不想在下次运行应用程序时返回Web服务。我宁愿把它存放在本地。我该怎么做?

我不介意将数据序列化为任何特定格式。我没有在Android的Xamarin网站上看到这一点。有一个iOS教程,但我对此不感兴趣。

1 个答案:

答案 0 :(得分:0)

我亲自将原始格式的webservice数据复制到内存中的文本文件中。

所以,我只需要从文件中打开inputStream,就像我在webservice中所做的一样,我的代码仍然是干净的。

但我想确实有数千种方法可以复制这些数据。 我只想分享一个我发现更方便的那个。

该代码仅供参考:

InputStream source = getStreamFromWebservice();// <= YOUR CODE HERE
File dir = context.getDir("CACHE", Context.MODE_PRIVATE);
dir.mkdirs();
File file = new File(dir, fileName);
// Write to Memory
try {
    FileOutputStream f = new FileOutputStream(file);
    byte[] buffer = new byte[32768];
    int read;
    try {
        while ((read = source.read(buffer, 0, buffer.length)) > 0) {
            f.write(buffer, 0, read);
        }
    } catch (IOException e) {
        e.printStackTrace();
    }
    f.close();
} catch (FileNotFoundException e) {
    e.printStackTrace();
} catch (IOException e) {
}