Android GreenDao 保存 JavaBean 或者List <JavaBean>类型数据

简介

数据库存储数据基本上每个APP都有用到,GreenDAO 是一个将对象映射到 SQLite 数据库中的轻量且快速的 ORM 解决方案,至于用法这里不再多少,网上有很资料,这里主要说一下,利用GreenDao保存JavaBean类型或者List类型的数据。

举个栗子

{
rating: {
max: ,
average: 7.9,
stars: "",
min:
},
genres: [
"动作",
"奇幻",
"冒险"
],
title: "海王",
casts: [
{
alt: "https://movie.douban.com/celebrity/1022614/",
avatars: {
small: "http://img1.doubanio.com/view/celebrity/s_ratio_celebrity/public/p32853.webp",
large: "http://img1.doubanio.com/view/celebrity/s_ratio_celebrity/public/p32853.webp",
medium: "http://img1.doubanio.com/view/celebrity/s_ratio_celebrity/public/p32853.webp"
},
name: "杰森·莫玛",
id: ""
},
{
alt: "https://movie.douban.com/celebrity/1044702/",
avatars: {
small: "http://img3.doubanio.com/view/celebrity/s_ratio_celebrity/public/p34697.webp",
large: "http://img3.doubanio.com/view/celebrity/s_ratio_celebrity/public/p34697.webp",
medium: "http://img3.doubanio.com/view/celebrity/s_ratio_celebrity/public/p34697.webp"
},
name: "艾梅柏·希尔德",
id: ""
},
{
alt: "https://movie.douban.com/celebrity/1010539/",
avatars: {
small: "http://img3.doubanio.com/view/celebrity/s_ratio_celebrity/public/p9206.webp",
large: "http://img3.doubanio.com/view/celebrity/s_ratio_celebrity/public/p9206.webp",
medium: "http://img3.doubanio.com/view/celebrity/s_ratio_celebrity/public/p9206.webp"
},
name: "威廉·达福",
id: ""
}
],
collect_count: ,
original_title: "Aquaman",
subtype: "movie",
directors: [
{
alt: "https://movie.douban.com/celebrity/1032122/",
avatars: {
small: "http://img3.doubanio.com/view/celebrity/s_ratio_celebrity/public/p1509950363.8.webp",
large: "http://img3.doubanio.com/view/celebrity/s_ratio_celebrity/public/p1509950363.8.webp",
medium: "http://img3.doubanio.com/view/celebrity/s_ratio_celebrity/public/p1509950363.8.webp"
},
name: "温子仁",
id: ""
}
],
year: "",
images: {
small: "http://img3.doubanio.com/view/photo/s_ratio_poster/public/p2541280047.webp",
large: "http://img3.doubanio.com/view/photo/s_ratio_poster/public/p2541280047.webp",
medium: "http://img3.doubanio.com/view/photo/s_ratio_poster/public/p2541280047.webp"
},
alt: "https://movie.douban.com/subject/3878007/",
id: ""
}

上面是豆瓣电影一个电影详情的数据,一般复杂,有一些套嵌JsonObject和JsonArray,数据库存储的都是基本类型,像上面那些objec或者array类型又改如何存到数据库中,这是个问题。GreenDao为我们提了一个解决方案,就是把这些数据统一都转成String类型,存到数据库中,用的时候再转成相应的类型。

具体分析

这里分别列数两个例子,一个是JsonObject, 一个是JsonArray的。
首先第一个字段rating,电影的评分,返回的是一个JsonObject,写出它的JavaBean

本文参考:

https://www.jianshu.com/p/9b817a62eb22

https://blog.csdn.net/zxm317122667/article/details/73528387

https://www.jianshu.com/p/5d6de7cda713

本博客地址: wukong1688

本文原文地址:https://www.cnblogs.com/wukong1688/p/10748077.html

转载请著名出处!谢谢~~

