• Как сохранить Observable при смене ориентации экрана?

    @red-barbarian
    Выносить Observable за активити.
    Т.е. создавать ее в Application, в RetainInstance Fragment, использовать Moxy, Android Architecture Components
    Как пережить Lifecycle?
    Ответ написан
    1 комментарий
  • В чём основная концепция использования RxJava?

    zagayevskiy
    @zagayevskiy Куратор тега Java
    Android developer at Yandex
    Концепция Rx заключается в основном в том, что существуют потоки данных внутри приложения. Эти потоки где-то начинаются (create) и где-то заканчиваются(subscribe).

    Про наборы данных - не знаю, скорее нет. Например, может быть бесконечный Observable, следящий за БД. Когда вы к нему подписываетесь, он эмитит текущее состояние БД, когда оно изменяется - эмитит ещё. Переподписка для этого не нужна.

    То, что вы говорите про Observable, на который вы подписываетесь и работа идёт вне зависимости от этой подписки, это называется "горячий" Observable. Это можно сделать, но немного непонятно, зачем именно для сети нужно такое поведение. Зачем нужен выполняющийся запрос, если на его результат, возможно, никто больше не подпишется? В такой ситуации полезнее "холодный" Observable, который начинает запрос при подписке и отменяет его при отписке.

    Далее, насчёт ввода с клавиатуры. Смотрите RxAndroid, и, в частности, RxTextView. В этом случае абсолютно то же самое - пока никто не слушает, следить за клавиатурой не нужно. Когда появился подписчик - начинаем слушать. И в случае именно андроида нет возможности установить несколько листенеров на одну вьюху, потому не удивляйтесь, когда дважды вызвав RxView.clicks(button).subscribe(Log::d) на одной кнопке, обнаружите, что эмиттит только второй Observable, а первый замолчал навсегда.
    Ответ написан
    Комментировать
  • В чём основная концепция использования RxJava?

    @red-barbarian
    RxJava - это библиотека для реализации реактивного стиля в java
    реактивный стиль вещь похожая на более известный функциональный стиль программирования.
    выражается он в следующем
    есть поток данных, мы применяем к нему некие преобразования и получаем новый поток.
    например
    (поток запросов в сеть в виде адресов страниц)-> операторЗапросаВСеть -> ОператорПарсинга-> ОператорФормированияДатаОбъектов ->(отображение на экране)
    Популярность в андроиде, думаю, приобрел за счет простоты работы с многопоточностью. По крайней мере первые примеры применения в андроиде rx обычно про это.)
    вообще, это немного другой способ мышления. отличный от процедурного и ооп.
    есть источник, есть получатель и много преобразований.
    источник это observable, получатель это subscriber/observer . преобразования это разного рода операторы или их цепочки.
    В этом случае мы понимаем приложение как нити потоков данных. такая схема бывает проще чем схема из объектов. иногда.
    конечно, мы можем применять и гибриды из этих парадигм.
    вообще, это стоит попробовать. возможно она очень вам близка по стилю вашего мышления.
    Ответ написан
  • Что необходимо для определения азимута в телефона?

    Assargin
    @Assargin
    Перед ответом смотрю наличие ✔ в ваших вопросах
    Азимут вычисляется на основе данных, получаемых через стандартное API от датчиков устройства: https://developer.android.com/guide/topics/sensors...
    Ответ написан
    Комментировать
  • Какие карты для android можно использовать offline?

    @kisaa
    У приложений Osmand и Maps.Me исходные коды открыты, навигация присутствует. Изучайте, используйте.
    Ответ написан
    Комментировать
  • Какие карты для android можно использовать offline?

    @peacemakerv
    Разработка под Android
    2. Навигация.
    Это получение последовательности точек с заданными координатами.
    Точек, из которых состоят дороги - много. Очень много.
    Для хранения этих точек - нужны базы данных на накопителях. На очень многих, в масштабе страны\нескольких стран и более.
    Эти базы данных надо обновлять и обслуживать сервера.
    Для навигации нужно писать алгоритмы с доступом к этим огромным базам данных. Желательно с очень быстрым доступом.

    Кто хочет бесплатно всем этим заниматься и предоставлять всем желающим результаты в отрыве от собственных серверов ?
    Ответ написан
    4 комментария
  • Какие есть проблемы при работе генетических алгоритмов?

    @Mercury13
    Программист на «си с крестами» и не только
    3 = Сходимость к произвольной точке.
    4. Плохая сходимость.
    5. Не получается придумать качественную процедуру кроссинговера (её задача — поддерживать разнообразие популяции).
    Ответ написан
    Комментировать
  • Какова адресация элементов структуры в си?

    @Mercury13
    Программист на «си с крестами» и не только
    Да, будет хранить в том порядке, в котором записал. Гуглите понятие POD = Plain old data.
    en.cppreference.com/w/c/language/struct
    Ответ написан
    Комментировать
  • Как в коде применить стандартный стиль к объекту?

    zagayevskiy
    @zagayevskiy Куратор тега Android
    Android developer at Yandex
    Не использовать AlertDialog. Использовать DialogFragment. Сразу получите кучу плюсов и уйдёте от кучи минусов. А то вангую вопрос через N времени "как восстанавливать состояние диалога после поворота экрана".
    Ответ написан
    3 комментария
  • Как вводить в button строчные буквы?

    a13xsus
    @a13xsus
    Lazy developer
    В xml каждой кнопки либо в styles добавь
    android:textAllCaps="false"
    Ответ написан
    Комментировать
  • Актуальны ли сейчас уроки в Start Android 2011 года?

    gim0
    @gim0
    Java, Android, Python
    Какие-то уроки до сих пор могут быть актуальны, другие нет. Например, не мало уроков на тему ListView, хотя он был практически полностью заменён более эффективным и гибким RecyclerView. Элементы дизайна тоже устаревшие, современные приложения отталкиваются от Material Design guidelines. Уроки по работе с камерой используют устаревший API.
    Ответ написан
    8 комментариев
  • Актуальны ли сейчас уроки в Start Android 2011 года?

    73656c6565
    @73656c6565
    أنتوني
    Актуальны, логика не изменилась, тем более там чел пишет, что периодически обновляет инфу! Еще хорошая училка.
    Ответ написан
    2 комментария
  • Как преобразовать HTTP строку в UTF-8?

    Ответ написан
    Комментировать
  • Как обучить нейронную сеть распознавать графики?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    в правильном

    только не стандартные графики, а графики стандартных функций
    Ответ написан
    1 комментарий
  • Как строить нейронную сеть?

    @rPman
    Есть первое приближение, сложность задачи практически линейно влияет на количество нейронов, но вот как именно оценить численно эту сложность - зависит от задачи.
    Есть предположение, что каждый последующий слой (для deep learning) это фактически отдельная задача преобразования данных в другую форму, выделение критериев, внутренняя классификация и т.п., а количество нейронов в слое - это сложность именно этого преобразования.
    Если зависимость между входами и выходами имеет сложную форму (не просто если-то), то каждый лишний слой - определяет именно эту зависимость, но все они работают сразу для всех условий в зависимостях...

    И вообще, нейроны в нейронной сети это как голограмма, они все одновременно влияют на результат. Я поверхностно копался в доступной информации, в основном все гуляют вокруг изучения конкретной задачи.

    Еще одно направление исследования сложности нейронной сети - ее модификация. Сначала вы делаете сеть достаточно сложной по вашему мнению, для того чтобы она описывала вашу предметную область, а затем ее уменьшаете, удаляя отдельные веса и нейроны (после каждой модификации необходимо повторное до обучение).

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

    А еще фишкой последних лет является использование тензоров, для того чтобы обучать не саму нейронную сеть а ее упрощенный вариант (тензор, это я так понял, мы преобразовываем веса нейронной сети в упрощенное дерево, проводим обучение на его основе а затем результат приводим обратно к сети ) - это позволяет уменьшить требования ресурсов на обучение на порядок. К сожалению красивых примеров в русскоязычном сегменте интернета нет, да и на английском... только пара открытых библиотек имеет готовую реализацию по работе с тензорами, tensorflow от гугла и theano
    Ответ написан
    Комментировать
  • Как сменить текущий activity из Application?

    Rou1997
    @Rou1997
    Activity можно запускать не только из Activity, но и любого класса-наследника Context, в том числе Application:
    Intent ii = new Intent(this, TargetActivity.class);
    this.startActivity(ii);


    что бы нельзя было вернуться на предыдущие активити?

    Clear top.
    Ответ написан
    3 комментария