简体   繁体   中英

Firebase Database not fetching data from Firebase Database Reference

Everything is working fine but DatabaseReference is not fetching data, it's like just ignoring my code to run and like my internet is not working please help i'm new here in this community below are my codes and images.

Previously it was working, but as i just changed some code to make only currentVersion >= vCode so that user can continue even if the value in database is < currentVersion but, after building it my app was not fetching data from firebase and the i tried to uninstall it, installed again from play store the older version it also was not fetching data please help. I don't know what wrong i did. Thus i am planning to install ParrotOS so maybe then it'll work but it's better to ask first from the experts

firebase database image

MainActivity.java

public class MainActivity extends AppCompatActivity {
    TextView appName;
    FirebaseUser firebaseUser;
    String currentVersionName;
    long currentVersionCode;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        appName = findViewById(R.id.appName);
        currentVersionName = BuildConfig.VERSION_NAME;
        currentVersionCode = BuildConfig.VERSION_CODE;
        animateAppName();
        netConn();
        FirebaseAuth.getInstance();

    }

    public void applyScreenChange(){
        String sharedPerfId = "MyAppPref";
        SharedPreferences sharedPreferences = getSharedPreferences(sharedPerfId,0);
        boolean isAdvertiserLoggedIn = sharedPreferences.getBoolean("isAdvertiserLoggedIn",false);
        boolean isCreatorLoggedIn = sharedPreferences.getBoolean("isCreatorLoggedIn",false);
        if (isAdvertiserLoggedIn){
            skipSetupToAdvertiser();
        }
        else if (isCreatorLoggedIn){
            skipSetupToCreator();
        }
        else {
            newActivity();
        }
    }

    public void animateAppName(){
        appName.setTranslationY(-1000f);
        appName.animate().translationYBy(1000f).setDuration(500);
    }

    public void netConn(){
        ConnectivityManager connectivityManager = (ConnectivityManager) getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);
        assert connectivityManager != null;
        NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
        if(networkInfo == null || !networkInfo.isConnected() || !networkInfo.isAvailable()){
            AlertDialog alertDialog = new AlertDialog.Builder(MainActivity.this).create();
            alertDialog.setTitle("No Internet Connection");
            alertDialog.setMessage("Connect to Network and Then try again");
            alertDialog.setButton(AlertDialog.BUTTON_NEGATIVE, "Exit", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialogInterface, int i) {
                    MainActivity.super.onBackPressed();
                }
            });
            alertDialog.setButton(AlertDialog.BUTTON_POSITIVE, "Retry", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialogInterface, int i) {
                    netConn();
                }
            });
            alertDialog.setCanceledOnTouchOutside(false);
            alertDialog.show();

        }else {

//            Check older version

//            applyScreenChange();


            DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference("Version");
            databaseReference.addListenerForSingleValueEvent(new ValueEventListener() {
                @Override
                public void onDataChange(@NonNull DataSnapshot snapshot) {
                    String vName = (String) snapshot.child("latestVersionName").getValue();
                    long vCode = (long) snapshot.child("latestVersionCode").getValue();
                    if (currentVersionName.equals(vName) && currentVersionCode >= vCode){
                        applyScreenChange();

                        // TODO: 16-08-2020 add condition to open app if version is higher
                    }else {
                        Toast.makeText(MainActivity.this, "Old Version", Toast.LENGTH_SHORT).show();
                        AlertDialog alertDialog = new AlertDialog.Builder(MainActivity.this).create();
                        alertDialog.setTitle("You're on Older Version");
                        alertDialog.setMessage("This Version is no more supported, Kindly update your App to Continue");
                        alertDialog.setButton(AlertDialog.BUTTON_NEGATIVE, "Exit", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialogInterface, int i) {
                                MainActivity.super.onBackPressed();
                            }
                        });
                        alertDialog.setButton(AlertDialog.BUTTON_POSITIVE, "Update", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialogInterface, int i) {
//                                startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(getString(R.string.app_link))));
                                Toast.makeText(MainActivity.this, "Kindly Search Sponso on PlayStore and Update", Toast.LENGTH_SHORT).show();
                                finish();
                            }
                        });
                        alertDialog.setCanceledOnTouchOutside(false);
                        alertDialog.show();
                    }
                }

                @Override
                public void onCancelled(@NonNull DatabaseError error) {

                }
            });
        }
    }

    public void newActivity(){
                Intent intent = new Intent(MainActivity.this, AdvertiserCreatorChooser.class);
                startActivity(intent);
                finish();
    }


    public void skipSetupToAdvertiser(){
        firebaseUser = FirebaseAuth.getInstance().getCurrentUser();
        if (firebaseUser!=null) {
                    Intent intent = new Intent(MainActivity.this, AdvertiserHome.class);
                    startActivity(intent);
                    finish();
        }else{
                    Intent intent = new Intent(MainActivity.this, AdvertiserLoginRegister.class);
                    startActivity(intent);
                    finish();
        }
    }

    public void skipSetupToCreator(){
        firebaseUser = FirebaseAuth.getInstance().getCurrentUser();
        if (firebaseUser!=null) {
                    Intent intent = new Intent(MainActivity.this, CreatorHome.class);
                    startActivity(intent);
                    finish();
        }else {
                    Intent intent = new Intent(MainActivity.this, CreatorLoginRegister.class);
                    startActivity(intent);
                    finish();
        }
    }
}

manifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.webroose.sponso">

    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>

    <application
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:allowBackup="true"
        android:theme="@style/AppTheme">
        <activity android:name=".Advertiser.AdvertiserCampaignUpdate"/>
        <activity android:name=".Advertiser.ui.main.AdvertiserSettings" />
        <activity android:name=".Creator.CreatorRecentlyChat" />
        <activity android:name=".Advertiser.AdvertiserRecentlyChat" />
        <activity android:name=".Advertiser.AdvertiserChatActivity" />
        <activity android:name=".Creator.CreatorChatActivity" />

        <meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="@string/app_id" />

        <activity android:name=".Creator.CreatorUserDetails" />
        <activity android:name=".Creator.CreatorList" />
        <activity android:name=".Common.AboutUs" />
        <activity
            android:name=".AdvertiserHome"
            android:label="@string/title_activity_advertiser_home"
            android:theme="@style/AppTheme.NoActionBar" />
        <activity
            android:name=".Advertiser.AdvertiserLoginRegister"
            android:label="@string/title_activity_advertiser_login_register"
            android:theme="@style/AppTheme.NoActionBar" />
        <activity android:name=".Common.PrivacyPolicy" />
        <activity android:name=".Common.ChangePassword" />
        <activity android:name=".Creator.CreatorSettings" />
        <activity android:name=".Common.ChangeEmail" />
        <activity android:name=".Advertiser.AdvertiserUserDetails" />
        <activity android:name=".Advertiser.AdvertiserList" />
        <activity
            android:name=".CreatorHome"
            android:label="@string/title_activity_creator_home"
            android:theme="@style/AppTheme.NoActionBar" />
        <activity
            android:name=".Creator.CreatorLoginRegister"
            android:label="@string/title_activity_creator_login_register"
            android:theme="@style/AppTheme.NoActionBar" />
        <activity android:name=".AdvertiserCreatorChooser" />
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <meta-data
            android:name="preloaded_fonts"
            android:resource="@array/preloaded_fonts" />
    </application>

</manifest>

dependency

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'androidx.appcompat:appcompat:1.2.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.0.1'
    implementation 'com.google.android.material:material:1.2.0'
    implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
    implementation 'com.google.firebase:firebase-database:19.4.0'
    implementation 'androidx.legacy:legacy-support-v4:1.0.0'
    implementation 'androidx.navigation:navigation-fragment:2.3.0'
    implementation 'androidx.navigation:navigation-ui:2.3.0'
    testImplementation 'junit:junit:4.13'
    androidTestImplementation 'androidx.test.ext:junit:1.1.2'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
    implementation 'com.google.firebase:firebase-auth:19.3.2'
    implementation 'com.google.firebase:firebase-database:19.4.0'
    implementation 'com.firebaseui:firebase-ui-database:6.2.0'
    implementation 'com.google.android.gms:play-services-ads:19.3.0'
    implementation 'com.android.support:multidex:2.0.0'
    implementation 'com.google.firebase:firebase-analytics:17.5.0'
    implementation 'com.google.firebase:firebase-messaging:20.2.4'
    implementation 'com.facebook.android:audience-network-sdk:5.10.1'
}

Change
DatabaseReference databaseReference =FirebaseDatabase.getInstance().getReference("Version");
To
DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference().child("Version");

And the actual problem was with Firebase Database

Check below image with firebase database

在此处输入图片说明

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM