android Room 질문좀드리겠습니다

조회수 57회

현재 번역을 할수있는어플을 토이프로젝트로 구현중에있습니다

번역할 한국말을 입력하고 영어로 번역을하게되면

데이터베이스에 저장을하고

번역을 했었던 데이터들을 리사이클러뷰로 가지고오는 어플을 만들고있는데요

모든 작업은 Fragment 위에서 이루어지고있습니다

통신은 Retrofit2 라이브러리를 사용하고있습니다

데이터베이스는 Romm 라이브러리를 사용하고있습니다

문제는 Retrofit2 에서 응답받은 데이터가 Insert 가 안되고있습니다

오류는 현재 이런식으로 뜨고있습니다..

java.lang.RuntimeException: An error occurred while executing doInBackground() at android.os.AsyncTask$3.done(AsyncTask.java:353) at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:383) at java.util.concurrent.FutureTask.setException(FutureTask.java:252) at java.util.concurrent.FutureTask.run(FutureTask.java:271) at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:245) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) at java.lang.Thread.run(Thread.java:764) Caused by: android.database.sqlite.SQLiteConstraintException: NOT NULL constraint failed: language_table.language (code 1299) at android.database.sqlite.SQLiteConnection.nativeExecuteForLastInsertedRowId(Native Method) at android.database.sqlite.SQLiteConnection.executeForLastInsertedRowId(SQLiteConnection.java:789) at android.database.sqlite.SQLiteSession.executeForLastInsertedRowId(SQLiteSession.java:926) at android.database.sqlite.SQLiteStatement.executeInsert(SQLiteStatement.java:86) at android.arch.persistence.db.framework.FrameworkSQLiteStatement.executeInsert(FrameworkSQLiteStatement.java:79) at android.arch.persistence.room.EntityInsertionAdapter.insertAndReturnId(EntityInsertionAdapter.java:114) at com.example.toyproject.Model.LanguageDao_Impl.insert(LanguageDao_Impl.java:96) at com.example.toyproject.Model.LanguageRepository$1.doInBackground(LanguageRepository.java:35) at com.example.toyproject.Model.LanguageRepository$1.doInBackground(LanguageRepository.java:23) at android.os.AsyncTask$2.call(AsyncTask.java:333) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:245)  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)  at java.lang.Thread.run(Thread.java:764)

Room에서 insert 할때 AsyncTask 쓰는데 이때 doInbackground 에서 무언가 잘못된거같은데 그 이유를 잘 모르겠습니다..

1 답변

답변을 하려면 로그인이 필요합니다.

Hashcode는 개발자들을 위한 무료 QnA 사이트입니다. 계정을 생성하셔야만 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 계정을 생성하셔야만 글을 작성하실 수 있습니다.