• Правильная ли это топология?

    @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 что для пользователя выглядит как просто закрытие приложения.
    И не факт, что это единственная ошибка.
    Ответ написан
    Комментировать
  • Как получить объект справочника по значению доп. реквизита?

    @WaterSmith
    Android-разработчик. Java, Kotlin
    Ном = Справочники.Номенклатура.НайтиПоРеквизиту("Гарантия", ЗначениеРеквизита);

    Этот способ подходит для поиска по реквизитам справочника. И он ищет только первый элемент и не годится, если их несколько.
    Но, поскольку вы пишете что вам нужно осуществить поиск по дополнительному реквизиту, то вам прийдеться писать запрос, и решение зависит от того, как в вашей конфигурации реализованы дополнительные реквизиты.
    Например, в конфигурации УНФ, дополнительные реквизиты, это элементы табличной части справочника Номенклатура. При этом "свойство", т.е. имя реквизита, в вашем случае "Гарантия", это план видов характеристик ДополнительныеРеквизитыИСведения. Запрос будет выглядеть примерно так:
    Запрос = Новый Запрос;
    	Запрос.Текст = 
    		"ВЫБРАТЬ РАЗЛИЧНЫЕ
    		|	НоменклатураДополнительныеРеквизиты.Ссылка КАК НоменклатураСсылка
    		|ИЗ
    		|	Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты
    		|ГДЕ
    		|	НоменклатураДополнительныеРеквизиты.Свойство = &Свойство
    		|	И НоменклатураДополнительныеРеквизиты.Значение = &Значение";
    	
    	Запрос.УстановитьПараметр("Значение", ЗначениеГарантии);
    	Запрос.УстановитьПараметр("Свойство", СсылкаНаПВХ_Гарантия);
    	
    	РезультатЗапроса = Запрос.Выполнить();
    	
    	ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    	
    	Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
    		// Вставить обработку выборки ВыборкаДетальныеЗаписи
    	КонецЦикла;
    Ответ написан
    Комментировать
  • Как правильно отлаживать разобранное приложение в android studio?

    @WaterSmith
    Android-разработчик. Java, Kotlin
    Реверс-инжиниринг, сам по себе занятие не для новичков. Декомпилятор выдает вам исходники, причем, если разработчик позаботился о защите своего приложения, то ужасно плохо читаемые (обфускация).
    При этом, IDE (Android Studio) для сборки приложения, не достаточно этих исходников, нужна еще некоторая информация, которой у вас нет. Её нужно добавлять руками, анализируя полученные исходники.
    Может конечно и существует легкий способ получить собираемый исходник, но лично мне такой не известен.
    Ответ написан
    2 комментария
  • Как сделать прибавление единицы к переменной если какая-то переменная стала нулём unity?

    @WaterSmith
    Android-разработчик. Java, Kotlin
    Исправьте так:
    void Update() {
        if(Input.GetMouseButton(0)) {
            transform.localScale = Vector2.Lerp(transform.localScale, scale1, 20.0f * Time.deltaTime);
        } 
        else {
            transform.localScale = new Vector2(6, 6);
        }
        GoldDisplay.text = "Тапов: " + taps;
        if (Input.GetMouseButtonDown(0)) {
            taps -= 1;
            if (taps == 0) {
                beh.score_1++;
            }
        }
    }
    Ответ написан
    Комментировать
  • Можна ли делать софт под андроид на C Sharp и Unity?

    @WaterSmith
    Android-разработчик. Java, Kotlin
    Можна ли на Unity делать приложения на андроид (Глупый вопрос), при помощи си шарп?

    На Unity приложения (игры) делаются на C# и их можно сбилдить под андроид.
    Ответ написан