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

Ainda não salva

Em um post postei um código que fiz no android studio e não salva! Fiz o que vc me mandou que era adicionar no funcionarioDAO a seguinte linha: funcionarios.add(funcionario); mas mesmo assim não salva, fica tudo em branco a lista.

4 respostas
package com.example.nikopcpower.agenda2;

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;

import com.example.nikopcpower.agenda2.dao.FuncionarioDAO;
import com.example.nikopcpower.agenda2.modelo.Funcionario;

import java.util.List;

public class AgendaFuncionariosActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_agenda_funcionarios);


        Button novofunc = (Button) findViewById(R.id.Novofuncionario);
        novofunc.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intentvaiproformulario = new Intent(AgendaFuncionariosActivity.this, FormularioActivity.class);
                startActivity(intentvaiproformulario);
            }
        });
    }

    private void carregalista() {
        FuncionarioDAO dao = new FuncionarioDAO(this);
        List<Funcionario> funcionarios =  dao.buscaFuncionarios();
        dao.close();

        ListView listafunc = (ListView) findViewById(R.id.lista_funcionario);
        ArrayAdapter<Funcionario> adapter = new ArrayAdapter<Funcionario>(this, android.R.layout.simple_list_item_1, funcionarios);
        listafunc.setAdapter(adapter);
    }

    @Override
    protected void onResume() {
        super.onResume();
        carregalista();
    }
}

package com.example.nikopcpower.agenda2;

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.Toast;

import com.example.nikopcpower.agenda2.modelo.Funcionario;

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);

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.menu, menu);

        return super.onCreateOptionsMenu(menu);
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case R.id.menu_formulario_ok:
                Funcionario funcionario = helper.pegafuncionario();
                Toast.makeText(FormularioActivity.this, "Funcionário " + funcionario.getNome() + " Salvo", Toast.LENGTH_SHORT).show();
                finish();
                break;
        }
        return super.onOptionsItemSelected(item);
    }
}

package com.example.nikopcpower.agenda2;

import android.widget.EditText;
import android.widget.RatingBar;

import com.example.nikopcpower.agenda2.modelo.Funcionario;

/**
 * Created by Niko Pc Power on 19/03/2017.
 */

public class FormularioHelper {

    private final EditText camponome;
    private final EditText campoentrada;
    private final EditText campointervalo;
    private final EditText camposaida;
    private final RatingBar camponota;

    public FormularioHelper(FormularioActivity activity) {
        camponome = (EditText) activity.findViewById(R.id.Formulario_Nome);
        campoentrada = (EditText) activity.findViewById(R.id.Formulario_Entrada);
        campointervalo = (EditText) activity.findViewById(R.id.Formulario_Intervalo);
        camposaida = (EditText) activity.findViewById(R.id.Formulario_Saida);
        camponota = (RatingBar) activity.findViewById(R.id.Formulario_Nota);

    }

    public Funcionario pegafuncionario() {
        Funcionario funcionario = new Funcionario();
        funcionario.setNome(camponome.getText().toString());
        funcionario.setEntrada(campoentrada.getText().toString());
        funcionario.setIntervalo(campointervalo.getText().toString());
        funcionario.setSaida(camposaida.getText().toString());
        funcionario.setNota(Double.valueOf(camponota.getProgress()));
        return funcionario;
    }
}


package com.example.nikopcpower.agenda2.modelo;

/**
 * Created by Niko Pc Power on 19/03/2017.
 */

public class Funcionario {

    private Long id;
    private String nome;
    private String entrada;
    private String intervalo;
    private String saida;
    private Double nota;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getEntrada() {
        return entrada;
    }

    public void setEntrada(String entrada) {
        this.entrada = entrada;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getIntervalo() {
        return intervalo;
    }

    public void setIntervalo(String intervalo) {
        this.intervalo = intervalo;
    }

    public String getSaida() {
        return saida;
    }

    public void setSaida(String saida) {
        this.saida = saida;
    }

    public Double getNota() {
        return nota;
    }

    public void setNota(Double nota) {
        this.nota = nota;
    }

    @Override
    public String toString() {
        return getId() + " - " + getNome();
    }
}


package com.example.nikopcpower.agenda2.dao;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

import com.example.nikopcpower.agenda2.modelo.Funcionario;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by Niko Pc Power on 19/03/2017.
 */


public class FuncionarioDAO extends SQLiteOpenHelper {
    public FuncionarioDAO(Context context) {
        super(context, "Agenda", null, 1);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        String sql = "CREATE TABLE Funcionarios (id INTEGER PRIMARY KEY, nome TEXT not NULL, entrada TEXT, intervalo TEXT, saida TEXT, nota REAL);";
        db.execSQL(sql);

    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        String sql = "DROP TABLE IF EXISTS Funcionarios";
        db.execSQL(sql);
        onCreate(db);

    }

    public void insere(Funcionario funcionario) {
        SQLiteDatabase db = getWritableDatabase();

        ContentValues dados = new ContentValues();
        dados.put("nome", funcionario.getNome());
        dados.put("entrada", funcionario.getEntrada());
        dados.put("intervalo", funcionario.getIntervalo());
        dados.put("saida", funcionario.getSaida());
        dados.put("nota", funcionario.getNota());


        db.insert("Funcionarios", null, dados);
    }

    public List<Funcionario> buscaFuncionarios() {
        String sql = "SELECT * FROM Funcionarios;";
        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.setEntrada(c.getString(c.getColumnIndex("entrada")));
            funcionario.setIntervalo(c.getString(c.getColumnIndex("intervalo")));
            funcionario.setSaida(c.getString(c.getColumnIndex("saida")));
            funcionario.setNota(c.getDouble(c.getColumnIndex("nota")));
            funcionarios.add(funcionario);
        }
        c.close();

        return funcionarios;
    }
}

Não consegui deixar o código formatado, não sei o que aconteceu.

Opa, tava olhando o código, em que momento vc chama o método do dao que salva o funcionario?

solução!

não tinha postado o codigo do metodo DAO