Olá, quero sabe pq listview não pega o dados do banco. Tem como fazer teste de conexão durante o processo, e durante o arraylist. Não aparece nada no toString nome da lista ATT Marcelo
package com.mmgl.funcionarios.DAO;
import android.content.*;
import android.database.*;
import android.database.sqlite.*;
import com.mmgl.funcionarios.FormularioActivity;
import com.mmgl.funcionarios.Funcionario;
import java.util.*;
/**
* Created by Marcelo on 26/07/2017.
*/
public class FuncionarioDao extends SQLiteOpenHelper {
public FuncionarioDao(Context context) {
super(context, "Funcionarios", null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
String sql = "CREATE TABLE FUNCIONARIO (ID INTEGER PRIMARY KEY, NOME TEXT NOT NULL, ENDERECO TEXT, SITE TEXT, NOTA REAL);";
db.execSQL(sql);
}
@Override
public void onUpgrade(SQLiteDatabase db, int old, int newVersion) {
String sql = "DROP TABLE IF EXISTS FUNCIONARIO";
db.execSQL(sql);
onCreate(db);
}
public void insere(Funcionario funcionario) {
SQLiteDatabase db = getWritableDatabase();
//String sql = "INSERT INTO FUNCIONARIO VALUES ("","","","",");
ContentValues dados = new ContentValues();
dados.put("NOME", funcionario.getNome());
dados.put("ENDERECO", funcionario.getEndereco());
dados.put("TELEFONE", funcionario.getTelefone());
dados.put("SITE", funcionario.getSite());
dados.put("NOTA", funcionario.getNota());
db.insert("FUNCIONARIO", null, dados);
}
public List<Funcionario> buscaAluno() {
String sql = "SELECT * FROM FUNCIONARIO";
SQLiteDatabase db = getReadableDatabase();
Cursor c = db.rawQuery(sql, null);
List<Funcionario> funcionarios = new ArrayList<Funcionario>();
while (c.moveToNext()) {
Funcionario funcionario = new Funcionario();
funcionario.setId(c.getLong(c.getColumnIndex("ID")));
funcionario.setNome(c.getString(c.getColumnIndex("NOME")));
funcionario.setTelefone(c.getString(c.getColumnIndex("TELEFONE")));
funcionario.setEndereco(c.getString(c.getColumnIndex("ENDERECO")));
funcionario.setSite(c.getString(c.getColumnIndex("SITE")));
funcionario.setNota(c.getDouble(c.getColumnIndex("NOTA")));
funcionarios.add(funcionario);
}
c.close();
return funcionarios;
}
}
public class Funcionario {
private long id;
private String nome, endereco, telefone, site;
private Double nota;
@Override
public String toString() {
return getId()+" - "+getNome();
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getEndereco() {
return endereco;
}
public void setEndereco(String endereco) {
this.endereco = endereco;
}
public String getTelefone() {
return telefone;
}
public void setTelefone(String telefone) {
this.telefone = telefone;
}
public String getSite() { return site;}
public void setSite(String site) {
this.site = site;
}
public Double getNota() {
return nota;
}
public void setNota(Double nota) {
this.nota = nota;
}
}
package com.mmgl.funcionarios;
import android.content.Intent;
import android.support.v7.app.*;
import android.os.*;
import android.view.*;
import android.widget.*;
import com.mmgl.funcionarios.DAO.FuncionarioDao;
import java.util.*;
public class ListaActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_lista);
//Botão
Button novo_aluno = (Button) findViewById(R.id.new_aluno);
novo_aluno.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//Ação do botao para ir no outro formulario
Intent intentVaiParaFormulario = new Intent(ListaActivity.this, FormularioActivity.class);
startActivity(intentVaiParaFormulario);
}
});
}
@Override
protected void onResume() {
super.onResume();
carregaLista();
}
private void carregaLista() {
FuncionarioDao dao = new FuncionarioDao(this);
List<Funcionario> fun = dao.buscaAluno();
dao.close();
//Inserir no ListView
ListView listaFuncionario = (ListView) findViewById(R.id.lista_funcionarios);
ArrayAdapter<Funcionario> adapter = new ArrayAdapter<Funcionario>(this, android.R.layout.simple_list_item_1, fun);
listaFuncionario.setAdapter(adapter);
}
}
package com.mmgl.funcionarios;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.*;
import com.mmgl.funcionarios.DAO.FuncionarioDao;
public class FormularioActivity extends AppCompatActivity {
private FormularioHelper helper;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_formulario);
helper = new FormularioHelper(this);
/* Button botaoSalvar = (Button)findViewById(R.id.form_salvar);
botaoSalvar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(FormularioActivity.this, "Sucesso", Toast.LENGTH_SHORT).show();
finish();
}
});
*/
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu_formulario, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()){
case R.id.menu_form_ok:
Funcionario funcionario = helper.pegaFuncionario();
FuncionarioDao dao = new FuncionarioDao(this);
dao.insere(funcionario);
dao.close();
Toast.makeText(FormularioActivity.this, funcionario.getNome()+" salvo", Toast.LENGTH_SHORT).show();
finish();
break;
}
return super.onOptionsItemSelected(item);
}
}
package com.mmgl.funcionarios;
import android.widget.*;
/**
* Created by Marcelo on 25/07/2017.
*/
public class FormularioHelper {
private final RatingBar cNota;
private EditText cNome,cEndereco, cTelefone, cSite;
FormularioHelper(FormularioActivity formActivity) {
cNome = (EditText) formActivity.findViewById(R.id.form_Nome);
cEndereco = (EditText) formActivity.findViewById(R.id.form_Endereco);
cTelefone = (EditText) formActivity.findViewById(R.id.form_Telefone);
cSite= (EditText) formActivity.findViewById(R.id.form_Site);
cNota = (RatingBar) formActivity.findViewById(R.id.form_nota);
}
public Funcionario pegaFuncionario() {
Funcionario funcionario = new Funcionario();
funcionario.setNome(cNome.getText().toString());
funcionario.setEndereco(cEndereco.getText().toString());
funcionario.setTelefone(cTelefone.getText().toString());
funcionario.setSite(cSite.getText().toString());
funcionario.setNota(Double.valueOf(cNota.getProgress()));
return funcionario;
}}