Cómo mostrar los datos en la base de fuego de Vista de Texto

syahmi amor:

Todavía estoy aprendiendo programación. Tengo problemas con mis mostrando los datos de base de fuego en una TextView. Mi salida no está mostrando el valor de la base de datos. Esta es mi base de datos de tiempo real en tiempo real db

Este es mi código java:

public class MainActivity extends AppCompatActivity {

    TextView status,water,steam,inlet,outlet;
    String istatus,iwater,isteam,iinlet,ioutlet;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        // address the text
        status = findViewById(R.id.a);
        water = findViewById(R.id.b);
        steam = findViewById(R.id.c);
        inlet = findViewById(R.id.d);
        outlet = findViewById(R.id.e);

        final DatabaseReference ref =FirebaseDatabase.getInstance().getReference().child("ESP32_SADS");
        ref.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                status.setText(istatus);
                water.setText(iwater);
                steam.setText(isteam);
                inlet.setText(iinlet);
                outlet.setText(ioutlet);

                istatus = dataSnapshot.child("Status").getValue().toString();
                iwater = dataSnapshot.child("Water").getValue().toString();
                isteam = dataSnapshot.child("Steam").getValue().toString();
                iinlet = dataSnapshot.child("Inlet").getValue().toString();
                ioutlet = dataSnapshot.child("Outlet").getValue().toString();
            }

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

            }
        });
    }

Mi salida es el siguiente:
salida

Yousef:

just do it obtener el valor de db y luego lo puso en su Textview

  public class MainActivity extends AppCompatActivity {

    TextView status,water,steam,inlet,outlet;
    String istatus,iwater,isteam,iinlet,ioutlet;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        // address the text
        status = findViewById(R.id.a);
        water = findViewById(R.id.b);
        steam = findViewById(R.id.c);
        inlet = findViewById(R.id.d);
        outlet = findViewById(R.id.e);

        final DatabaseReference ref 
        =FirebaseDatabase.getInstance().getReference().child("ESP32_SADS");
        ref.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                // your variables become have value then put it to your text
                istatus = dataSnapshot.child("Status").getValue().toString();
                iwater = dataSnapshot.child("Water").getValue().toString();
                isteam = dataSnapshot.child("Steam").getValue().toString();
                iinlet = dataSnapshot.child("Inlet").getValue().toString();
                ioutlet = dataSnapshot.child("Outlet").getValue().toString();

                // set values in textViews
                status.setText(istatus);
                water.setText(iwater);
                steam.setText(isteam);
                inlet.setText(iinlet);
                outlet.setText(ioutlet);
            }

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


            }



        });
    }

parte equivocada en el código, escribir primero antes de lectura

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=364460&siteId=1
Recomendado
Clasificación