0
package com.tp468.dell.automatedfishpondmonitoringsystem;

import android.os.Bundle;

import android.support.annotation.NonNull;

import android.support.v7.app.AppCompatActivity;

import android.widget.TextView;

import com.google.firebase.database.DataSnapshot;

import com.google.firebase.database.DatabaseError;

import com.google.firebase.database.DatabaseReference;

import com.google.firebase.database.FirebaseDatabase;

import com.google.firebase.database.ValueEventListener;

public class MainActivity extends AppCompatActivity {

    TextView Temperature;

    DatabaseReference dRef;

    String status;

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        Temperature = (TextView)findViewById(R.id.textView);

        dRef= FirebaseDatabase.getInstance().getReference();

        dRef.addValueEventListener(new ValueEventListener() {

            @Override
            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                status=dataSnapshot.child("Temperature").getValue().toString();

                Temperature.setText(status);

            }
            @Override
            public void onCancelled(@NonNull DatabaseError databaseError) {

            }
        });
    }
}
Andrew Thompson
  • 168,117
  • 40
  • 217
  • 433

2 Answers2

0

Try this: Use a null check first and then invoke a toString();

Object obj = dataSnapshot.child("Temperature").getValue();
if(obj!=null)
status = obj.toString();
//handle else condition too
Manoj Vadehra
  • 836
  • 4
  • 17
0

Simply use the hasChild() method as a check:

@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {            
  if (dataSnapshot.hasChild("Temperature")) {
    status = dataSnapshot.child("Temperature").getValue().toString();
    Temperature.setText(status);  
  }
}
Wills
  • 61
  • 4