Отношения в базе данных комнаты - PullRequest
0 голосов
/ 23 сентября 2018

Здравствуйте, ребята, у меня есть посты в моем приложении, каждое сообщение может содержать комментарии и ответы на эти комментарии.

Я показываю последний комментарий, который был написан к посту (если есть), и показываюдва ответа, которые были написаны на этот комментарий (если он есть).

Проблема в том, что когда я храню их в комнате, я хочу сохранить каждое из сообщений, комментариев и ответов в отдельной таблице.Я добавил внешние ключи в свою схему базы данных, но проблема возникает, когда я хочу получить их с помощью 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)
                }
            }

Есть идеи сделать это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...