Задать вопрос
  • Как создать динамический фильтр для товаров?

    @WaterSmith
    Android-разработчик. Java, Kotlin
    Например, есть таблица, со значениями фильтров, вида: productId, attrId, attrValue.
    У одного товара есть атрибуты: Производитель, Размер, Цвет
    У другого атрибуты: Мощность, Цвет, Длина кабеля.
    Вы отображаете те типы фильтров, которые есть у товаров попавших в выборку.
    Таким образом, пока у вас в выборке присутствуют все товары, вы отображаете все возможные фильтры, которые есть. Как только пользователь выполнил отбор скажем по цвету, В выборку попали только товары этого цвета, и опять доступны для выбора только те атрибуты которые есть у отобранных товаров.
    Ответ написан
    Комментировать
  • Какое железо подойдет для работы в android studio?

    @WaterSmith
    Android-разработчик. Java, Kotlin
    Intel Core i5 поддерживает виртуализацию. Скорее всего отключено в биосе, читай инструкцию по ссылке.
    Какое железо подойдет для работы в android studio?
    - студия критична к памяти, 8 маловато, 16 - пойдет, 32 - отлично.
    Ответ написан
    Комментировать
  • Как сделать нанесение урона сверху, справа, слева в 2D игре?

    @WaterSmith
    Android-разработчик. Java, Kotlin
    if (point2D.normal.x >= 0.5f)
                    {
                        healthP.takeDamage(damage);
                    }


    Подозреваю, что при столкновении слева, point2D.normal.x меньше 0.5
    Ответ написан
  • Можно ли сделать автозапуск скетча на ардуино сразу после подключения к любому ПК с ОС Windows, который запускает .exe файл, находящийся на sd-карте?

    @WaterSmith
    Android-разработчик. Java, Kotlin
    Для автоматического запуска чего-то на флешке при подключении существует автозапуск. Давным давно так запускались и распространялись разные вирусы и троянцы. Поэтому теперь, этот способ не работает, автозапуск флешки отключен практически у всех.
    На "языке ардуино" вы можете написать программу которая пошлет какие-нибудь байтики в USB порт. Самый работоспособный способ это создать флешку которая притвориться что она клавиатура и пошлет соответствующие команды так, будто их ввел с клавиатуры пользователь. Как спаять такой имитатор клавиатуры вы легко можете нагуглить.
    Ответ написан
    7 комментариев
  • Правильная ли это топология?

    @WaterSmith
    Android-разработчик. Java, Kotlin
    Конечно, есть нюансы и исключения, но общее правило такое: в большенстве случаев корректной является топология из четырехугольников, иногда допустимы треугольники, если без них никак.
    В вашем случае, в примере 1, то что вы назвали "только одна грань" по сути восьмиугольнк. То что вершины (углы) расположены на одной прямой, ничего не меняет. Следовательно нужно делать как в 2, а для 3 должны быть веские причины.
    Ответ написан
    5 комментариев
  • Мобильная игра внесеня предложения на изменения?

    @WaterSmith
    Android-разработчик. Java, Kotlin
    Я заметил такой интересный факт, какой бы остроумный комментарий не пришел мне в голову по поводу статьи, или видеоролика, как правило, минимум три человека уже его запостили.

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

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

    Идеи ничего не стоят.
    https://gdcuffs.com/worthless-ideas/
    Более того, идеи это затраты:
    https://www.artlebedev.ru/kovodstvo/sections/161/
    Ответ написан
  • Как исправить эти ошибки?

    @WaterSmith
    Android-разработчик. Java, Kotlin
    MainActivity прописано в манифесте, с интентами MAIN и LAUNCHER
    Однако, активити с именем MainActivity в проекте нет.
    Примерно так переводится это сообщение об ошибке.
    Ответ написан
    Комментировать
  • Справочник, форма выбора, списка,элемента,группы, почему ничего не изменяется?

    @WaterSmith
    Android-разработчик. Java, Kotlin
    Ох, очевидно что ты забыл почитать основы. Оно конечно понятно, учиться некогда, работать надо.
    1. Формы, если они не созданы и не выбраны, создаются автоматически, если ты добавляешь форму, она по умолчанию тоже создается такой-же, как созданная в режиме исполнения. Т.е. если ты создал форму, и ничего в ней не кастомизировал, то она будет выглядеть так же, как если бы ты её не создавал.
    2. Форму группы ты не можешь выбрать, потому что для этого справочника не может быть групп - на закладке Иеррархия не стоит галка "Иеррархический справочник", либо стоит, но тип иеррархии выбран: "Иеррархия элементов"
    3. Невозможность непосредственного удаления элементов справочника, это часть системы контроля ссылочной целостности. Когда ты помечаешь элемент на удаление, ты затем можешь провести операцию "Удаление помеченных объектов" - программа проверит, нет ли у других объектов ссылок на помеченный объект, и только в случае если нет, позволит удалить элемент окончательно. Можно настроить справочник так, чтобы для него было разрешено непосредственное удаление элементов, но это нужно делать очень редко, только в тех случаях, когда ты разработал конфигурацию таким образом, что на удаляемый элемент точно не может быть ссылок. Если всё-же удалить элемент на который есть ссылка, то во всех таких местах будет указано значение "Объект не найден" и будут всевозможные глюки, суть которых полностью зависит от бизнес-логики твоей конфигурации.
    Ответ написан
    3 комментария
  • Могу ли я попросить вас о критике кода?

    @WaterSmith
    Android-разработчик. Java, Kotlin
    И как, работает?
    (userChoice == "1" && gameChose == "3") ||
            (userChoice == "2" && gameChose == "1") ||
            (userChoice == "3" && gameChose == "2") ->

    Это не красиво! Я бы организовал выборы, как элементы закольцованного двунаправленного связанного списка, тогда достаточно было бы проверить условие: "наш выбор "слева" или "справа" от выбора игрока". При масштабировании игры это очень пригодится.
    positiveAnswer ->
                {
                    val gameChose = getGameChose(options)
                    val userChoice = getUserChose(options)
                    getResult(gameChose, userChoice)
                    println("Do you want to play any more?")
                    playGameAnswer = readLine()
                }

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

    P.S. Если у вас возник вопрос "Какое может быть масштабирование такой простой игры?", взгляните на эту картинку:4ce06329743e68ed16ae90bfcdbfbf6a_ce_493x500x0x0.jpg
    Ответ написан
  • С чего начать в 1С?

    @WaterSmith
    Android-разработчик. Java, Kotlin
    Начать надо с работы в франче. А дальше как пойдет.
    Ответ написан
    Комментировать
  • Нужен ли исходный код Android приложения чтобы написать под него автотесты?

    @WaterSmith
    Android-разработчик. Java, Kotlin
    Исходный код не нужен, а вот структуру классов, открытые методы, и логику работы знать нужно. А иначе, что тестировать? Иногда автотесты пишут до того, как появится исходный код, после чего создается код, который будет удовлетворять эти тесты. Называется TDD.
    А инструменты используются такие-же как и при разработке. Android Studio.
    Ответ написан
    Комментировать
  • Как проверить, есть ли в листе такой же элемен, а если есть, тогда заного?

    @WaterSmith
    Android-разработчик. Java, Kotlin
    На псевдокоде как-то так:
    uniqueCharacterSelected = false;
    while not(uniqueCharacterSelected ) {
        newCharacter = SelectRandomCharacter();
        if (charactersList.find(newCharacter)=-1) {
            charactersList.add(newCharacter);
            uniqueCharacterSelected = true;
        }
    }
    Ответ написан
    Комментировать
  • Не загружается скетч на Arduino. Какие ошибки?

    @WaterSmith
    Android-разработчик. Java, Kotlin
    Вы не объявили переменную i - счётчик цикла. Вы можете объявить её прямо там, вот так:
    for(int i=display.width()-1; i>=0; i-=4)
    Ответ написан
    Комментировать
  • ListView не обновляется, когда я использую RxJava в виджетах?

    @WaterSmith
    Android-разработчик. Java, Kotlin
    Когда меняются данные, у вас вызывается метод, onDataSetChanged, но вы ничего в нем не делаете. А как было бы здорово, сделать то же самое, что вы делаете при нажатии кнопки "Обновить"
    Ответ написан
  • Как реализовать джойстик атаки как в Brawl Stars?

    @WaterSmith
    Android-разработчик. Java, Kotlin
    Добавить джойстик, как и для передвижения. В алгоритме его обработки не двигаться, а атаковать в соответствующем направлении на расстояние дальнобойности оружия.
    Ответ написан
    Комментировать
  • Как привязать изменение одного реквизита другому?

    @WaterSmith
    Android-разработчик. Java, Kotlin
    На примере справочника "Номенклатура поставщиков" такой кейс вообще странный, потому что оно для того и сделано разными справочниками, чтобы решить проблему, когда одна и та же номенклатура, у нас и у поставщика по разному называется.
    Если формально решать задачу; "при изменении реквизита изменить другой", то решение зависит от того, обычные у вас формы или управляемые. Предположу что управляемые, поскольку они используются практически во всех современных конфигурациях. Тогда нужно для реквизита1 добавить обработчик события ПриИзменении, и в нем описать алгоритм заполнения реквизита2. Чтобы в управляемых формах добавить обработчик события, нужно вызвать контектное меню реквизита1 и в пункте "События" выбрать <ПриИзменении> После чего выбрать, какой обработчик события вам нужен, на клиенте, или на клиенте с обработкой на сервере.
    Ответ написан
    1 комментарий
  • Как узнать предназначения полей БД 1С?

    @WaterSmith
    Android-разработчик. Java, Kotlin
    Используйте функцию ПолучитьСтруктуруХраненияБазыДанных()
    Подробнее по ссылке: professia1c.ru/sql/kak-uznat-imena-tablits-1s-v-sql

    Однако, фирма 1С не рекомендует работать с базой данных 1С напрямую. Если не собираетесь ничего менять, то это еще простительно, если же планируется добавлять или изменять данные, то с базой лучше работать через инструменты 1С.
    Ответ написан
    Комментировать
  • Как использовать неинициализированные переменные в методе кнопки?

    @WaterSmith
    Android-разработчик. Java, Kotlin
    Переменные конечно использовать можно. Жаль что вы не указали ошибку, которая у вас возникает.
    Лучше так не пишите:
    first_array = new Integer[Integer.parseInt(textField.getText())][Integer.parseInt(textField2.getText())];.

    И сами путаетесь и другим читать тяжело, и при отладке куча проблем.
    Так пишите:
    int rowSize = Integer.parseInt(textField.getText());
    int columnSize = Integer.parseInt(textField2.getText());
    if (rowSize>0 && columnSize>0) {
        first_array = new Integer[rowSize][columnSize]; 
    }
    Ответ написан
  • Как мы можем видеть Activity без создание методов OnStart и OnResume?

    @WaterSmith
    Android-разработчик. Java, Kotlin
    Нет, вы ошибаетесь. Все нужные методы есть и вызваны. Просто они не переопределены, а значит используются унаследованные из AppCompatActivity, там их и ищите.
    Жизненный цикл можете посмотреть либо в отладчике, либо переопределив все нужные методы. В теле переопределенных методов вызовите их же из родительского класса, через super и добавьте свои логи, или чего вам там хочется.
    Ответ написан
    1 комментарий
  • Как вызвать private метод в Fragmente Android Studio?

    @WaterSmith
    Android-разработчик. Java, Kotlin
    В методе onCreateView, вместо
    EditText editTextEmail = (EditText) v.findViewById(R.id.email);
            EditText editTextPassword = (EditText) v.findViewById(R.id.password);

    Нужно
    editTextEmail = (EditText) v.findViewById(R.id.email);
            editTextPassword = (EditText) v.findViewById(R.id.password);

    Поясню:
    У вас в пределах класса объявлены переменные private EditText editTextEmail, editTextPassword;
    Затем, в методе onCreateView, вы при присвоении им значений, перед именем переменной пишете EditText Таким образом вы объявляете новые переменные, в пределах видимости метода, а переменные класса остаються неинициализированными, т.е. null.
    Затем, после вызова, в методе userLogin у вас происходит обращение к переменной editTextEmail.getText() но, editTextEmail содержит null и такое обращение вызывает Null Point Exeption что для пользователя выглядит как просто закрытие приложения.
    И не факт, что это единственная ошибка.
    Ответ написан
    Комментировать