Estou com um problema.
Se eu crio meu adapter assim:
private void carregaHorarios() { RemedioDAO dao = new RemedioDAO(this); List remedios = dao.buscaRemedios(); dao.close();
String[] remedios2 = {"12:30", "22:15", "15:10", "18:30", "19:40", "11:30", "12:20"};; ArrayAdapter adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, remedios2); listaRemedios.setAdapter(adapter); }
Ele mostra a listagem normalmente.
Porem, eu tentei chamar os registros do banco de dados mas não são mostrados.
private void carregaHorarios() { RemedioDAO dao = new RemedioDAO(this); List remedios = dao.buscaRemedios(); dao.close();
String[] remedios2 = {"12:30", "22:15", "15:10", "18:30", "19:40", "11:30", "12:20"}; ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, remedios); listaRemedios.setAdapter(adapter); }
Eu alterei a função de buscaRemedios para retornar a quantidade de registro e dei um Toast.makeText e ele me retorna a quantidade correta. Fiz isso também retornando somente um campo especifico e dei um Toast.makeText e ele mostro tambem.
Abaixo segue as duas class Modelo e Dao.
package br.com.borgas.leandro.remedios.modelo;
import java.io.Serializable;
/* Created by Leandro on 27/05/2016. */ public class Remedio implements Serializable { private Long id; private Long id_aluno; private String Remedio; private String Horario; private boolean Segunda; private boolean Terca; private boolean Quarta; private boolean Quinta; private boolean Sexta; private boolean Sabado; private boolean Domingo;
public boolean isDomingo() { return Domingo; }
public void setDomingo(boolean domingo) { Domingo = domingo; }
public boolean isSabado() { return Sabado; }
public void setSabado(boolean sabado) { Sabado = sabado; }
public boolean isSexta() { return Sexta; }
public void setSexta(boolean sexta) { Sexta = sexta; }
public boolean isQuinta() { return Quinta; }
public void setQuinta(boolean quinta) { Quinta = quinta; }
public boolean isQuarta() { return Quarta; }
public void setQuarta(boolean quarta) { Quarta = quarta; }
public boolean isTerca() { return Terca; }
public void setTerca(boolean terca) { Terca = terca; }
public boolean isSegunda() { return Segunda; }
public void setSegunda(boolean segunda) { Segunda = segunda; }
public String getHorario() { return Horario; }
public void setHorario(String horario) { Horario = horario; }
public String getRemedio() { return Remedio; }
public void setRemedio(String remedio) { Remedio = remedio; }
public Long getId() { return id; }
public void setId(Long id) { this.id = id; }
@Override public String toString() { return getId() + " : " + getHorario(); }
public Long getId_aluno() { return id_aluno; }
public void setId_aluno(Long id_aluno) { this.id_aluno = id_aluno; } }
package br.com.borgas.leandro.remedios.dao;
import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.widget.Toast;
import java.util.ArrayList; import java.util.List;
import br.com.borgas.leandro.remedios.modelo.Aluno; import br.com.borgas.leandro.remedios.modelo.Remedio;
/* Created by Leandro on 27/05/2016. */ public class RemedioDAO extends SQLiteOpenHelper { public RemedioDAO(Context context) { super(context, "Remedios", null, 1); }
@Override public void onCreate(SQLiteDatabase db) { String sql = "" + "CREATE TABLE tb_remedios_alu " + "( " + "Id INTEGER PRIMARY KEY, " + "Id_aluno INTEGER NULL, " + "remedio TEXT NULL, " + "horario TIME NOT NULL, " + "segunda boolean NOT NULL DEFAULT 0, " + "terca boolean NOT NULL DEFAULT 0, " + "quarta boolean NOT NULL DEFAULT 0," + "quinta boolean NOT NULL DEFAULT 0," + "sexta boolean NOT NULL DEFAULT 0," + "sabado boolean NOT NULL DEFAULT 0," + "domingo boolean NOT NULL DEFAULT 0 " + ");"; db.execSQL(sql); }
@Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { String sql = ""; switch (oldVersion) { case 1: //sql = "ALTER TABLE tb_remedios_alu ADD COLUMN telefone TEXT;"; //db.execSQL(sql); break; } }
public void insere(Remedio remedio) { SQLiteDatabase db = getWritableDatabase(); ContentValues dados = getContentValuesAlunos(remedio);
db.insert("tb_remedios_alu", null, dados); }
private ContentValues getContentValuesAlunos(Remedio remedio) { ContentValues dados = new ContentValues();
dados.put( "id_aluno", remedio.getId_aluno()); dados.put( "remedio", remedio.getRemedio()); dados.put( "horario", remedio.getHorario()); dados.put( "segunda", remedio.isSegunda()); dados.put( "terca", remedio.isTerca()); dados.put( "quarta", remedio.isQuarta()); dados.put( "quinta", remedio.isQuinta()); dados.put( "sexta", remedio.isSexta()); dados.put( "sabado", remedio.isSabado()); dados.put( "domingo", remedio.isDomingo()); return dados;
}
public List buscaRemedios() { String sql = "SELECT * FROM tb_remedios_alu ORDER BY id DESC";
SQLiteDatabase db = getReadableDatabase(); Cursor c = db.rawQuery(sql, null); List remedios = new ArrayList(); while(c.moveToNext()){ Remedio remedio = new Remedio(); remedio.setId(c.getLong(c.getColumnIndex("Id"))); remedio.setId(c.getLong(c.getColumnIndex("Id_aluno"))); remedio.setRemedio(c.getString(c.getColumnIndex("remedio"))); remedio.setHorario(c.getString(c.getColumnIndex("horario"))); remedio.setSegunda( c.getInt(c.getColumnIndex("segunda")) > 0); remedio.setTerca( c.getInt(c.getColumnIndex("terca")) > 0); remedio.setQuarta( c.getInt(c.getColumnIndex("quarta")) > 0); remedio.setQuinta( c.getInt(c.getColumnIndex("quinta")) > 0); remedio.setSexta( c.getInt(c.getColumnIndex("sexta")) > 0); remedio.setSabado( c.getInt(c.getColumnIndex("sabado")) > 0); remedio.setDomingo( c.getInt(c.getColumnIndex("domingo")) > 0); } c.close(); return remedios; }
public List buscaRemediosHorario() { String sql = "SELECT * FROM tb_remedios_alu ORDER BY id DESC";
SQLiteDatabase db = getReadableDatabase(); Cursor c = db.rawQuery(sql, null); List remedios = new ArrayList(); while(c.moveToNext()){ Remedio remedio = new Remedio(); remedio.setId(c.getLong(c.getColumnIndex("Id"))); remedio.setHorario(c.getString(c.getColumnIndex("horario"))); } c.close(); return remedios; }
public void insereHorario(String horario) { SQLiteDatabase db = getWritableDatabase(); ContentValues dados = new ContentValues(); dados.put( "horario", horario); db.insert("tb_remedios_alu", null, dados); } }