Bom Dia
Gostaria de verificar se não é necessário o comando db.close no final da função buscaAlunos() para liberar a conexão do banco criada através do comando SQLiteDatabase db = getReadableDatabase() ?
public List <Aluno> buscaAlunos() {
String sql = "SELECT * FROM Alunos;";
SQLiteDatabase db = getReadableDatabase();
Cursor c = db.rawQuery(sql,null);
List<Aluno> alunos = new ArrayList <Aluno>();
while (c.moveToNext()) {
Aluno aluno = new Aluno();
aluno.setId(c.getLong(c.getColumnIndex("id")));
aluno.setNome(c.getString(c.getColumnIndex("nome")));
aluno.setEndereco(c.getString(c.getColumnIndex("endereco")));
aluno.setTelefone(c.getString(c.getColumnIndex("telefone")));
aluno.setSite(c.getString(c.getColumnIndex("site")));
aluno.setNota(c.getDouble(c.getColumnIndex("nota")));
alunos.add(aluno);
}
c.close();
db.close();
return alunos;
}