[Android] Android GreenDao 保存 JavaBean 或者List <JavaBean>类型数据的更多相关文章

  1. 一篇好文之Android数据库 GreenDao的完全解析

    数据库GreenDao.jpg 之前在开发过程中,数据库基本上会使用Litepal或者SQlite自己写,最近换新环境,公司原先使用的数据库就是GreenDao,在各种情况的作用下,准备了解下Gree ...

  2. Android之greenDao使用

    文章大纲 一.greenDao简介二.greenDao实战三.项目源码下载四.参考文章   一.greenDao简介 1. 什么是greenDao   GreenDAO是一个开源的Android OR ...

  3. Android 使用greenDAO 3.2.2 操作外部数据库

    项目开发中有时需要用到一些写死的数据,如公司的产品信息之类的.这就需要我们先把数据库文件保存在资源文件夹下,然后当应用创建时将数据库文件拷到应用安装目录的/databases/文件夹下,然后再对数据进 ...

  4. android中正确保存view的状态

    英文原文: http://trickyandroid.com/saving-android-view-state-correctly/ 转载此译文须注明出处. 今天我们聊一聊安卓中保存和恢复view状 ...

  5. [Android] Android 使用 Greendao 操作 db sqlite(2)-- 封装DaoUtils类

    继续接上文: Android 使用 Greendao 操作 db sqlite(1)-- 直接在MainActivity中调用 布局文件同上文一致,这里就不贴了. 一.封装DaoUtils类 User ...

  6. [Android] Android 使用 Greendao 操作 db sqlite(1)-- 直接在MainActivity中调用

    继续接上文: Android 使用 Greendao 操作 db sqlite 布局文件: activity_test_green.xml <?xml version="1.0&quo ...

  7. [Android] Android 使用 Greendao 操作 db sqlite

    Android 使用 Greendao 操作 db sqlite GreenDAO是一个开源的安卓ORM框架,能够使SQLite数据库的开发再次变得有趣.它减轻开发人员处理低级数据库需求,同时节省开发 ...

  8. [Android] Android 使用Greendao gradle 出现 Error:Unable to find method 'org.gradle.api.tasks.TaskInputs.file(Ljava/lang/Object;)

    Android 使用Greendao gradle 出现 Error:Unable to find method 'org.gradle.api.tasks.TaskInputs.file(Ljava ...

  9. 【转】android笔记--保存和恢复activity的状态数据

    一般来说, 调用onPause()和onStop()方法后的activity实例仍然存在于内存中, activity的所有信息和状态数据不会消失, 当activity重新回到前台之后, 所有的改变都会 ...

随机推荐

  1. Ajax 与文件上传

    一 Ajax篇 1 ajax简介(Asynchronous Javascript And XML) 异步,Js,XML,即使用Javascript语言与服务器进行异步交互,传输的数据为xml(可扩展标 ...

  2. Python开发【内置模块篇】日志模块

    logging配置 import logging logging.basicConfig(level=logging.WARNING, format='%(asctime)s %(filename)s ...

  3. Linux systemtap定位系统IO资源使用情况(ok)

    一.systemtap介绍 SystemTap是一个强大的调试工具,是监控和跟踪运行中的Linux 内核的操作的动态方法,确切的说应该是一门调试语言,因为它有自己的语法,也有解析.编译.运行等过程(准 ...

  4. ansible 与 Jinja2的结合

    1.文件架构 [root@master template]# tree . ├── jinj2_test.yml ├── meta ├── tasks ├── templates │   └── te ...

  5. 在物理内存中观察CLR托管内存及GC行为

    虽然看了一些书,还网络上的一些博文,不过对CLR托管内存细节依然比较模糊.而且因为工作原因总会有很多质疑,想要亲眼看到内存里二进制数据的变化. 所以借助winhex直接查看内存以证实书上的描述或更进一 ...

  6. 获取任意链接文章正文 API 功能简介

    此文章对开放数据接口 API 之「获取任意链接文章正文」进行了功能介绍.使用场景介绍以及调用方法的说明,供用户在使用数据接口时参考之用. 1. 产品功能 接口开放了根据提供的文章链接 Url 参数,智 ...

  7. express和cors跨域

    使用express框架: Express: Express 是一个保持最小规模的灵活的 Node.js Web 应用程序开发框架,为 Web 和移动应用程序提供一组强大的功能. Express 框架核 ...

  8. 深入Eureka/Feign/Hystrix原理学习(1)

    第一步: 创建注册中心项目,引入cloud discovery相关依赖. ①在pom文件中引入相关依赖. ②在启动类上加上@EnableEurekaServer注解,标注这是一个注 册中心. ③在ap ...

  9. ubuntu only enable left click

    xmodmap -e "pointer = 1 0 0 0 0 0 0 0 0 0"

  10. python之模块、包的导入过程和开发规范

    摘要:导入模块.导入包.编程规范 以My_module为例,My_module的代码如下: __all__ = ['name','read'] print('in mymodule') name = ...