· 9 years ago · Dec 20, 2016, 12:16 AM
1package com.example.guizi.projetofinal;
2
3import android.content.DialogInterface;
4import android.support.v7.app.AlertDialog;
5import android.support.v7.app.AppCompatActivity;
6import android.os.Bundle;
7import android.view.View;
8import android.widget.Button;
9import android.widget.EditText;
10
11import java.util.List;
12
13public class CadastroActivity extends AppCompatActivity {
14 //Criando as variáveis dos widgets a serem instanciados e referenciados aos widgets criados no design
15 Button btInserir, btListar, btVoltar;
16 EditText etNome, etCPF, etIdade, etTelefone, etEmail;
17 private DBHelper dh;
18
19 @Override
20 protected void onCreate(Bundle savedInstanceState) {
21 super.onCreate(savedInstanceState);
22 setContentView(R.layout.activity_cadastro);
23
24 //Referenciando os widgets às suas respectivas variáveis
25 etNome = (EditText) findViewById(R.id.etNomeID);
26 etCPF = (EditText) findViewById(R.id.etCPFID);
27 etTelefone = (EditText) findViewById(R.id.etTelefoneID);
28 etEmail = (EditText) findViewById(R.id.etEmailID);
29 etIdade = (EditText) findViewById(R.id.etIdadeID);
30 btInserir = (Button) findViewById(R.id.btInserirID);
31 btListar = (Button) findViewById(R.id.btListarID);
32 btVoltar = (Button) findViewById(R.id.btVoltarID);
33
34 btInserir.setOnClickListener(new View.OnClickListener() {
35 @Override
36 public void onClick(View view) {
37 if(etNome.getText().length() > 0 && etEmail.getText().length() >0 && etCPF.getText().length() > 0 && etTelefone.getText().length() >0 && etIdade.getText().length() > 0){
38 //Precisei converter a entrada do EditText para Float, para poder colocar no insert
39 Float telefone = Float.valueOf(etTelefone.getText().toString());
40 int idade = Integer.valueOf(etIdade.getText().toString());
41 dh.insert(etNome.getText().toString(), telefone, etCPF.getText().toString(), etEmail.getText().toString(), idade);
42 //Cria uma caixa de alerta avisando que o cadastro foi realizado
43 AlertDialog.Builder adb = new AlertDialog.Builder(CadastroActivity.this);
44 adb.setTitle("Sucesso");
45 adb.setMessage("Cadastro realizado com sucesso!");
46 adb.show();
47 //Limpa os campos
48 etNome.setText("");
49 etCPF.setText("");
50 etTelefone.setText("");
51 etIdade.setText("");
52 etEmail.setText("");
53 }else{
54 AlertDialog.Builder adb = new AlertDialog.Builder(CadastroActivity.this);
55 adb.setTitle("Erro");
56 adb.setMessage("Preencha todos os campos!");
57 adb.show();
58 }
59 }
60 });
61
62 btListar.setOnClickListener(new View.OnClickListener() {
63 @Override
64 public void onClick(View view) {
65 List<PessoaFisica> pessoa = dh.queryGetAll();
66 if(pessoa == null){
67 AlertDialog.Builder adb = new AlertDialog.Builder(CadastroActivity.this);
68 adb.setTitle("Opa!");
69 adb.setMessage("Não há registros cadastrados!");
70 adb.show();
71 return;
72 }
73 //Este laço for ficará mostrando os registros encontrados
74 for(int i = 0; i<pessoa.size(); i++){
75 PessoaFisica pessoaFisica = (PessoaFisica) pessoa.get(i);
76 AlertDialog.Builder adb = new AlertDialog.Builder(CadastroActivity.this);
77 adb.setTitle("Registro " + i);
78 adb.setMessage("Nome: " + pessoaFisica.getNome() + "nCPF: " + pessoaFisica.getCpf() + "nEmail: " + pessoaFisica.getEmail() + "nTelefone: " +
79 pessoaFisica.getTelefone() + "nIdade: " + pessoaFisica.getIdade());
80 adb.setPositiveButton("OK", new DialogInterface.OnClickListener() {
81 @Override
82 public void onClick(DialogInterface dialogInterface, int i) {
83 dialogInterface.dismiss();
84 }
85 });
86 adb.show();
87 }
88 }
89 });
90
91
92 }
93
94}
95
96package com.example.guizi.projetofinal;
97
98import android.content.Context;
99import android.database.Cursor;
100import android.database.sqlite.SQLiteDatabase;
101import android.database.sqlite.SQLiteOpenHelper;
102import android.database.sqlite.SQLiteStatement;
103
104import java.util.ArrayList;
105import java.util.List;
106
107/**
108 * Created by guizi on 19/12/2016.
109 */
110
111public class DBHelper {
112 //Essa é a classe responsável pela conexão com o banco de dados
113 private static final String DATABASE_NAME = "bancodedados.db";
114 private static final int DATABASE_VERSION = 1;
115 private static final String TABLE_NAME = "PessoaFisica";
116
117 private Context context;
118 private static SQLiteDatabase db;
119 private SQLiteStatement insertStmt;
120 private static final String INSERT = "insert into " + TABLE_NAME + " (nome, telefone, email, cpf, idade) values (?, ?, ?, ?, ?)";
121
122 //Context context -> é necessário para que a classe de conexão com o banco de dados acesse os recursos e crie no banco de dados
123 public DBHelper(Context context) {
124 this.context = context;
125 OpenHelper openHelper = new OpenHelper(this.context);
126 this.db = openHelper.getWritableDatabase();
127 this.insertStmt = this.db.compileStatement(INSERT);
128 }
129
130 public long insert(String nome, float telefone, String cpf, String email, int idade) {
131 this.insertStmt.bindString(1, nome);
132 this.insertStmt.bindString(2, String.valueOf(telefone));
133 this.insertStmt.bindString(3, cpf);
134 this.insertStmt.bindString(4, email);
135 this.insertStmt.bindString(5, String.valueOf(idade));
136 return this.insertStmt.executeInsert();
137 }
138
139 public List<PessoaFisica> queryGetAll() {
140 List<PessoaFisica> list = new ArrayList<PessoaFisica>();
141 try {
142 Cursor cursor = this.db.query(TABLE_NAME, new String[]{"nome", "telefone", "cpf", "email", "idade"}, null, null, null, null, null);
143 int nregistros = cursor.getCount();
144 if (nregistros != 0) {
145 cursor.moveToFirst();
146 do {
147 PessoaFisica pessoa = new PessoaFisica(cursor.getString(0), cursor.getFloat(1), cursor.getString(2), cursor.getString(3), cursor.getInt(4));
148 list.add(pessoa);
149 } while (cursor.moveToNext());
150 if (cursor != null && !cursor.isClosed()) {
151 cursor.close();
152 return list;
153 } else {
154 return null;
155 }
156 }
157 } catch (Exception e) {
158 return null;
159 }
160 return null;
161 }
162
163 private static class OpenHelper extends SQLiteOpenHelper{
164
165 public OpenHelper(Context context) {
166 super(context, DATABASE_NAME, null, DATABASE_VERSION);
167 }
168
169 @Override
170 public void onCreate(SQLiteDatabase sqLiteDatabase) {
171 String sql = "CREATE TABLE IF NOT EXISTS" + TABLE_NAME + "(id INTEGER PRIMARY KEY AUTO INCREMENT, nome TEXT, cpf TEXT, idade INT, telefone FLOAT, email TEXT);";
172 db.execSQL(sql);
173 }
174
175 @Override
176 public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
177 db.execSQL("DROP TABLE IF EXISTS" + TABLE_NAME);
178 onCreate(db);
179 }
180 }
181
182}