package br.com.cursoandroid.cadastroaluno.helper;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.SeekBar;
import br.com.cursoandroid.cadastroaluno.FormularioActivity;
import br.com.cursoandroid.cadastroaluno.R;
import br.com.cursoandroid.cadastroaluno.modelo.bean.Aluno;
/**
* @author marciopalheta
*
*/
public class FormularioHelper {
private EditText nome;
private EditText telefone;
private EditText endereco;
private EditText site;
private EditText email;
private SeekBar nota;
private ImageView foto;
private Aluno aluno;
// Continua...
/**
* Metodo construtor que associa seus atributos a campos da tela
*
* @param activity
* referencia para a tela a ser controlada
*/
public FormularioHelper(FormularioActivity activity) {
// Associacao de campos da tela a atributos de controle
nome = (EditText) activity.findViewById(R.id.edNome);
telefone = (EditText) activity.findViewById(R.id.edFone);
endereco = (EditText) activity.findViewById(R.id.edEndereco);
site = (EditText) activity.findViewById(R.id.edSite);
email = (EditText) activity.findViewById(R.id.edEmail);
nota = (SeekBar) activity.findViewById(R.id.sbNota);
foto = (ImageView) activity.findViewById(R.id.foto);
// Criacao do objeto Aluno
aluno = new Aluno();
}
/**
* Metodo que carrega uma foto, a partir de um arquivo armazenado no device
*
* @param localFoto
*/
public void carregarFoto(String localFoto) {
// Carregar arquivo de imagem
Bitmap imagemFoto = BitmapFactory.decodeFile(localFoto);
// Gerar imagem reduzida
Bitmap imagemFotoReduzida =
Bitmap.createScaledBitmap(imagemFoto, 100,
100, true);
// Guarda o caminho da foto do aluno
aluno.setFoto(localFoto);
// Atualiza a imagem exibida na tela de formulário
foto.setImageBitmap(imagemFotoReduzida);
}
/**
* Metodo que retorna uma referencia para Aluno
*
* @return referencia para aluno com dados da tela
*/
public Aluno getAluno() {
aluno.setNome(nome.getText().toString());
aluno.setTelefone(telefone.getText().toString());
aluno.setEndereco(endereco.getText().toString());
aluno.setSite(site.getText().toString());
aluno.setEmail(email.getText().toString());
aluno.setNota(Double.valueOf(nota.getProgress()));
return aluno;
}
/**
* Metodo que carrega os dados do aluno na tela
*
* @param aluno
*/
public void setAluno(Aluno aluno) {
nome.setText(aluno.getNome());
telefone.setText(aluno.getTelefone());
endereco.setText(aluno.getEndereco());
site.setText(aluno.getSite());
email.setText(aluno.getEmail());
nota.setProgress(aluno.getNota().intValue());
this.aluno = aluno;
// Carregar foto do aluno
if (aluno.getFoto() != null) {
carregarFoto(aluno.getFoto());
}
}
public ImageView getFoto() {
return foto;
}
}