Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java.lang.NoSuchMethodError:没有虚拟方法setTokenProvider(Lcom/google/firebase/internal/InternalTokenProvider;)_Java_Android_Firebase_Firebase Realtime Database - Fatal编程技术网

java.lang.NoSuchMethodError:没有虚拟方法setTokenProvider(Lcom/google/firebase/internal/InternalTokenProvider;)

java.lang.NoSuchMethodError:没有虚拟方法setTokenProvider(Lcom/google/firebase/internal/InternalTokenProvider;),java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,我想将以下数据插入firebase。在我尝试此错误后,此错误发生,应用程序崩溃,因为此错误,我查找stackoverflow提供的上一个解决方案,并多次尝试修复此问题。因此,我根据解决方案添加了以下依赖项。但这些错误依然存在。帮我解决这个问题 2020-09-19 15:56:38.296 8980-8980/com.example.eduapp E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.ed

我想将以下数据插入firebase。在我尝试此错误后,此错误发生,应用程序崩溃,因为此错误,我查找stackoverflow提供的上一个解决方案,并多次尝试修复此问题。因此,我根据解决方案添加了以下依赖项。但这些错误依然存在。帮我解决这个问题

    2020-09-19 15:56:38.296 8980-8980/com.example.eduapp E/AndroidRuntime: FATAL EXCEPTION: main
        Process: com.example.eduapp, PID: 8980
        java.lang.NoSuchMethodError: No virtual method setTokenProvider(Lcom/google/firebase/internal/InternalTokenProvider;)V in class Lcom/google/firebase/FirebaseApp; or its super classes (declaration of 'com.google.firebase.FirebaseApp' appears in /data/app/com.example.eduapp-1/base.apk)
            at com.google.firebase.auth.zzp.create(Unknown Source)
            at com.google.firebase.components.ComponentRuntime.lambda$new$0(com.google.firebase:firebase-components@@16.0.0:69)
            at com.google.firebase.components.ComponentRuntime$$Lambda$1.get(com.google.firebase:firebase-components@@16.0.0)
            at com.google.firebase.components.Lazy.get(com.google.firebase:firebase-components@@16.0.0:53)
            at com.google.firebase.components.ComponentRuntime.initializeEagerComponents(com.google.firebase:firebase-components@@16.0.0:158)
        at com.google.firebase.FirebaseApp.initializeAllApis(FirebaseApp.java:583)
        at com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:304)
        at com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:268)
        at com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:253)
        at com.google.firebase.provider.FirebaseInitProvider.onCreate(FirebaseInitProvider.java:51)
        at android.content.ContentProvider.attachInfo(ContentProvider.java:1751)
        at android.content.ContentProvider.attachInfo(ContentProvider.java:1726)
        at com.google.firebase.provider.FirebaseInitProvider.attachInfo(FirebaseInitProvider.java:45)
        at android.app.ActivityThread.installProvider(ActivityThread.java:5853)
        at android.app.ActivityThread.installContentProviders(ActivityThread.java:5445)
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5384)
        at android.app.ActivityThread.-wrap2(ActivityThread.java)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1545)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:154)
        at android.app.ActivityThread.main(ActivityThread.java:6119)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
格雷德尔先生

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

