ImageListDownDBBean是一个我们需要存储的数据Bean对象,里面有自增长的id,itemID,tag,downTag,模糊图集合mDimImageList,原图集合mReallyImageList,在此,我们用mDimImageList,来做案例,原图同理可得!

1.这个是GreenDao的Bean对象(只截取了相对应的字段,其他可以通过在Android Studio中使用Build> Make Project,重写build项目会生成相对于的Dao对象)

@Entity
public class ImageListDownDBBean {@Id(autoincrement = true)private Long id;@Uniqueprivate String itemID;private String tag;       //这个是查询是否存在的条件private String downTag;   //默认0没有点击下载离线模式下不加载,点击了下载设置更新为1,离线模式显示@Convert(columnType = String.class, converter = DimConverter.class)private List<DimImageBean> mDimImageList;@Convert(columnType = String.class, converter = ReallyConverter.class)private List<ReallyImageBean> mReallyImageList;

在此我们存储mDimImageList,和mReallyImageList,两个List,这里用mDimImageList来做案例

2.先写一个模糊图数据Bean

/*** LoveLin* <p>* Describe 模糊图*/
public class DimImageBean {private String dimFilePath;public String getDimFilePath() {return dimFilePath;}public void setDimFilePath(String dimFilePath) {this.dimFilePath = dimFilePath;}@Overridepublic String toString() {return "DimImageBean{" +"dimFilePath='" + dimFilePath + '\'' +'}';}
}

3.再写该类的converter,实现PropertyConverter,从而实现存储list


/*** LoveLin* <p>* Describe 实现PropertyConverter,从而实现存储list*/
public class DimConverter implements PropertyConverter<List<DimImageBean>,String> {//将数据库中的值,转化为实体Bean类对象(比如List<String>)@Overridepublic List<DimImageBean> convertToEntityProperty(String databaseValue) {if (databaseValue==null){return null;}List<String> list_str = Arrays.asList(databaseValue.split(","));List<DimImageBean> list_transport = new ArrayList<>();for (String s : list_str) {list_transport.add(new Gson().fromJson(s, DimImageBean.class));}return list_transport;}//将实体Bean类(比如List<String>)转化为数据库中的值(比如String)@Overridepublic String convertToDatabaseValue(List<DimImageBean> arrays) {if (arrays == null) {return null;} else {StringBuilder sb = new StringBuilder();for (DimImageBean array : arrays) {String str = new Gson().toJson(array);sb.append(str);sb.append(",");}return sb.toString();}}
}

到此,就完成了对list集合数据的存储,已下是简单的使用案例~~

//~~~~~~这个是简单的案例~~~~~~~~
//创建数据库Bean对象
mImageListBean = new ImageListDownDBBean();​​​​​​​ArrayList<DimImageBean> list00 = new ArrayList<>();
for (int i = 0; i < dimImageList.size(); i++) {//创建DimImageBean数据存储单条数据DimImageBean dimBean = new DimImageBean();dimBean.setDimFilePath(dimImageList.get(i));list00.add(dimBean);
}
//存入模糊图片路径的list
mImageListBean.setMDimImageList(list00);

GreenDao存List案例相关推荐

  1. python爬取前程无忧scrapy存mogondb案例

    一.分析网页 新:python爬取前程无忧scrapy存mogondb案例+可视化 原网页直达 1.比如java字段,可以先拿到全部的el获取java字段的href,然后在逐个访问进入详情页 2.编写 ...

  2. python前程无忧scrapy存mogondb案例+可视化显示

    一.介绍 python前程无忧scrapy存mogondb案例 接上篇前程无忧案例:spiders和item文件有稍加改动,这里先行奉上啦! 项目结构图: 岗位工资对比 岗位数显示 岗位职责词云 sp ...

  3. C++11多线程实现银行存取款案例

    案例分析: 实际生活中,如果有一对情侣共用一张银行卡,假如,一个男生去存款,一个女生去取款.女生在取款的时候,男生存款,抢占了取款操作线程.如果不做线程的同步就会导致的结果是,女生取了款但是数据库没有 ...

  4. java 多线程 事件_java 多线程-线程不安全案例

    抢票案例: public class n { public static void main(String[]args) throws InterruptedException { web wb=ne ...

  5. 企业级应用能帮助闪存走出产能过剩时代吗?

    2015年第四季度全球NAND闪存市场规模为83.1亿美金,与上一年同期相比降低2.3%. DRAMeXchange表示,NAND闪存价格降低了9-10%,市场供大于求.本季度eMMC和SSD产品的价 ...

  6. 【问链财经-区块链基础知识系列】 第十九课 区块链应用于电子存证

    编者按:在传统的具有法律效益的存证需要第三方权威公证处进行公证,并且需要绑定时间戳和相关信息,步骤繁琐,进度比较慢,后来存证电子化后一定程度上提高了效率.节省了成本,但也会有一些其他的问题,比如第三方 ...

  7. 百宝云ERP管理系统行业案例

    百宝云ERP管理系统行业案例 百宝云企业版是一款支持自定义开发的ERP系统,支持定制管理云应用,支持独立网络运行环境,并且集成虚拟桌面和在线表单的系统. 百宝云企业版覆盖了客户.项目.库存和采购供应生 ...

  8. AgileEAS.NET SOA 中间件2013第四季度发布部分功能开源预告

    一.前言 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市 ...

  9. 仓库每天的账怎样做_新年第一站,济南:仓储匠人仓库问题解决与实战力培训...

    [时间地点] 1月15-16日,济南站 济南市天桥区无影山北路88号祥云酒店5楼(师范路西口) [报名方式] 直接加微信号"taishan33976",注明姓名+公司名+仓储匠人. ...

最新文章

  1. Vaptcha验证码配置实现人机验证
  2. 虚拟启动光盘-从ISO光盘镜像引导系统
  3. WINDOWS 蓝屏错误代码说明一览表
  4. Openlayers中使用Image的rotation实现车辆定位导航带转角(判断车辆图片旋转角度)
  5. python中调用c库
  6. React Native 加载多类型布局的实现——分类列表SectionList的封装
  7. java看图_看图吧,Java
  8. python外星人入侵不显示子弹_【Python】python外星人入侵,武装飞船,代码写好后,不显示子弹...
  9. vs2005菜单:工具-选项-环境
  10. Oracle中 char varchar varchar2的区别
  11. DotNetty网络通信框架学习
  12. c语言创建线程代码,如何用C语言实现多线程
  13. 用Scheme写Scheme编译器(三):一元运算
  14. JAVA 7 正式版发布 新特性一览表
  15. 升级:myeclipse 2015 ci 16发布
  16. win10默认系统字体更改
  17. avod论文理解与代码解读
  18. 谷歌浏览器默认最小字体的解决方法以及各浏览器对字体大小的支持
  19. 养生产品如何进行线上推广?产品线上推广的渠道有哪些?
  20. 如何用计算机解开op手机密码,oppo清除锁屏密码【操作技巧】

热门文章

  1. java中如何做展示 IP 属地的功能(至尊典藏版)
  2. SMT贴片LCR首件检测的作用
  3. 家用中央空调保养与不保养的区别在哪里?
  4. 全面剖析FLASH在线大头贴
  5. 经营管家|工程项目管理效率低?新一代数字化ERP助您降本增效
  6. MySQL 插入、更新与删除表中数据
  7. 什么是盒模型(Box Model)
  8. WebStorm激活码输入后报错_Mac、win10:this license xxx has been cancelled
  9. Zxy97Encryption 加密程序
  10. excel表格内文字怎么换行_打印表格时试试给每页尾部添上同样的文字吧!||Excel技巧...