Я пытаюсь разработать программу для своего технологического курса. Но у меня проблемы с android, и я не знаю, как их решить. Если кто-то поможет мне, я буду очень благодарен.
Активность фрагмента «Мой дом»:
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
carregaLista();
registerForContextMenu(listaPedidos);
}
private void carregaLista() {
PedidoDAO dao = new PedidoDAO(getContext());
List<PedidoDTO> pedidos = dao.buscaPedidos();
dao.close();
listaPedidos = (ListView) getView().findViewById(R.id.lista_pedidos);
ArrayAdapter<PedidoDTO> adapter = new ArrayAdapter<PedidoDTO>(getContext(), android.R.layout.simple_list_item_1, pedidos);
listaPedidos.setAdapter(adapter);
TextView view = (TextView) getView().findViewById(R.id.textview_nao_ha_pedidos);
String resultadoo = dao.haPedidos();
if (resultadoo == null){
view.setText("Não há solicitações cadastradas");
}
}
PedidoDAO class:
@Override
public void onCreate(SQLiteDatabase db) {
String sql = "CREATE TABLE Pedido(" +
"id_pedido INTEGER PRIMARY KEY," +
"nome_solicitante TEXT NOT NULL," +
"email_solicitante TEXT NOT NULL," +
"nome_paciente TEXT NOT NULL," +
"tipo_sanguineo TEXT NOT NULL," +
"local_internacao TEXT NOT NULL," +
"estado TEXT NOT NULL," +
"cidade TEXT NOT NULL," +
"motivo TEXT NOT NULL," +
"outras_info TEXT);";
db.execSQL(sql);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
public List<PedidoDTO> buscaPedidos() {
String sql = "SELECT * FROM Pedido;";
SQLiteDatabase db = getReadableDatabase();
Cursor c = db.rawQuery(sql, null);
List<PedidoDTO> pedidos = new ArrayList<PedidoDTO>();
while (c.moveToNext()){
PedidoDTO pedidoDTO = new PedidoDTO();
pedidoDTO.setId_pedido(c.getLong(c.getColumnIndex("id_pedido")));
pedidoDTO.setNome_solicitante(c.getString(c.getColumnIndex("nome_solicitante")));
pedidoDTO.setEmail_solicitante(c.getString(c.getColumnIndex("email_solicitante")));
pedidoDTO.setNome_paciente(c.getString(c.getColumnIndex("nome_paciente")));
pedidoDTO.setOutras_info(c.getString(c.getColumnIndex("outras_info")));
pedidoDTO.setMotivo(c.getString(c.getColumnIndex("motivo")));
pedidoDTO.setLocal_internacao(c.getString(c.getColumnIndex("local_internacao")));
pedidoDTO.setCidade(c.getString(c.getColumnIndex("cidade")));
pedidoDTO.setEstado(c.getString(c.getColumnIndex("estado")));
pedidoDTO.setTipo_sanguineo(c.getString(c.getColumnIndex("tipo_sanguineo")));
pedidos.add(pedidoDTO);
}
c.close();
return pedidos;
}
Когда я пытаюсь войти в систему, LogCat показывает следующее:
2020-07-11 13: 19: 00.642 2686-2686 / br.com.app.hemosis E / SQLiteLog: (1) нет такой таблицы: Pedido 2020-07-11 13: 19: 00.650 2686-2686 / br.com.app.hemosis E / Android Время выполнения: FATAL EXCEPTION: основной процесс: br.com.app.hemosis, PID: 2686 android .database.sqlite. SQLiteException: такой таблицы нет: Pedido (код 1 SQLITE_ERROR [1]): при компиляции: SELECT * FROM Pedido;
OBS: я бразилец и не очень хорошо знаю английский sh. Извините за грамматические ошибки.