Comments 6
Спасибо за статью, давно не видел примеров на RxJava, интересно было узнать есть ли сильные различия на андроиде и десктопе.
Подскажите, человеку который который никогда не писал для андроидов, а callback hell в примерах кода — это особенность мобильной разработки?
Devcolibri а теперь попробуй набрать что-нибудь такое из середины текста и не сначала слова. Поиск по одному слову — это ерунда и даже если по нескольким словам подряд — это трата времени
Спасибо за статью. На мой взгляд, один из важных момент при работе с
Rx
— помнить про подписки и не забывать отписываться от них. В приведенных примерах, как-то про это забыли. У Вас в данном случае создается бесконечный Observable
, подписка на который нигде не сохраняется, но от которого нужно отписаться в onDestroy()
. Хотелось бы, чтобы пользователи, которые будут читать статью, видели «картину в целом» и следовали хорошим практикам.Devcolibri думаю в данном примере правильнее будет использовать заместо оператора distinct() более простую версию distinctUntilChanged(). В случае distinct() мы не сможем два раза искать по одной и той же строке, что как по мне вообще не логично для данного примера. Т.е сначала мы ввели имя Петя и получили какой-то результат, потом ввели имя Даша и снова получили результат, b вдруг мы решили снова искать по имени Петя, но результат уже не получили.
Devcolibri не надо так пользоваться kotlin:
Плохо когда nullable принуждают к notNullable, а потом без проверки вешают на него листенер.
Это то же самое, что и!!! — это грех за такое Бреслав накажет.
Свалитесь вы как-нить с NPE(и черт с вами). Не думаю, что стоит обучать «ТАКОМУ» подходу…
А теперь короночка, Devcolibri, которая ставит под вопрос функциональность вашего поиска — обратите внимание на оператор ".distinct()".
Приведу в пример такой кейс: держите вы в голове поисковой запрос «Null safety in Kotlin». Вводите его… постепенно… с новыми символами вам предлагаются варианты. Это хорошо… набрав данный запрос до конца и увидев соответствующие подсказки от поиска. А потом у ужасом осознаете, что вы не знаете, что такое «null safety» в принципе! и решаете почитать про это… вы начинаете стирать ваш поисковой запрос… и… и… и .distinct() ломает вашу жизнь.
val searchView = menu?.findItem(R.id.action_search)?.actionView as SearchView
// Set up the query listener that executes the search
searchView.setOnQueryTextListener(object : SearchView.OnQueryTextListener {
Плохо когда nullable принуждают к notNullable, а потом без проверки вешают на него листенер.
Это то же самое, что и!!! — это грех за такое Бреслав накажет.
Свалитесь вы как-нить с NPE(и черт с вами). Не думаю, что стоит обучать «ТАКОМУ» подходу…
А теперь короночка, Devcolibri, которая ставит под вопрос функциональность вашего поиска — обратите внимание на оператор ".distinct()".
Приведу в пример такой кейс: держите вы в голове поисковой запрос «Null safety in Kotlin». Вводите его… постепенно… с новыми символами вам предлагаются варианты. Это хорошо… набрав данный запрос до конца и увидев соответствующие подсказки от поиска. А потом у ужасом осознаете, что вы не знаете, что такое «null safety» в принципе! и решаете почитать про это… вы начинаете стирать ваш поисковой запрос… и… и… и .distinct() ломает вашу жизнь.
Sign up to leave a comment.
Реализация мгновенного поиска в Android с помощью RxJava