Ошибка импорта в android Studio Design и v7 - Android Studio - - PullRequest
1 голос
/ 11 февраля 2020

Я новичок в java и Android studio, но я пытался создать приложение

Вот код -

MainActivity.java

import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import androidx.appcompat.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;

В этом коде слово дизайна показывает - не может разрешить символ 'design'

и, как показывает слово v7 - не может разрешить символ 'v7'

build.gradle(Module:app)

apply plugin: 'com.android.application'

android {
    compileSdkVersion 29
    buildToolsVersion "29.0.3"
    defaultConfig {
        applicationId "com.example.pop"
        minSdkVersion 15
        targetSdkVersion 29
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'androidx.appcompat:appcompat:1.0.2'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    implementation 'com.google.android.material:material:1.0.0'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test.ext:junit:1.1.0'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'

}

Если я запустил эту программу, которая показывает ошибку компилятора

error: package android.support.design.widget does not exist
error: package android.support.design.widget does not exist
error: package android.support.v7.widget does not exist

Как решить эту ошибку, спасибо

Ответы [ 5 ]

4 голосов
/ 11 февраля 2020

Если вы используете androidx реализаций, вы должны использовать

import androidx.appcompat.widget.Toolbar;
import com.google.android.material.snackbar.Snackbar;
import com.google.android.material.floatingactionbutton.FloatingActionButton;

Но если вы хотите работать с импортом, скомпилируйте эти зависимости в вашем build.gradle:

dependencies {
   ...
   implementation 'com.android.support:design:25.3.1'
}
2 голосов
/ 11 февраля 2020

Причина довольно проста. Вы используете библиотеки импорта, отличные от тех, которые у вас есть в зависимости от проекта.

В вашем случае вы импортируете android.support Библиотека поддержки , но ваши зависимости gradle показывают, что вы включили следующие библиотеки вместо

AndroidX новее, лучше и предпочтительная версия предыдущей библиотеки поддержки с момента выпуска Android P ie (API 28). Компоненты материала для Android являются официальной реализацией Google виджетов для материалов, включая FloatingActionButton, BottomAppBar et c.

Поскольку вы новичок, я предполагаю, что это не так. Неважно, используете ли вы androidx или android.support. А пока просто используйте AndroidX. Поэтому просто импортируйте правильные библиотеки следующим образом

import com.google.android.material.floatingactionbutton.FloatingActionButton
import com.google.android.material.snackbar.Snackbar
import androidx.appcompat.widget.Toolbar
1 голос
/ 11 февраля 2020

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

реализация 'com.google. android .material: material: 1.2.0-alpha04'

эта библиотека материалов создана Google для всех видов и виджетов .. надеюсь, это поможет вам ..

1 голос
/ 11 февраля 2020

Вы используете androidx, который является частью android jetpack, чтобы он не поддерживал support design import Вы можете решить эту проблему, просто изменив импорт на

import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import com.google.android.material.snackbar.Snackbar;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import androidx.appcompat.widget.Toolbar;

Надеюсь, он работает хорошо , Также вы можете узнать о Jetpack androidx от здесь

1 голос
/ 11 февраля 2020

Похоже, вы перешли на AndroidX. Удалите эти три импорта

import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.widget.Toolbar;

и добавьте

import com.google.android.material.floatingactionbutton.FloatingActionButton;
import com.google.android.material.snackbar.Snackbar;
import androidx.appcompat.widget.Toolbar;
...