如何从Firebase类中恢复数据

时间:2019-02-26 00:59:50

标签: java android firebase firebase-realtime-database

public class pendentes extends AppCompatActivity {

FirebaseDatabase firebaseDatabase;  
DatabaseReference databaseReference;
Dialog myDialog;
Pessoa pessoa;


private List<Pessoa> listaPendentes = new ArrayList<Pessoa>();
private ArrayAdapter<Pessoa> arrayAdapterPessoa;

Pessoa pessoaSelecionada

  @Override
     protected void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.activity_pendentes);


         myDialog = new Dialog(this);

            getSupportActionBar().setTitle("Pendentes");
            getSupportActionBar().setDisplayHomeAsUpEnabled(true);


           iniciarFirebase();
           eventDataBase();


  }

  private void eventDataBase() {
  SharedPreferences sharedPreferences = 
  PreferenceManager.getDefaultSharedPreferences(pendentes.this);
  String emailLog = sharedPreferences.getString("logEmail", "");

databaseReference.child("Entregadores/" + emailLog + "/Entregas Pendentes").addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
        listaPendentes.clear();
        for (DataSnapshot objSnapshot : dataSnapshot.getChildren()) {
            Pessoa p = objSnapshot.getValue(Pessoa.class);
            listaPendentes.add(p);

        }
        arrayAdapterPessoa = new ArrayAdapter<Pessoa>(pendentes.this,
                android.R.layout.simple_list_item_1, listaPendentes);
        ListView mylist = findViewById(R.id.listaPendentes);
        mylist.setAdapter(arrayAdapterPessoa);

        mylist.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
                Toast.makeText(pendentes.this, ""+listaPendentes.get(position), Toast.LENGTH_SHORT).show();
                Pessoa pessoa;
                showPopUp();

            }
        });

    }

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

    }
});

     }

   private void iniciarFirebase() {
        firebaseDatabase = FirebaseDatabase.getInstance();
        //firebaseDatabase.setPersistenceEnabled(true);
        databaseReference = firebaseDatabase.getReference();

     }

 public void showPopUp() {

TextView txtClose;
TextView txtNome;
ImageButton btnNavegar;


myDialog.setContentView(R.layout.popup_pendentes);
btnNavegar = (ImageButton) myDialog.findViewById(R.id.btnNavegar);

txtNome = (TextView) findViewById(R.id.txtNome);
txtClose = (TextView) myDialog.findViewById(R.id.txtClose);
txtClose.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        myDialog.dismiss();
    }
});
btnNavegar.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        Intent navegation = new Intent(pendentes.this, navigation.class);
        startActivity(navegation);
    }
});


myDialog.show();

}

Pessoa.java

public class Pessoa {


        private String Nome;
        private String Usos;
        private Float LAT;
        private Float LONGI;
        private String Endereço;
        private String CPF;
        private String Medicamentos;



     public Pessoa() {

      }


       public Pessoa(String nome, String usos, Float LAT, Float LONGI, 
        String endereço, String CPF, String medicamentos) {
        Nome = nome;
        Usos = usos;
        this.LAT = LAT;
        this.LONGI = LONGI;
        Endereço = endereço;
        this.CPF = CPF;
        Medicamentos = medicamentos;
        }


            public String getNome() {
          return Nome;
         }

        public void setNome(String nome) {
           Nome = nome;
            }

        public String getUsos() {
             return Usos;
        }

        public void setUsos(String usos) {
        Usos = usos;
       }

       public Float getLAT() {
         return LAT;
       }

        public void setLAT(Float LAT) {
        this.LAT = LAT;
         }

      public Float getLONGI() {
           return LONGI;
        }

   public void setLONGI(Float LONGI) {
        this.LONGI = LONGI;
    }

    public String getEndereço() {
              return Endereço;
          }

          public void setEndereço(String endereço) {
           Endereço = endereço;
      }  

   public String getCPF() {
      return CPF;
         }

     public void setCPF(String CPF) {
          this.CPF = CPF;
      }

       public String getMedicamentos() {
          return Medicamentos;
       }

     public void setMedicamentos(String medicamentos) {
           Medicamentos = medicamentos;
      }

      @Override
        public String toString() {
             return Nome;
      }

Firebase RealTime DataBase

如何检索已由“ eventDataBase”功能读取的数据并显示在PopUp的TextView中?我希望它能抓住。

程序从Firebase“ Entregas Pendentes”的数据创建一个列表>>>当我单击某个项目时,它的字符串为“ Nome”,但是在Firebase中还有其他数据,例如:“ Nome”,“Endereço” ,“ CPF”等...,我不知道如何在弹出窗口中显示数据。

0 个答案:

没有答案