TypeConverters-개체 배열을 데이터베이스에 저장하는 방법은 무엇입니까?

레지스터

내 JSON은 다음과 같습니다 (보너스 객체 배열 참조).

objects:[
{
    name,
    date,
    string,
    string,
        bonus:[
            {
            bonus_name
            bonus_amount
            bonus_imgurl
            },{
            bonus_name
            bonus_amount
            bonus_imgurl
            },{
            bonus_name
            bonus_amount
            bonus_imgurl
            }
        ]
},
    string,
    string,
        bonus:[
            {
            bonus_name
            bonus_amount
            bonus_imgurl
            },{
            bonus_name
            bonus_amount
            bonus_imgurl
            },{
            bonus_name
            bonus_amount
            bonus_imgurl
            }
        ]
}

]

나는 이미 각 배열이 자신의 행을 가져 오는 데이터베이스로 객체 배열을 성공적으로 구문 분석하고 있습니다. 이제 TypeConverter를 사용하여 각 행에 보너스를 추가하고 싶습니다.

@Entity(tableName = config.TABLE_EVENTS)
data class RoomEventsModel(
        @ColumnInfo(name = "name")
        var eventName: String?, 
        ....
        @TypeConverters(value = [Converters::class])
        @ColumnInfo(name = "bonus_values") var bonus_value: List<Bonus>
){
@PrimaryKey(autoGenerate = true)
var id: Int? = null
}

Converters.class는 다음과 같습니다.

class Converters : Serializable {
    companion object {
        @TypeConverter
        fun fromBonusList(bonusElements : List<Bonus>): String {
            val gson = Gson()
            val type = object : TypeToken<List<Bonus>>() {
            }.type
            return gson.toJson(bonusElements, type)
        }

    @TypeConverter
    fun toBonusList(bonusElements: String?): ArrayList<HashMap<List<Bonus>, RoomEventsModel>>? {
        if (bonusElements == null) {
            return null
        }
        val gson = Gson()
        val type = object : TypeToken<List<Bonus>>() {

        }.type
        return gson.fromJson<ArrayList<HashMap<List<Bonus>,RoomEventsModel>>>(bonusElements, type)
    }
}

내 AppDatabase 클래스에 TypeConverter를 추가했습니다.

 @TypeConverters(value = [Converters::class])
abstract class AppDatabase : RoomDatabase() {
    ...
}

컴파일하면 다음과 같이 말합니다.

클래스는 변환기로 참조되지만 변환기 메소드가 없습니다.

코드에 어떤 문제가 있습니까?

크리 스틸 린 아르 조나

귀하의 toBonusList(...)방법을 반환해야 List<Bonus>당신에 Converters당신이 저장되기 때문에 클래스 bonus_valueA와 List<Bonus>데이터 클래스입니다.

형식 변환기에는 메서드의 매개 변수가 메서드의 반환 값과 일치 하고 그 반대의 경우에도 해당하는 toSomeValue()fromSomeValue()메서드가 있어야합니다 .tofrom

또한 수업의 @JvmStatic각 메소드에 추가해보십시오 Converters.

@TypeConverter
@JvmStatic
    fun toBonusList(bonusElements: String?): List<Bonus> {
        if (bonusElements == null) {
            return null
        }
        val gson = Gson()
        return gson.fromJson(bonusElements, Array<Bonus>::class.java).asList()
    }

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

가져온 iCloud 데이터 개체를 단일 배열에 저장하는 방법은 무엇입니까?

분류에서Dev

값이 배열 인 데이터베이스에 HashMap을 저장하는 방법은 무엇입니까?

분류에서Dev

Django에서 데이터베이스없이 통신을 위해 개체를 저장하는 방법은 무엇입니까?

분류에서Dev

MATLAB에서 데이터베이스로 배열을 저장하는 방법은 무엇입니까?

분류에서Dev

데이터베이스의 행을 개체 목록에 매핑하는 방법은 무엇입니까?

분류에서Dev

전체 데이터베이스에서 열을 업데이트하는 방법은 무엇입니까?

분류에서Dev

html5의 localStorage 개체에 배열을 저장하는 방법은 무엇입니까?

분류에서Dev

Swift : Core Data에 사용자 지정 개체 배열을 저장하는 방법은 무엇입니까?

분류에서Dev

SQL Server : 저장 프로 시저에서 데이터베이스 이름을 매개 변수로 사용하는 방법은 무엇입니까?

분류에서Dev

데이터베이스에 데이터 테이블을 저장하는 방법은 무엇입니까?

분류에서Dev

개체에 데이터를 저장하고 SQLite 데이터베이스에 저장하는 방법은 무엇입니까?

분류에서Dev

데이터베이스 결과를 cakephp의 배열에 저장하는 방법은 무엇입니까?

분류에서Dev

데이터베이스 값을 문자열에 저장하는 방법은 무엇입니까?

분류에서Dev

배열의 개체 요소 수를 다른 배열에 저장하는 방법은 무엇입니까?

분류에서Dev

django 데이터베이스가 새 개체에 대해 삭제 된 개체의 ID를 사용하는 것을 방지하는 방법은 무엇입니까?

분류에서Dev

Facebook 개인 메시지를 데이터베이스에 저장하는 방법은 무엇입니까?

분류에서Dev

VERTICA 데이터베이스 :-이름과 성이 단일 열에 저장되는 "이름"의 고유 한 개수를 얻는 방법은 무엇입니까?

분류에서Dev

SQLite 데이터베이스에 주문을 저장하는 좋은 방법은 무엇입니까?

분류에서Dev

파이썬의 출력을 데이터베이스에 저장하는 방법은 무엇입니까?

분류에서Dev

데이터베이스에 channelID를 저장하는 명령을 만드는 방법은 무엇입니까?

분류에서Dev

laravel 5.1로 데이터베이스에서 2 개의 열만 선택하는 방법은 무엇입니까?

분류에서Dev

AngualRJ의 배열에서 배열 개체 항목을 삭제할 때 배열 개체 인덱스를 업데이트하는 방법은 무엇입니까?

분류에서Dev

장고. 데이터베이스의 개체에서 필드를 제거하는 방법은 무엇입니까?

분류에서Dev

테이블의 단일 요소에 전체 배열을 저장하는 방법은 무엇입니까?

분류에서Dev

개체에있는 개체 배열에서 개체를 업데이트하는 방법은 무엇입니까?

분류에서Dev

django의 데이터베이스에 값을 저장하는 방법은 무엇입니까?

분류에서Dev

점 (x, y)을 데이터베이스에 저장하는 방법은 무엇입니까?

분류에서Dev

데이터베이스에 사진을 효과적으로 저장하는 방법은 무엇입니까?

분류에서Dev

PHP의 데이터베이스에 2.00 형식의 값을 저장하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    가져온 iCloud 데이터 개체를 단일 배열에 저장하는 방법은 무엇입니까?

