• Ошибка on a null object reference в андроид студио, как исправить?

    @WaterSmith
    Android-разработчик. Java, Kotlin
    у вас в onEvent параметр value отмечен как Nullable, т.е. подразумевается, что туда может прилететь null
    Тем не менее, вы смело дергаете value.getDocumentChanges() безо всяких проверок.
    Естественно, в ситуации когда в onEvent таки прилетает null у вас всё падает.
    Ответ написан
    4 комментария
  • Ошибка on a null object reference в андроид студио, как исправить?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    https://stackoverflow.com/questions/52791208/fireb...

    в ответ прилетает ошибка или нормальный ответ.
    Если ошибка не нул, то обрабатываем ее.
    Ответ написан
    Комментировать
  • Как сделать, чтобы при скане qr-кода открывался сайт с предложением скачать приложение?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    QR код содержит просто ссылку.
    В манифесте приложения пропишите
    <intent-filter>
                    <action android:name="android.intent.action.VIEW" />
    
                    <category android:name="android.intent.category.BROWSABLE" />
                    <category android:name="android.intent.category.DEFAULT" />
    
                    <data
                        android:host="lknpd.nalog.ru"
                        android:pathPrefix="/api/v1/receipt"
                        android:scheme="https" />
                </intent-filter>


    Здесь вы указываете хост и начало урла. Приложение сканер кр кода обращается к операционной системе с вопросом какие программы могут открыть данную ссылку. В список вариантов будет добавлено и ваше.
    void handleIntent(Intent intent){
            String action = intent.getAction();
            if (action == null) {
                showMessage("Ошибка вызова. Нет действия в намерении");
                return;
            }
    
            Uri uri = null;
            if (action.equals(Intent.ACTION_VIEW)) {
                uri = intent.getData();
            }else if (action.equals(Intent.ACTION_SEND) || action.equals(Intent.ACTION_SENDTO)) {
                String stringText = intent.getStringExtra(Intent.EXTRA_TEXT);
                if (stringText == null) {
                    CharSequence textSequence = intent.getCharSequenceExtra(Intent.EXTRA_TEXT);
                    if (textSequence != null) {
                        stringText = textSequence.toString();
                    }
                }
                if (stringText != null) {
                    if (stringText.startsWith("http://") || stringText.startsWith("https://")) {
                        uri = Uri.parse(stringText);
                    }
                }
            }
            if(uri == null){
                showMessage("Ошибка вызова. Ссылка на чек не обнаружена");
                return;
            }
    //теперь самостоятельно разбираете строку урла, чтобы вытащить нужные аргументы для конкретного действия в приложении
            receiptId = ReceiptId.fromURI(uri);
            if(receiptId == null){
                showMessage("Неправильная ссылка на чек");
                return;
            }
    
            importReceipt();
        }


    На Вашем сайте урлы можно через htaccess переправить на заглушку с предложением скачать приложение или к обычной странице добавлять банер с предложением открыть в приложении.
    Ответ написан
    1 комментарий
  • Как сделать, чтобы при скане qr-кода открывался сайт с предложением скачать приложение?

    xez
    @xez Куратор тега Java
    TL Junior Roo
    QR код - это просто зашифрованная строка.
    Там нет никакой магии.
    Исходя из этого, ваш вопрос такой: « Как сделать такую строку, чтобы открывался сайт с предложением скачать приложение?»
    Ответ: нужно чтобы в этой строке была ссылка на ваш сайт.
    Ответ написан
    1 комментарий
  • Как сделать поворот персонажа по направлению движения?

    @noytmant
    В теории нужно создать bool на каждую из ситуаций
    Допустим на данный момент мы имеем OnLeft и теперь можно создать bool PosLeft который будет изначально равен false
    В момент, когда мы нажимаем скажем так на OnLeft, PosLeft становится равен true
    И уже внутри отдельного цикла мы проверяем PosLeft исходя из которого устанавливаем положение персонажа
    И такой способ можно использовать и с другими ситуациями
    Ответ написан
    Комментировать