Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Colocar no listView

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;
    }}
4 respostas

Marcelo, tudo bem ?

Aparentemente seu código está correto !

Está tendo algum erro no console ?

oi tudo, não roda normal, pode ser o xml?

solução!

Marcelo,

Um chute que vou dar é pedir para você remover o app e instalar novamente.

Talvez tenha tido algum problema na criação e nisso não foi criado o banco de dados

Olá, tudo bem?

Não sou expert, mas verificou o select?

Seu Código: String sql = "SELECT * FROM FUNCIONARIO"; SQLiteDatabase db = getReadableDatabase(); Cursor c = db.rawQuery(sql, null);

Colocou o ";" ao final dele? Assim: String sql = "SELECT * FROM FUNCIONARIO;";