how to popular the object array with Sqlite data

Asked

Viewed 697 times

-1

Well come on, I’m doing an application, this will have several student names. I made a method that add each name in a table of BD. in the comic is like this(Antonio, Pedro, Caio, Felipe......).

I need this BD data to be recovered and stay in the ARRAY of the Student class.

     //Vetor da Classe aluno
    Aluno[] alunos = bancoDeDados.obterAlunos();

OBS** This method has nothing written, because I don’t know how to do it, if you need to have Return or void.

STUDENT CLASS:

//Class Student with data of each AETUB student as name, id and presence; public class Student {

private String nome;
private int id;
private int presencaTotal;

public String getNome() {
    return nome;
}

public void setNome(String nome) {
    this.nome = nome;
}

public int getId() {
    return id;
}

public void setId(int id) {
    this.id = id;
}

public int getPresencaTotal() {
    return presencaTotal;
}

public void setPresencaTotal(int presencaTotal) {
    this.presencaTotal = presencaTotal;
}

}

TO VIEW THE COMPLETE CODE [DROPBOX LINK]: < https://www.dropbox.com/s/xv1tl9k7sqkqfbp/MainActivity.java?dl=0 > [DROPBOX LINK]

1 answer

1


You need to do a survey to get students and get information from Cursor of the research. The SQLiteDatabase has the functions query or rawQuery which searches with table information, columns etc. Look in the documentation of the SQLiteDatabase for more information.

public Aluno[] obterAlunos() {
    Cursor resultados = bancoDeDados.query("alunos",
                                    new String[]{"id", "nome", "presenca"},
                                    null, null, null, null, null);

    Aluno[] alunos = new Aluno[resultados.getCount()];

    resultados.moveToFirst();

    // Para obter uma string, int, etc de uma coluna, é preciso do índice
    // Aqui os índices são salvos para não precisar procurar por eles
    // no Cursor. Só para otimizar mesmo.
    final int idPos = resultados.getColumnIndex("id");
    final int nomePos = resultados.getColumnIndex("nome");
    final int presencaPos = resultados.getColumnIndex("presenca");

    int pos = 0; // posição atual na array de alunos

    while (!resultados.isAfterLast()) {            
        alunos[pos] = new Aluno();

        alunos[pos].setNome(resultados.getString(nomePos));
        alunos[pos].setId(resultados.getInt(idPos));
        alunos[pos].setPresencaTotal(resultados.getString(presencaPos));

        resultados.moveToNext();
        pos++;
    }

    resultados.close();

    return alunos;
}
  • Thanks again, I’ll stop to ask you are chasing me hahahaha. Thanks man, sorry to bother you.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.