[Android] Android GreenDao 保存 JavaBean 或者List <JavaBean>类型数据
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
[Android] Android GreenDao 保存 JavaBean 或者List <JavaBean>类型数据的更多相关文章
- 一篇好文之Android数据库 GreenDao的完全解析
数据库GreenDao.jpg 之前在开发过程中,数据库基本上会使用Litepal或者SQlite自己写,最近换新环境,公司原先使用的数据库就是GreenDao,在各种情况的作用下,准备了解下Gree ...
- Android之greenDao使用
文章大纲 一.greenDao简介二.greenDao实战三.项目源码下载四.参考文章 一.greenDao简介 1. 什么是greenDao GreenDAO是一个开源的Android OR ...
- Android 使用greenDAO 3.2.2 操作外部数据库
项目开发中有时需要用到一些写死的数据,如公司的产品信息之类的.这就需要我们先把数据库文件保存在资源文件夹下,然后当应用创建时将数据库文件拷到应用安装目录的/databases/文件夹下,然后再对数据进 ...
- android中正确保存view的状态
英文原文: http://trickyandroid.com/saving-android-view-state-correctly/ 转载此译文须注明出处. 今天我们聊一聊安卓中保存和恢复view状 ...
- [Android] Android 使用 Greendao 操作 db sqlite(2)-- 封装DaoUtils类
继续接上文: Android 使用 Greendao 操作 db sqlite(1)-- 直接在MainActivity中调用 布局文件同上文一致,这里就不贴了. 一.封装DaoUtils类 User ...
- [Android] Android 使用 Greendao 操作 db sqlite(1)-- 直接在MainActivity中调用
继续接上文: Android 使用 Greendao 操作 db sqlite 布局文件: activity_test_green.xml <?xml version="1.0&quo ...
- [Android] Android 使用 Greendao 操作 db sqlite
Android 使用 Greendao 操作 db sqlite GreenDAO是一个开源的安卓ORM框架,能够使SQLite数据库的开发再次变得有趣.它减轻开发人员处理低级数据库需求,同时节省开发 ...
- [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 ...
- 【转】android笔记--保存和恢复activity的状态数据
一般来说, 调用onPause()和onStop()方法后的activity实例仍然存在于内存中, activity的所有信息和状态数据不会消失, 当activity重新回到前台之后, 所有的改变都会 ...
随机推荐
- Linux之Samba部署
1.Samba介绍 Samba 是在 Linux 和 UNIX 系统上实现 SMB 协议的一个免费软件,由服务器及客户端程序构成,SMB(Server Messages Block,信息服务块)是一种 ...
- C语言中可变参数的函数(三个点,“...”)
C语言中可变参数的函数(三个点,“...”) 本文主要介绍va_start和va_end的使用及原理. 在以前的一篇帖子Format MessageBox 详解中曾使用到va_start和va_end ...
- BZOJ1000-1099板刷计划+一句话题解 73/100
1000-1009 1000A+B Problem 这个还要写??? 1001 狼抓兔子 平面图最小割转化为对偶图最短路 #include<bits/stdc++.h> #define i ...
- 导出pdf功能
本程序下载地址: PDF是我们极其常用的文件格式,但对如何生成PDF,个人一直觉得很神秘,其实利用一些公开的PDF库,我们就可以直接生成PDF文件,而不用关注PDF文件的内部细节.我知道的PDF库有如 ...
- ASP.NET Core 配置跨域(CORS)
1.安装程序CORS程序包 Install-Package Microsoft.AspNetCore.Mvc.Cors 一般默认都带了此程序包的 2.配置CORS服务 在 Startup类,Confi ...
- Python Revisited Day 07 (文件处理)
目录 7.1 二进制数据的读与写 7.1.1 带可选压缩的Pickle 7.1.2 带可选压缩的原始二进制数据 7.2 文本文件的写入与分析 7.2.1 写入文本 7.2.2 分析文本 7.2.3 使 ...
- Static Sushi AtCoder - 4118 (技巧枚举)
Problem Statement "Teishi-zushi", a Japanese restaurant, is a plain restaurant with only o ...
- Null value was assigned to a property of primitive type setter of com.oa.manager.personnel.bean.KqAttendanceHoliday.dayType
问题: 解决方法:依据提示,把 int 修改为Integer解决. 总结: javaBean最好不要使用基本类型(记得某规范说过,具体不记得了,估计就是预防这样的问题吧)
- 开发神器之PHPstorm配置及使用
之前文章对于PHPstorm有了简单的介绍,作为一名合格的PHPer,一定要定制一个适合自己的IDE,然后开始我们的路途吧... 1. 为不同的项目选定PHP版本 我们经常会遇到这样的场景,不同的项目 ...
- spring异常Unsatisfied dependency expressed through constructor parameter 0
异常信息: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with nam ...