O FormularioActivity.java
package com.specialprojects.agenda2;
import android.Manifest;
import android.app.Activity;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Bundle;
import android.provider.MediaStore;
import android.support.v4.app.ActivityCompat;
import android.support.v7.app.AppCompatActivity;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import com.specialprojects.agenda2.dao.AlunoDAO;
import com.specialprojects.agenda2.modelo.Aluno;
import java.io.File;
public class FormularioActivity extends AppCompatActivity {
public static final int CODIGO_CAMERA = 567;
private FormularioHelper helper;
private String caminhoFoto;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_formulario);
Intent intent = getIntent();
final Aluno aluno = (Aluno) intent.getSerializableExtra("aluno");
helper= new FormularioHelper(this);
if (aluno!=null){
helper.preencheFormulario(aluno);
}
Button botaoFoto =(Button) findViewById(R.id.formulario_botao_foto);
botaoFoto.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Adquirindo permisão para camemra
String permissao = Manifest.permission.CAMERA;
int permitido = PackageManager.PERMISSION_GRANTED;
if(ActivityCompat.checkSelfPermission(FormularioActivity.this,permissao)!=permitido){
ActivityCompat.requestPermissions(FormularioActivity.this,new String[]{permissao},
124);
}else{
Intent intentCamera = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
caminhoFoto = getExternalFilesDir(null)+
"/"+ System.currentTimeMillis()+".jpg";
File arquivoFoto = new File("caminhoFoto");
///////////////////////
intentCamera.putExtra(MediaStore.EXTRA_OUTPUT,
Uri.fromFile(arquivoFoto));
startActivityForResult(intentCamera,CODIGO_CAMERA);
}
//////////////////////
/*Versão 7
intentCamera.putExtra(MediaStore.EXTRA_OUTPUT,
FileProvider.getUriForFile(FormularioActivity.this,
BuildConfig.APPLICATION_ID +
".provider",arquivoFoto));
*/
//Versão Bugada supostamente para android 6
}
});
/** Não mais preciso
* Button botaoSalvar = (Button)findViewById(R.id.formulario_salvar);
botaoSalvar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});*/
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode==CODIGO_CAMERA){
if(resultCode== Activity.RESULT_OK){
//abrir foto
helper.carregaImagem(caminhoFoto);
}
}
}
@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_formulario_ok:
Aluno aluno = helper.pegaAluno();
AlunoDAO dao = new AlunoDAO(this);
if (aluno.getId()!=null){
dao.altera(aluno);
}else{
dao.insere(aluno);
}
dao.close();
Toast.makeText(FormularioActivity.this,
"Aluno " + aluno.getNome()+" Salvo!", Toast.LENGTH_SHORT).show();
//conectar banco
//salvar o aluno
//fechar a conexão
//usar DAO
finish();
break;
}
return super.onOptionsItemSelected(item);
}
}