  2. 2

    값이 배열 인 데이터베이스에 HashMap을 저장하는 방법은 무엇입니까?

  3. 3

    Django에서 데이터베이스없이 통신을 위해 개체를 저장하는 방법은 무엇입니까?

  4. 4

    MATLAB에서 데이터베이스로 배열을 저장하는 방법은 무엇입니까?

  5. 5

    데이터베이스의 행을 개체 목록에 매핑하는 방법은 무엇입니까?

  6. 6

    전체 데이터베이스에서 열을 업데이트하는 방법은 무엇입니까?

  7. 7

    html5의 localStorage 개체에 배열을 저장하는 방법은 무엇입니까?

  8. 8

    Swift : Core Data에 사용자 지정 개체 배열을 저장하는 방법은 무엇입니까?

  9. 9

    SQL Server : 저장 프로 시저에서 데이터베이스 이름을 매개 변수로 사용하는 방법은 무엇입니까?

  10. 10

    데이터베이스에 데이터 테이블을 저장하는 방법은 무엇입니까?

  11. 11

    개체에 데이터를 저장하고 SQLite 데이터베이스에 저장하는 방법은 무엇입니까?

  12. 12

    데이터베이스 결과를 cakephp의 배열에 저장하는 방법은 무엇입니까?

  13. 13

    데이터베이스 값을 문자열에 저장하는 방법은 무엇입니까?

  14. 14

    배열의 개체 요소 수를 다른 배열에 저장하는 방법은 무엇입니까?

  15. 15

    django 데이터베이스가 새 개체에 대해 삭제 된 개체의 ID를 사용하는 것을 방지하는 방법은 무엇입니까?

  16. 16

    Facebook 개인 메시지를 데이터베이스에 저장하는 방법은 무엇입니까?

  17. 17

    VERTICA 데이터베이스 :-이름과 성이 단일 열에 저장되는 "이름"의 고유 한 개수를 얻는 방법은 무엇입니까?

  18. 18

    SQLite 데이터베이스에 주문을 저장하는 좋은 방법은 무엇입니까?

  19. 19

    파이썬의 출력을 데이터베이스에 저장하는 방법은 무엇입니까?

  20. 20

    데이터베이스에 channelID를 저장하는 명령을 만드는 방법은 무엇입니까?

  21. 21

    laravel 5.1로 데이터베이스에서 2 개의 열만 선택하는 방법은 무엇입니까?

  22. 22

    AngualRJ의 배열에서 배열 개체 항목을 삭제할 때 배열 개체 인덱스를 업데이트하는 방법은 무엇입니까?

  23. 23

    장고. 데이터베이스의 개체에서 필드를 제거하는 방법은 무엇입니까?

  24. 24

    테이블의 단일 요소에 전체 배열을 저장하는 방법은 무엇입니까?

  25. 25

    개체에있는 개체 배열에서 개체를 업데이트하는 방법은 무엇입니까?

  26. 26

    django의 데이터베이스에 값을 저장하는 방법은 무엇입니까?

  27. 27

    점 (x, y)을 데이터베이스에 저장하는 방법은 무엇입니까?

  28. 28

    데이터베이스에 사진을 효과적으로 저장하는 방법은 무엇입니까?

  29. 29

    PHP의 데이터베이스에 2.00 형식의 값을 저장하는 방법은 무엇입니까?

뜨겁다태그

보관