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.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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.
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?
não tinha postado o codigo do metodo DAO