android {
    compileSdkVersion 30
    buildToolsVersion "30.0.1"

    defaultConfig {
        applicationId "com.example.eduapp"
        minSdkVersion 21
        targetSdkVersion 30
        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.1.0'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    implementation 'com.google.android.material:material:1.0.0'
    implementation 'com.google.firebase:firebase-database:16.0.4'

implementation 'com.google.firebase:firebase-auth:17.0.0'
implementation 'com.firebaseui:firebase-ui-auth:4.3.1'
    implementation 'androidx.navigation:navigation-fragment:2.3.0'
    implementation 'androidx.navigation:navigation-ui:2.3.0'
    implementation 'androidx.legacy:legacy-support-v4:1.0.0'
    implementation 'com.google.android.material:material:1.0.0'
    implementation 'com.google.firebase:firebase-storage:19.2.0'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test.ext:junit:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
    implementation 'com.android.support:cardview-v7:+'


}
apply plugin: 'com.google.gms.google-services'
Marks.java

    package com.example.eduapp.rasuni;
    
    import androidx.annotation.NonNull;
    import androidx.appcompat.app.AppCompatActivity;
    
    import android.content.Intent;
    import android.os.Bundle;
    import android.text.TextUtils;
    import android.view.MenuItem;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.Toast;
    
    import com.example.eduapp.buddhika.Assignment;
    import com.example.eduapp.buddhika.MainActivity2;
    import com.example.eduapp.kavishka.Pp;
    import com.example.eduapp.yasasri.Project;
    import com.example.eduapp.R;
    import com.google.android.material.bottomnavigation.BottomNavigationView;
    import com.google.firebase.database.DatabaseReference;
    import com.google.firebase.database.FirebaseDatabase;
    
    public class Marks extends AppCompatActivity {
    
        private Button button;
        EditText year,semester,gpa,mark,subject;
        Button add,view;
        DatabaseReference dbref;
        Result rslt;
    
    
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_marks);
    
            year = findViewById(R.id.txt_year);
            semester = findViewById(R.id.txt_semester);
            gpa = findViewById(R.id.txt_gpa);
            mark = findViewById(R.id.txt_mark);
            subject = findViewById(R.id.txt_subject);
    
            add = findViewById(R.id.add);
    
            rslt = new Result();
    
    
    
            add.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    dbref = FirebaseDatabase.getInstance().getReference().child("Marks");
                    try {
                        if(TextUtils.isEmpty(year.getText().toString()))
                            Toast.makeText(getApplicationContext(),"Empty year",Toast.LENGTH_SHORT).show();
                        else if(TextUtils.isEmpty(mark.getText().toString()))
                            Toast.makeText(getApplicationContext(),"Empty year",Toast.LENGTH_SHORT).show();
                        else if(TextUtils.isEmpty(subject.getText().toString()))
                            Toast.makeText(getApplicationContext(),"Empty year",Toast.LENGTH_SHORT).show();
                        else if(TextUtils.isEmpty(semester.getText().toString()))
                            Toast.makeText(getApplicationContext(),"Empty year",Toast.LENGTH_SHORT).show();
                        else
                        {
                            rslt.setYear(Integer.parseInt(year.getText().toString().trim()));
                            rslt.setMarks(Integer.parseInt(mark.getText().toString().trim()));
                            rslt.setSubjects(subject.getText().toString().trim());
                            rslt.setSemester(semester.getText().toString().trim());
                            rslt.setMarks(Integer.parseInt(gpa.getText().toString().trim()));
                            dbref.child("mrk1").setValue(rslt);
                            Toast.makeText(getApplicationContext(),"Inserted Succesfully!",Toast.LENGTH_SHORT).show();
                            clearcontrol();
                        }
    
                    }
                    catch(NumberFormatException e)
                    {
                        Toast.makeText(getApplicationContext(),"Invalid !",Toast.LENGTH_SHORT).show();
                    }
                }
            });
    
   
            button = (Button) findViewById(R.id.view);
            button.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    Intent intent = new Intent(Marks.this , Edit_marks.class);
                    startActivity(intent);
                }
            });
    
    
    
            //intialize and assign variable
            BottomNavigationView bottomNavigationView = findViewById(R.id.bottom_navigation);
    
            //set home selected
            bottomNavigationView.setSelectedItemId(R.id.marks);
    
            //perform itemselected list
            bottomNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
                @Override
                public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {
                    switch (menuItem.getItemId()) {
                        case R.id.marks:
                            return true;
                        case R.id.todo:
                            startActivity(new Intent(getApplicationContext(), MainActivity2.class));
                            overridePendingTransition(0, 0);
                            return true;
                        case R.id.assignment:
                            startActivity(new Intent(getApplicationContext(), Assignment.class));
                            overridePendingTransition(0, 0);
                            return true;
                        case R.id.project:
                            startActivity(new Intent(getApplicationContext(), Project.class));
                            overridePendingTransition(0, 0);
                            return true;
                        case R.id.pp:
                            startActivity(new Intent(getApplicationContext(), Pp.class));
                            overridePendingTransition(0, 0);
                            return true;
                    }
                    return false;
                }
    
            });
    
    
        }
    
        private void clearcontrol()
        {
            subject.setText("");
            semester.setText("");
            year.setText("");
            gpa.setText("");
            mark.setText("");
    
    
        }
    }

您正在对firebase数据库使用非常旧的依赖项

implementation 'com.google.firebase:firebase-database:16.0.4'
所有Firebase依赖项版本都需要根据您在中看到的内容进行匹配,如果您想更改其中任何一个版本,则需要随时间保持最新。您正在使用的产品的最新版本包括:

implementation 'com.google.firebase:firebase-database:19.4.0'
implementation 'com.google.firebase:firebase-storage:19.2.0'

我执行这些依赖项,但仍然发生错误。我清理并重建我的项目