Как стать автором
Обновить
13
0
Юрий Кучанов @kuchanov

Разработчик под Android

Отправить сообщение

asso, а у вас есть какие-то ссылки на тему этого законопроекта? Я про такой не слышал и было бы здорово, если бы что-то такое в ЕС бы приняли. Ну и у нас тоже. А то да, беспредел ещё тот.


Ну и, наверное, нужно регулирование магазинов по аналогии с поисковыми системами. Чтобы при активации телефона предлагался не только поисковик по умолчанию, как сейчас, но и магазин приложений. Без этого получается ситуация, когда надо быть очень прошаренным пользователем Android чтобы установить приложение не из Google Play. Для своих приложений пришлось очень сложную инструкцию писать. Если интересно — вот тут она есть: https://scpfoundation.app/?utm_source=habr.com&utm_medium=directLink&utm_campaign=UE_law_comment

У меня аналогичная ситуация. Было несколько приложений, бравших контент с сайтов, где он был под свободной лицензией. В итоге гугл приложения забанил, а т.к. их было несколько сразу, то и аккаунт разработчика тоже, т.к. много страйков на аккаунте. Тех. поддержка напрочь игнорирует присылаемые ссылки на сайт, где написано про лицензию и требует письма от сайта, что можно их название и иконку (иконка прямо в Wikipedia лежит со свободной лицензией) использовать. Вот только админы сайта своей почты на сайте не имеют и вообще не хотят с гуглом дел иметь, т.к. многих разработчиков так забанили и гугл не хочет админов сайта признавать за владельцев. Такие дела. В Google Play приложения выкладывать имеет смысл только с наличием нефигового штата юристов.

Можно по разному. Вот, например, не идеальный вариант, но вполне рабочий. В синглтоне все операции идут, а фрагмент/активити лишь подписываются для получения последней полученной информации:


Используем RxJava и Retrofit на Android, учитывая поворот экрана

Должен признаться, что я специально и не искал других решений этой задачи :) Мне просто захотелось взять Rx, Retrofit, их соединить и посмотреть что получится) А ссылка интересная, спасибо. Правда уж очень давно, похоже, не обновляли библиотеку, что некоторые сомнения вызывает...

Спасибо за полезную информацию)

Спасибо за полезную информацию. Отвечаю по пунктам:


  • MVP я ещё не пробовал, хотя много слышал. Судя по реакции на эту статью надо изучить. Просто изначально целью статьи было поделиться своим первым опытом с Rx и Retrofit в максимально простом и абстрактном примере.
  • В БД ничего не сохранял, т.к. изначально (хоть это и не помянуто в статье по ряду причин) задача стояла в отображении данных с коротким сроком жизни, устаревающих в течении пары часов. Засим желательно при каждом запуске приложения получать данные именно из сети, а не сохранённые ранее, ибо они уже будут нерелевантны. А так — да, в одном из своих приложений так и делал — сначала в БД данные шли, потом уже из неё во View. Но это от конкретной задачи зависит.
  • Code style и имена поправил и тут и в репозитории. Судя по реакции в комментариях всё было плохо, так что исправлюсь)
  • Про преимущества Cursor над ArrayList бы послушал — могу предположить что он просто быстрее работает?
  • Ещё раз спасибо за код в комментарии. Возможно, я попробую переделать в другой ветке проект в MVP стиле и напишу ещё одну статью)
Согласен, просто я не хотел перегружать список зависимостей для добавления библиотеки RetroLambda. Возможно, я её позже добавлю и обновлю код в статье и репозитории.
Вы меня убедили) Исправил в статье и в репозитории именование классов/ресурсов и скобки
Да, с середины понимает, но мне кажется удобным когда с начала) Ссылку посмотрел, спасибо, буду иметь в виду теперь. Правда странно, почему в случае с xml файлами рекомендуют начинать с fragment/activity, а вот в классах — наоборот…

А скобки… Мне просто удобнее так, тем более, что сменить все скобки можно одним shortCut-ом)
Ну, тут, наверное, вопрос во вкусовых предпочтениях. Лично я не видел, вроде, конвенции прямо запрещающей именовать так как у меня. Лично я выбрал такой способ исключительно для упрощения автоподстановки — часто я не помню как у меня к-л фрагмент/активити точно называется, но точно знаю, что начинается название класса с Activity/Fragment. Вполне готов признать что это может быть неверный подход. Если у вас есть ссылка на более правильный принцип именования, то я бы с удовольствием её бы почитал)
А-а-а! Опечатка, понял) Исправлю, спасибо.
Вы имеете в виду, что я не создаю экземпляра класса-синглтона тогда как в википедии написано, что он должен быть и доступ к нему должен быть через getInstance?
There are only two hard things in Computer Science: cache invalidation and naming things.
— Phil Karlton


Готов выслушать ваши предложения о именовании класса)
Слышал о RxLifecycle. Ещё раз её бегло посмотрел. Насколько я понял её использование в моём случае даст лишь возможность не отписываться вручную, самостоятельно вызывая unsubscribe(), но потребует лишнюю зависимость и нужду в расширении от RxFragment. Возможно я чего-то не понял, но, кмк, эта либа не будет серебряной пулей) Всё же статья не о избегании утечек из-за неотписанных подписчиков, а о получении данных вне зависимости от поворотов экрана.
Loader-ы я пробовал пару раз… Наверное я что-то в них не понял, но у меня так и не получилось в своё время добиться от них такой гибкости и лаконичности как с Rx сейчас. Ну и как я и писал в статье — Rx модный, захотелось его попробовать, тем более, что он не такой узкоспециализированный как Loader-ы и сейчас часто вакансии с его упоминанием встречаю.

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Зарегистрирован
Активность