0

我试图弄清楚如何长期存储我的应用程序数据。基本上我从 Web 服务获取数据列表,并且我不想在下次运行应用程序时返回到 Web 服务。我宁愿只在本地存储它。我该怎么做呢?

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

4

1 回答 1

0

我个人将来自 web 服务的数据以原始格式复制到内存上的文本文件中。

因此,我只需像从 web 服务中一样打开文件中的 inputStream,并且我的代码保持干净。

但我想确实有成千上万种方法可以复制这些数据。我只是想分享一个我觉得更方便的。

代码仅供参考:

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) {
}
于 2013-06-10T13:30:29.573 回答