我正在尝试计算如何长期存储我的应用程序数据。基本上我从Web服务获取数据列表,我不想在下次运行应用程序时返回Web服务。我宁愿把它存放在本地。我该怎么做?
我不介意将数据序列化为任何特定格式。我没有在Android的Xamarin网站上看到这一点。有一个iOS教程,但我对此不感兴趣。
答案 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) {
}