Здравствуйте, ребята, у меня есть посты в моем приложении, каждое сообщение может содержать комментарии и ответы на эти комментарии.
Я показываю последний комментарий, который был написан к посту (если есть), и показываюдва ответа, которые были написаны на этот комментарий (если он есть).
Проблема в том, что когда я храню их в комнате, я хочу сохранить каждое из сообщений, комментариев и ответов в отдельной таблице.Я добавил внешние ключи в свою схему базы данных, но проблема возникает, когда я хочу получить их с помощью RxJava. Я столкнулся с адом обратного вызова, и он даже не работает.
dataManager.getPostsFromDatabase().subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe { it ->
Log.d("yyyyyyyy", "posts size ${it.size}")
it.forEach { postData ->
Log.d("yyyyyyyy", "post id ${postData.id}")
dataManager.getCommentFromDatabase(postData.id).subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe { comment ->
Log.d("yyyyyyyy", "post comment id ${comment.id}")
postData.last_comment = comment
dataManager.getRepliesFromDatabase(comment.id).observeOn(AndroidSchedulers.mainThread())
.subscribeOn(Schedulers.io())
.subscribe { replies ->
Log.d("yyyyyyyy", "replies count ${replies.size}")
postData.last_comment?.replies = replies
}
}
list.add(postData)
}
}
Есть идеи сделать это?