· 6 years ago · Jun 02, 2019, 11:22 PM
1package com.ufrpe.wallot_app.infra.persistencia;
2
3import android.database.sqlite.SQLiteDatabase;
4import android.database.sqlite.SQLiteOpenHelper;
5
6import com.ufrpe.wallot_app.infra.app.WallotApp;
7
8public class DBHelper extends SQLiteOpenHelper {
9
10 private static final String NOME_BANCO = "wallot.db";
11 private static final int VERSAO = 1;
12
13 //USUARIO
14 public static final String TABELA_USUARIO = "TABELA_USUARIO";
15 public static final String COL_ID = "ID";
16 public static final String COL_NOME = "NOME";
17 public static final String COL_EMAIL = "EMAIL";
18 public static final String COL_SENHA = "SENHA";
19 //TODAS TABELAS
20 private static final String[] TABELAS = {
21 TABELA_USUARIO
22 };
23
24 public DBHelper() {
25 super( WallotApp.getContext(), NOME_BANCO, null, VERSAO);
26 }
27
28 @Override
29 public void onCreate(SQLiteDatabase db) {
30 criaTBUsuario(db);
31 }
32
33
34 @Override
35 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
36 dropTables(db);
37 onCreate(db);
38 }
39
40
41
42 private void criaTBUsuario(SQLiteDatabase db) {
43 String sqlTbUsuario =
44 "CREATE TABLE %1$s ( " +
45 " %2$s INTEGER PRIMARY KEY AUTOINCREMENT, " +
46 " %3$s TEXT NOT NULL, " +
47 " %4$s TEXT NOT NULL UNIQUE, " +
48 " %5$s TEXT NOT NULL " +
49 ");";
50 sqlTbUsuario = String.format(sqlTbUsuario, TABELA_USUARIO, COL_ID, COL_NOME, COL_EMAIL, COL_SENHA);
51 db.execSQL(sqlTbUsuario);
52 }
53
54 public void dropTables(SQLiteDatabase db) {
55 for (String tabela : TABELAS) {
56 StringBuilder dropTable = new StringBuilder();
57 dropTable.append(" DROP TABLE IF EXISTS ");
58 dropTable.append(tabela);
59 db.execSQL(dropTable.toString());
60 }
61 }
62}