package com.example.nikopcpower.agendanova.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.agendanova.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, "Funcionario", 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 = pegaDadosDoFuncionario(funcionario);
db.insert("Funcionarios", null, dados);
}
private ContentValues pegaDadosDoFuncionario(Funcionario funcionario) {
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());
return 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")));
}
c.close();
return funcionarios;
}
public void deleta(Funcionario funcionario) {
SQLiteDatabase db = getWritableDatabase();
String[] params = {funcionario.getId().toString()};
db.delete("Funcionarios", "id = ?", params);
}
public void altera(Funcionario funcionario) {
SQLiteDatabase db = getWritableDatabase();
ContentValues dados = pegaDadosDoFuncionario(funcionario);
String[] params = {funcionario.getId().toString()};
db.update("Funcionarios", dados, "id = ?", params);
}
}
package com.example.nikopcpower.agendanova.modelo;
import java.io.Serializable;
/**
* Created by Niko Pc Power on 19/03/2017.
*/
public class Funcionario implements Serializable{
private Long id;
private String nome;
private String entrada;
private String intervalo;
private String saida;
private Double nota;
public Long getId() {
return this.id;
}
public void setId(Long id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getEntrada() {
return entrada;
}
public void setEntrada(String entrada) {
this.entrada = entrada;
}
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.agendanova;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.Toast;
import com.example.nikopcpower.agendanova.dao.FuncionarioDAO;
import com.example.nikopcpower.agendanova.modelo.Funcionario;
import java.util.List;
public class AgendaFuncionariosActivity extends AppCompatActivity {
private ListView listaFuncionarios;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_agenda_funcionarios);
listaFuncionarios = (ListView) findViewById(R.id.lista_funcionario);
listaFuncionarios.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Funcionario funcionario = (Funcionario) listaFuncionarios.getItemAtPosition(position);
Intent intentvaiproformulario = new Intent(AgendaFuncionariosActivity.this, FormularioActivity.class);
intentvaiproformulario.putExtra("funcionario",funcionario);
startActivity(intentvaiproformulario);
}
});
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);
}
});
registerForContextMenu(listaFuncionarios);
}
@Override
protected void onResume() {
super.onResume();
carregalista();
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v, final ContextMenu.ContextMenuInfo menuInfo) {
MenuItem deletar = menu.add("Deletar");
deletar.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) menuInfo;
Funcionario funcionario = (Funcionario) listaFuncionarios.getItemAtPosition(info.position);
Toast.makeText(AgendaFuncionariosActivity.this, "Deletar o Funcionario" + funcionario.getNome(), Toast.LENGTH_SHORT).show();
FuncionarioDAO dao = new FuncionarioDAO(AgendaFuncionariosActivity.this);
dao.deleta(funcionario);
dao.close();
carregalista();
return false;
}
});
}
private void carregalista(){
FuncionarioDAO dao = new FuncionarioDAO(this);
List<Funcionario> funcionarios = dao.buscaFuncionarios();
dao.close();
ArrayAdapter<Funcionario> adapter = new ArrayAdapter<Funcionario>(this, android.R.layout.simple_list_item_1,funcionarios);
listaFuncionarios.setAdapter(adapter);
}
}
package com.example.nikopcpower.agendanova;
import android.content.Intent;
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.agendanova.dao.FuncionarioDAO;
import com.example.nikopcpower.agendanova.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);
Intent intent = getIntent();
Funcionario funcionario = (Funcionario) intent.getSerializableExtra("funcionario");
if(funcionario !=null){
helper.preencheformulario(funcionario);
}
}
@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();
FuncionarioDAO dao = new FuncionarioDAO(this);
if (funcionario.getId() != null) {
dao.altera(funcionario);
}else{
dao.insere(funcionario);
}
dao.close();
Toast.makeText(FormularioActivity.this, "Funcionario" +funcionario.getNome()+ "Salvo", Toast.LENGTH_SHORT).show();
finish();
break;
}
return super.onOptionsItemSelected(item);
}
}
package com.example.nikopcpower.agendanova;
import android.widget.EditText;
import android.widget.RatingBar;
import com.example.nikopcpower.agendanova.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;
private Funcionario funcionario;
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);
funcionario = new Funcionario();
}
public Funcionario pegafuncionario() {
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;
}
public void preencheformulario(Funcionario funcionario) {
camponome.setText(funcionario.getNome());
campoentrada.setText(funcionario.getEntrada());
campointervalo.setText(funcionario.getIntervalo());
camposaida.setText(funcionario.getSaida());
camponota.setProgress(funcionario.getNota().intValue());
this.funcionario = funcionario;
}
}
fiz tudo certo mas na hora de salvar alguma pessoa no formulario fica tudo em branco