首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过GSON为SharedPreferences保存ImageView?

通过GSON为SharedPreferences保存ImageView?
EN

Stack Overflow用户
提问于 2014-02-04 21:41:02
回答 1查看 595关注 0票数 0

我想通过gson在共享首选项中保存一个对象(类型为MyObject):

PS:store and retrieve a class object in shared preference

因此,MyObject中的一个字段是从url获取的ImageView。

现在,当我这样做的时候:

代码语言:javascript
运行
复制
String json = gson.toJson(myObject);

我得到了一个堆栈溢出错误。当我从我的MyObject POJO中注释掉ImageView时,这个错误就解决了。

Q1- -仅有8-10张图片。那么我如何通过gson存储它们呢?

Q2-通过gson存储图像是一种很好的做法吗?如果不是,那么我还有什么更好的选择呢?

我认为这个错误是由于将ImageView转换为字符串造成的。

EN

回答 1

Stack Overflow用户

发布于 2014-02-04 21:49:09

您存储的数据可以转换为字符串或数字(long、int...)在gson/sharedpreferences中。

你不能也不应该存储ImageView,因为它是一个用于在安卓布局中显示图像的UI对象。

话虽如此,试着将你的实际图像保存到一个属于你的应用程序的私人目录中,而不是这样。

代码语言:javascript
运行
复制
try {
   Bitmap bmp = yourImageView.getDrawingCache();
   FileOutputStream out = new FileOutputStream(pathToOutputFile);
   bmp.compress(Bitmap.CompressFormat.PNG, 100, out);
   out.close();
  } catch (Exception e) {
   e.printStackTrace();
  }

有关安卓存储的更多信息,请访问:Storage Guide

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21554145

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档