房间;将整数数组存储到单独的表中?

问题描述 投票:2回答:1

使用Room ORM,我使用EQPreset注释声明了一个实体@Entity。该实体包含一个数组int[]。它给出以下错误:

错误:无法弄清楚如何将此字段(int [] arr)保存到数据库中。您可以考虑为其添加类型转换器。

通常将EQPreset实例保存到数据库,我会创建一个单独的表来存储数组的值,并有一个指向相关EQPreset的外键。 但是,我需要找到使用int[] arr存储EQPresetRoom的方法,即通过制作单独的表或使用任何好的方法/方式。

android arrays sqlite android-room android-architecture-components
1个回答
4
投票

选项#1:摆脱int[] arr。让一些其他实体代表这个整数,使用外键返回EQPreset实体。您的DAO上的方法能够为给定的EQPreset实体提供整数实体。

选项#2:使用@TypeConverterint[]转换为可以进入单个列的内容(例如,将其转换为JSON数组和从JSON数组转换,表示为字符串)。

© www.soinside.com 2019 - 2024. All rights reserved.