Не удалось получить https://dl.google.com/dl/android/maven2/com/google/gms/google-services/4.0.1/google-services-4.0.1.pom '

  1. KeyBindings (высокая абстракция)

  2. преимущества

    • устанавливаемые, совместно используемые
    • , предназначенные для простых ярлыки, без нежелательных побочных эффектов (большинство из этих событий довольно просты и устанавливаются)
    • с уверенностью решает любую проблему с фокусом в окне (также можно установить, что в Java окно должно иметь фокус на экране)
    • Качать внутри, чтобы использовать KeyBindings, встроенные ярлыки, действия, больше в Привязки клавиш by @camickr (в Swing реализованы интересные ярлыки и действия)
    • вывод должен быть в Swing Action (такая же высокая абстракция в Swing)

    Недостатки

    • невозможно переопределить все клавиши с клавиатуры
    • невозможно переопределить три или более клавиши в одно и то же время
    • код выглядит как очень сложный (не совсем верно, код сортирует в большинстве случаев по сравнению с тем же кодом из KeyListener)
    • удален для более подробной информации, чтобы увидеть c omnent by @camickr (требуется таймер Swing для повторных действий)
    • невозможно использовать () с помощью одного метода, реализованного в API

    .

    KeyListeners (низкоуровневый слушатель)

    Преимущества


    • очень просты в использовании, интуитивно понятный код
    • очень короткий для двух ключевых событий
    • не требуется каких-либо знаний о Swing, Java
    • можно переопределить дерево или нажать несколько нажатий (например), для очень сложных клавишных клавиш, тогда не имеет значения, какой из них можно стрелять любые, отдельные ключевые события
    • можно запрограммировать на event.consume ()
    • можно прослушивать нефинансированные внутренние события из составных JComponents (JComboBox, JSpinner ...)

    недостатки

    • недоступны для части контейнеров и JComponents
    • (J) Компонент должен быть владельцем фокуса и должен быть фокусируемым
    • , не предназначенный для Swing JComponents

    .

    AW TEventListener


    • , чтобы объединить все события Key и Mouse, слушателя с низким уровнем, как это возможно в Java
    • , в принципе нет причин использовать этот прослушиватель для большей части (даже очень сложный) GUI на основе Swing
    • Я вижу, что этот прослушиватель реализован в пользовательских компонентах на основе AWT. Необходимые одноранговые узлы взяты из родной ОС
    • , но для AWTEventListener есть отличные реализации Неактивность приложений и слушатели глобального события от @camickr

    .

    уведомление: упорядочение ключевых событий - это разные платформы по платформе


-1
задан Suyog 17 January 2019 в 08:46
поделиться

2 ответа

Попробуйте изменить следующий код (проект):

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {

    repositories {
        google()
        maven { url "http://jcenter.bintray.com"}
        maven { url 'https://dl.bintray.com/android/android-tools' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.3.0'
        classpath 'com.google.gms:google-services:4.2.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        maven { url "http://jcenter.bintray.com"}
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

И (приложение):

apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'

android {
    compileSdkVersion 27
    defaultConfig {
        applicationId "com.nsc.suyog.myotp1"
        minSdkVersion 21
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

android { lintOptions { abortOnError false }

    aaptOptions {
        cruncherEnabled = false

    }

}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:27.1.1'
    testImplementation 'junit:junit:4.12'

    implementation 'com.google.firebase:firebase-auth:16.1.0'
}

Также в добавить gradle-wrapper.properties эту строку или измените, если уже существует с другим значением:

distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip
0
ответ дан Paraskevas Ntsounos 17 January 2019 в 08:46
поделиться

Просто удалите :15.0.0 из реализации Firebase!

implementation должно выглядеть примерно так:

implementation 'com.google.firebase:firebase-auth:16.1.0'

В остальном все выглядит хорошо!

0
ответ дан Gourav 17 January 2019 в 08:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: