我试图弄清楚如何长期存储我的应用程序数据。基本上我从 Web 服务获取数据列表,并且我不想在下次运行应用程序时返回到 Web 服务。我宁愿只在本地存储它。我该怎么做呢?
我不介意将数据序列化为任何特定格式。我在适用于 Android 的 Xamarin 网站上没有看到这个。iOS 有一个教程,但我对此不感兴趣。
我试图弄清楚如何长期存储我的应用程序数据。基本上我从 Web 服务获取数据列表,并且我不想在下次运行应用程序时返回到 Web 服务。我宁愿只在本地存储它。我该怎么做呢?
我不介意将数据序列化为任何特定格式。我在适用于 Android 的 Xamarin 网站上没有看到这个。iOS 有一个教程,但我对此不感兴趣。
我个人将来自 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) {
}