Boa noite pessoal, estou a uns dias estudando e criando um game mobile simples, porém
eu queria implementar um sistema de RANKING nele, já fiz toda a comunicação de
enviar dados para o Banco de Dados do Cloud Firestore.
Está tudo certinho.
A questão é a seguinte, eu tenho que fazer as verificações se o “Recorde” de um jogador
é maior que o “Recorde” de outro jogador, porém como os arquivos que são pegados do
Banco de Dados retornam como Object, eu queria saber se tem alguma maneira de fazer
essa comparação.
Obrigado.
Código onde estou mexendo:
public void lerDados(View view){
db.collection("users").whereEqualTo("registrado", true).get() // Verifica se o usuario ta cadastrado .addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() { @Override public void onComplete(@NonNull Task<QuerySnapshot> task) { if(task.isSuccessful()){ for(QueryDocumentSnapshot document: task.getResult()){ //Object[] dadosuser = new Object[MAX_CONTAS]; Map<String, Object> dadosuser = document.getData(); Log.d("ranking", document.getId() + " => " +document.getData()); // Mostra os dados no LOG //txtPoss[a-1].setText(a +" | " + dadosuser.get("nome") + " | Recorde: R$" + dadosuser.get("record")); Object[] nomeRec = new Object[MAX_CONTAS]; Object[] recordRec = new Object[MAX_CONTAS]; Object recordtmp = dadosuser.get("record"); int[] maiorRecord = new int[MAX_CONTAS]; int[] atualRecord = new int[MAX_CONTAS]; Integer.; for(int a = 0; a<MAX_CONTAS; a++) { maiorRecord[a] = dadosuser.get("record"); for(int b = 0; b<MAX_CONTAS; b++){ atualRecord[b] = 0; if(atualRecord[b] > maiorRecord[a]) { int tmp = maiorRecord[a]; maiorRecord[a] = atualRecord[b]; atualRecord[b] = tmp; nomeRec[a] = dadosuser.get("nome"); recordRec[a] = dadosuser.get("record"); //txtPoss[a-1].setText(a +" | " + dadosuser.get("nome") + " | Recorde: R$" + dadosuser.get("record")); } else { maiorRecord[a] = maiorRecord[a]; nomeRec[a] = dadosuser.get("nome"); recordRec[a] = dadosuser.get("record"); } } } txtPoss[0].setText(" 1 | " + nomeRec[0] + " | Recorde: R$" + recordRec[0]); txtPoss[1].setText(" 2 | " + nomeRec[1] + " | Recorde: R$" + recordRec[1]); txtPoss[2].setText(" 3 | " + nomeRec[2] + " | Recorde: R$" + recordRec[2]); txtPoss[3].setText(" 4 | " + nomeRec[3] + " | Recorde: R$" + recordRec[3]); txtPoss[4].setText(" 5 | " + nomeRec[4] + " | Recorde: R$" + recordRec[4]); txtPoss[5].setText(" 6 | " + nomeRec[5] + " | Recorde: R$" + recordRec[5]); txtPoss[6].setText(" 7 | " + nomeRec[6] + " | Recorde: R$" + recordRec[6]); txtPoss[7].setText(" 8 | " + nomeRec[7] + " | Recorde: R$" + recordRec[7]); txtPoss[8].setText(" 9 | " + nomeRec[8] + " | Recorde: R$" + recordRec[8]); txtPoss[9].setText("10 | " + nomeRec[9] + " | Recorde: R$" + recordRec[9]); } } else { Log.d("ranking", "Error: ", task.getException()); } } }); }