how popular is the object array with SQLite data

-1

Well come on, I'm making an application, this will have several student names. I made a method that would add each name to a DB table. no bd is like this (Antonio, Pedro, Caio, Felipe ......).

I need this data from the DB to be recovered and stay in the ARRAY class Student.

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

NOTE: This method has nothing written, because I do not know how to do it, whether it will need to 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 [LINK DROPBOX]: < link > [LINK DROPBOX]

    
asked by anonymous 30.01.2017 / 00:58

1 answer

1

You need to do a search to get the students and get the information from Cursor of the search. The SQLiteDatabase has the functions query or rawQuery that does the searches with the information of the table, columns etc. Look in the SQLiteDatabase documentation 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;
}
    
30.01.2017 / 02:10