Села
Смотря как вы хотите их посылать
Хочу посылать выбранные данные на другое устройство
Села
При нажатии кнопки
Села
Наверное данные, я только что сам понял, что данные 😄
Hasan
нет идей ни у кого?))
Создайте функцию которая будет получать цифру но вернуть строку. Внутри если вы любите Джаву через switch если Kotlin тогда через when верните то что нужно
Vadim
Создайте функцию которая будет получать цифру но вернуть строку. Внутри если вы любите Джаву через switch если Kotlin тогда через when верните то что нужно
сделал, но тут загвоздка не знаю как разделить чтобы если 12 то показывало 12 лет а если 132 например то 132 года fun ageDescription(age: Int): String { return when { age % 10 == 1 -> "$age год" age % 10 == 2 -> "$age года" else -> "$age лет" } }
Nikita
а вы не пробовали использовать Plurals?
Vadim
а вы не пробовали использовать Plurals?
сам объект, ну да, наверное можно и его есть желание самому функцию бомбануть
Nikita
Да не объект, а просто в андроиде уже усе сделано для этого
Vadim
Год это после 100 начинается?
не совсем вот тесты написал под них @Test @Tag("Easy") fun ageDescription() { assertEquals("1 год", ageDescription(1)) assertEquals("21 год", ageDescription(21)) assertEquals("132 года", ageDescription(132)) assertEquals("12 лет", ageDescription(12)) assertEquals("111 лет", ageDescription(111)) assertEquals("199 лет", ageDescription(199)) }
Nikita
просто указываете в строках разные склонения слова и все, он там сам решит что куда
Vadim
Да не объект, а просто в андроиде уже усе сделано для этого
я понял о чём вы, но я писал выше, чтобы не использовать файл plurals который определяет few many other
Vadim
просто указываете в строках разные склонения слова и все, он там сам решит что куда
да, в приложении я так и делаю, тут вопросов вообще нет тут идея в 1 файле решить задачу
Vadim
Это не работает?
не, валиться тут же получается что и 12 и 132 имеют от деления остаток 2 и не подобрать как будто бы)
Hasan
Vadim
Попробуйте вот это https://medium.com/@taingmeng/pluralize-string-with-kotlin-extension-554fb8c63469
Да я читал) тут просто добавляется ко множественному числу s и вроде все)
Hasan
Almas
Всем хай,есть задача скидывать в конце дня файлики с андройта на сервер,какой лучший варик для этого?файлики весят от 5-10 мб но их может быть 10-15,куда копать и нужен background uploader
Herrn
привет! кто нибудь решает задачи от яндекса Droid Mission? интересует первая задача в Dig It. есть кто нибудь кто ее решил?
iamthevoid
не, валиться тут же получается что и 12 и 132 имеют от деления остаток 2 и не подобрать как будто бы)
Мне кажется если программно решать, то надо искать остаток от деления на 100. Дальше если он от 10 до 20, то лет, а остальное по плюрал схеме one, few, many
Vadim
Вот вам решение http://www.cyberforum.ru/java-j2se/thread1263165.html
Да, что то похоже на то, щас попробуем)
iamthevoid
Если вы видели выше в тестах было и 111 лет, здесь нет никакого range
Ну, всё правильно, остаток от деления на 100 от 10 до 20
iamthevoid
Русский язык построен так, что у нас только 100 "формирующих склонение" чисел, потом, что ни прибавляй, склоненин будет опираться на то, что меньше 100
iamthevoid
Тысяча сто одиннадцать, двадцать три тысячи восемьсот одиннадцать
iamthevoid
Наплевать вообще
iamthevoid
Берём остаток от деления на сто и работаем с ним
iamthevoid
10-20 - лет, остальное по плюралам
Dima
Всем привет Немного не по теме Но есть задачка которую нужно решить на джаве В общем есть числа от 1 до 16 включая При складывании должна быть сумма 37 Количество чисел можно брать любое но одно число может повторяться максимум дважды Суть заключается в том чтобы посчитать количество комбинации чисел при которых будет такая сумма Какие советы можете дать?
iamthevoid
Странно, что в плюралах нет ничего похожего, сейчас подумал, другие слова склоняются по тому же принципу
Impossible
Всем привет, подскажите, как правильно настраиваются вот такие уведомления?
Impossible
Mikuri
https://developer.android.com/training/notify-user/build-notification
Impossible
А что нужно настраивать
Перефразирую, какое название у таких пушей, где можно статейку взять
Impossible
Антон
Привет всем подскажите из за чего не отображается TabLayout Использую Android Studio уже revision1
Антон
в билде вбил implementation 'com.android.support:design:29.0.0'
Антон
но не помогло
Сергій
в билде вбил implementation 'com.android.support:design:29.0.0'
29.0.0 саппорт библиотеки нет, последняя 28.0.0
Антон
так тоже пробовал
Сергій
Дальше androidx:design
Сергій
Привет всем подскажите из за чего не отображается TabLayout Использую Android Studio уже revision1
Обычно вверху справа есть красный восклицательный значит
Andreu
или в визуальном редакторе выбрать элемент
Andreu
и там будет стрелка скачивания
Andreu
и сам докинет нужную либу
Sergey
так тоже пробовал
Попробуй пересобрать проект или file-invalidate caches/restart и всё таки 28.0 поставить
Unknown
Во вьюмодел что лучше передавать - интерфейс репозитория или его impl класс ?
Nickolay
везде интерфейс лучше, если это возможно
Nickolay
Ой-ли?
это вроде очевидно - чем сильнее удается абстрагироваться, тем менее связанный код, тем проще его менять и переиспользовать.
Unknown
везде интерфейс лучше, если это возможно
Да Уточнил у ребят тоже Спасибо
Aleksey
это вроде очевидно - чем сильнее удается абстрагироваться, тем менее связанный код, тем проще его менять и переиспользовать.
Тем сложнее его поддерживать Тем сложнее найти, где же именно ошибка - как из 50 реализаций (по факту одна) сломалась
Aleksey
это вроде очевидно - чем сильнее удается абстрагироваться, тем менее связанный код, тем проще его менять и переиспользовать.
Чтобы легко менять и переиспользовать, достаточно разумно делить на слои и не добавлять интерфейс на каждый пук
Nickolay
Тем сложнее его поддерживать Тем сложнее найти, где же именно ошибка - как из 50 реализаций (по факту одна) сломалась
50 реализаций делать просто не нужно. Напиши метод который вычисляет длинну строки к примеру. Ты параметром сделаешь String, а я CharSequense, и тогда мой код будет работать со спанами, а твой не будет, т.к. ты явно указал конечную реализацию. То же самое и с вьюмоделью и всем остальным. Я смогу передать/подменить реализацию не меняя код, а ты будешь менять свои слои. Нужно использовать все подходы и не упарываться, но если ты можешь использовать List<BaseEntity>, то глупо использовать условный List<MyClass>, а еще лучше попробовать Iterable, чтобы и с массивами оно работало.
Aleksey
Нельзя же всегда лепить интерфейсы
Nickolay
А как же принцип YAGNI?
если ты реализуешь функциональность, которая не нужна изначально, то этого делать и не нужно, но писать более гибкий код вскгда лучше, чем хардкодить что-то одно. В перспективе. Если ты делаешь прототип, то конечно нужно плевать на все, и писать все в одной активити (я не шучу, так же проще и быстрее, ничего лишнего, пол часа и прототип готов). Но если проект минимум на пол года, то ты даже не представляешь куда он может повернуть, и чем абстрактнее код (при этом с нормальной архитектурой, а не 50 абстракций одна сверху другой), тем потом будет легче, и не придется вск переписывать с нуля. Я немного к примеру использовал Spring. Да, это монстр, там десятки абстраций, и наследований. Но при этом он очень гибкий, можно подменить практически любую часть системы, и это очень удобно. Работал с рестом? Для сокетов очень похожий механизм, т.к. переиспользуется принцип контроллеров. И так во многом. Это очень удобно. В механизме авторизации или другой системе можешь подпихнуть любой бин ему и кастомизировать поведение на нужное тебе. Причем наследуешь базовый класс и меняешь всего навсего то, что нужно тебе.
Aleksey
если ты реализуешь функциональность, которая не нужна изначально, то этого делать и не нужно, но писать более гибкий код вскгда лучше, чем хардкодить что-то одно. В перспективе. Если ты делаешь прототип, то конечно нужно плевать на все, и писать все в одной активити (я не шучу, так же проще и быстрее, ничего лишнего, пол часа и прототип готов). Но если проект минимум на пол года, то ты даже не представляешь куда он может повернуть, и чем абстрактнее код (при этом с нормальной архитектурой, а не 50 абстракций одна сверху другой), тем потом будет легче, и не придется вск переписывать с нуля. Я немного к примеру использовал Spring. Да, это монстр, там десятки абстраций, и наследований. Но при этом он очень гибкий, можно подменить практически любую часть системы, и это очень удобно. Работал с рестом? Для сокетов очень похожий механизм, т.к. переиспользуется принцип контроллеров. И так во многом. Это очень удобно. В механизме авторизации или другой системе можешь подпихнуть любой бин ему и кастомизировать поведение на нужное тебе. Причем наследуешь базовый класс и меняешь всего навсего то, что нужно тебе.
Только мне сейчас в проекте интерфейсы скорее мешают вносить изменения, чем помогают. Базовый класс - отдельная история. Пару раз напоролся с этим и стараюсь не использовать их.
Nickolay
Только мне сейчас в проекте интерфейсы скорее мешают вносить изменения, чем помогают. Базовый класс - отдельная история. Пару раз напоролся с этим и стараюсь не использовать их.
да, они держат тебя в своих рамках, на то это и интерфейсы:) Но IntellijIDEA (AndroidStudio) сильно помогает в рефакторинге такого кода, предлагая сразу менять и интерфейс и все реализации, давая возможность рефакторить сигнатуры методов, умное переименование класса/интерфейса. Не все так плохо, но структура кода конечно усложняется при использовании абстракций типа интерфейсов, тут не поспоришь.
Nickolay
Нет, они заставляют меня cmd + лкм на метод, а потом искать по всему проекту реализацию, чтобы понять, что там происходит 😄
да, есть такое, но при дебаге можешь проваливаться внутрь по F7 кажется, и студия перейдет в нужную имплементацию сама)
Aleksey
Так я не дебажу, а код пишу)
Impossible
Impossible
ребят, как включить 2 тригер?
Impossible
сука заебался уже с пушами, 100 примеров перепробывал, но по дефолту он выключен, начинают работать всплывающие пуши только если врублю его вручную
Nickolay
ну можно же спросить какие технологии использовать. Видел одну компанию, они требовали нативно, без каких-либо библиотек реализовать поставленную задачу. Простенько и со вкусом что б было))
Impossible
скопировал уже тупо пример
Impossible
уже скомпибинровал все что можно, где я проебываюсь?
Nickolay
уже скомпибинровал все что можно, где я проебываюсь?
они на уровне системы включаются, возможно у тебя они выключены... Ну или это сяоми, и там какая-то своя логика. Возможно нужно пермишены добавить еще какие-то:)
Nickolay
Это действительно сяоми на 9 дроиде. Но весь инет перерыл, нехера найти не могу или не так гуглю
проверь на эмуляторе, если там все ок, то проблема в сяоми. Они любят переделывать нотификации. Там свой мир, и часто они их вовсе не показывают, пока не добавишь приложение в вайтлист, который еще фиг найдешь.