Size: a a a

StartAndroid Ru Chat

2020 October 03

P

Potomyznaesh in StartAndroid Ru Chat
источник

P

Potomyznaesh in StartAndroid Ru Chat
Ivan
а что в файле alpha.xml ?
Тут нечего смотреть
источник

I

Ivan in StartAndroid Ru Chat
ну да, вроде ничего криминального
источник

I

Ivan in StartAndroid Ru Chat
люди пишут что может помочь повышение compileSdkVersion (minSdkVersion) и Gradle plugin
источник

F

Filin in StartAndroid Ru Chat
привет ребят, помоги плиз, почему этот код на консольки от явы работает а в андроид  студио сокеты незакрываются.. что делать?
источник

I

Ivan in StartAndroid Ru Chat
Filin
привет ребят, помоги плиз, почему этот код на консольки от явы работает а в андроид  студио сокеты незакрываются.. что делать?
вылетает exception?  какой?
источник

F

Filin in StartAndroid Ru Chat
не получается исключение проследить
источник

F

Filin in StartAndroid Ru Chat
пытался его даж в текст вью вывести, чтоб наверника, но там пусто
источник

I

Ivan in StartAndroid Ru Chat
сделай ignored.printStackTrace() и поищи в логах
источник

I

Ivan in StartAndroid Ru Chat
или убери вообще try catch
источник

I

Ivan in StartAndroid Ru Chat
а, ну убрать не даст. Тогда залогировать.
источник

MB

Maxim B. in StartAndroid Ru Chat
Дошло. Проблема была в коде:
   fun getTrailers(movieId: Int): Observable<List<Result>> {
       val trailers = mutableListOf<List<Result>>()
       rest.getTrailer(movieId = movieId)
               .map {
                   it.results
               }
               .subscribeOn(Schedulers.io())
               .subscribeBy(
                       onNext = { trailers.add(it) },
                       onError = { it.stackTrace }
               )
       return trailers.toObservable()
   }
Использовал Single и все получилось
   fun getTrailers(movieId: Int): Single<List<Result>> {
       return rest.getTrailer(movieId = movieId)
               .map {
                   it.results
               }
               .subscribeOn(Schedulers.io())
               .observeOn(AndroidSchedulers.mainThread())
   }
источник

F

Filin in StartAndroid Ru Chat
W/IInputConnectionWrapper: getTextAfterCursor on inactive InputConnection
источник

F

Filin in StartAndroid Ru Chat
кажется это
источник

I

Ivan in StartAndroid Ru Chat
Filin
W/IInputConnectionWrapper: getTextAfterCursor on inactive InputConnection
нет, это не оно. Там вообще в блок catch попадает или ничего не вылетает?
источник

I

Ivan in StartAndroid Ru Chat
можно встать дебаггером и по шагам пройтись. И поставить брейкпоинт внутрь catch блока.
источник

I

Ivan in StartAndroid Ru Chat
источник

F

Filin in StartAndroid Ru Chat
я посмотрел как отлавливать логи (дело в том, что я в андроид студио впервые) исключение не отлавливаются, но что самое интересное, лог показывает. то что сокет закрыт, но приэтом сервер говорит о том что сокет не закрыт
источник

J

Johny in StartAndroid Ru Chat
Vitaly Peryatin
В дополнение к предыдущему ответу посоветую почитать эту статью: https://proandroiddev.com/no-more-livedata-in-your-repository-there-are-better-options-25a7557b0730

На будущее: в целом LiveData устарел. Вместо LiveData лучше использовать Subject из RxJava или корутины из самого языка Kotlin
Спасибо за ссылку. Почитаю. Я  имел в виду что LiveData не просто берется из репозитория, она создаётся в репо, а "обзервится" во viewmodel и при поступлении данных вносятся изменения в LiveData, созданную во viewmodel и обозреваемую во фрагменте, например
источник

J

Johny in StartAndroid Ru Chat
Sergey Panov
Насколько я понимаю неправильно брать LiveData из репозитория во вью модель, потому что LiveData всегда обсервится в главном потоке, то есть все  transformation.map / switchmap будут происходить в главном потоке . Утечки памяти там происходят в других случаях...
Попробуй доставать из репозитория данные с помощью каких-нибудь механизмов для асинхронной работы. И во вью модели класть данные в ливдату.
Спасибо за ответ. Я  имел в виду что LiveData не просто берется из репозитория, она создаётся в репо, а "обзервится" во viewmodel и при поступлении данных вносятся изменения в LiveData, созданную во viewmodel и обозреваемую во фрагменте, например
источник