· 8 years ago · Jan 13, 2018, 09:58 AM
1package com.SyKoM.Utils;
2
3import android.content.Context;
4import android.database.sqlite.SQLiteDatabase;
5import android.database.sqlite.SQLiteOpenHelper;
6import android.util.Log;
7
8
9public class Database extends SQLiteOpenHelper {
10
11
12 private static final String DATABASE_NAME = "security_profiles.db";
13 private static final int DATABASE_VERSION = 1;
14
15 public Database(Context context) {
16 super(context, DATABASE_NAME, null, DATABASE_VERSION);
17 }
18
19 @Override
20 public void onCreate(SQLiteDatabase db) {
21
22 String CREATE_SECURITY_PROFILES = "CREATE TABLE IF NOT EXISTS SecurityProfiles ("
23 + "id integer PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE,"
24 + "Name varchar(50) NOT NULL UNIQUE)";
25
26 String CREATE_APPLICATIONS = "CREATE TABLE IF NOT EXISTS Applications ("
27 + "id integer PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE,"
28 + "Uid integer NOT NULL UNIQUE,"
29 + "fkSecurityProfile integer)"
30 /* + "FOREIGN KEY (fkSecurityProfile) "
31 + "REFERENCES SecurityProfiles(id) "
32 + "ON DELETE NO ACTION "
33 + "ON UPDATE NO ACTION)" */;
34
35 String CREATE_DATAS = "CREATE TABLE IF NOT EXISTS Datas ("
36 + "id integer PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE,"
37 + "DisplayName varchar(200) NOT NULL,"
38 + "DataType integer NOT NULL,"
39 + "AndroidId varchar(100) NOT NULL,"
40 + "ThumbPath varchar(150),"
41 + "fkSecurityProfile integer)"
42 /* + "FOREIGN KEY (fkSecurityProfile) "
43 + "REFERENCES SecurityProfiles(id) "
44 + "ON DELETE NO ACTION "
45 + "ON UPDATE NO ACTION)" */;
46
47 String CREATE_CONTEXTS = "CREATE TABLE IF NOT EXISTS Contexts ("
48 + "id integer PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE,"
49 + "Name varchar(50),"
50 + "StartH integer,"
51 + "StartM integer,"
52 + "EndH integer,"
53 + "EndM integer,"
54 + "DaysOfWeek varchar(8),"
55 + "Latitude float(50,8),"
56 + "Longitude float(50,8),"
57 + "AssociatedSecurityProfileName varchar(50),"
58 + "fkSecurityProfile integer)"
59 /* + "FOREIGN KEY (fkSecurityProfile) "
60 + "REFERENCES SecurityProfiles(id) "
61 + "ON DELETE NO ACTION "
62 + "ON UPDATE NO ACTION)" */;
63
64 Log.d("CREATE", "onCreate: " + CREATE_SECURITY_PROFILES);
65 db.execSQL(CREATE_SECURITY_PROFILES);
66
67 Log.d("CREATE", "onCreate: " + CREATE_APPLICATIONS);
68 db.execSQL(CREATE_APPLICATIONS);
69
70 Log.d("CREATE", "onCreate: " + CREATE_DATAS);
71 db.execSQL(CREATE_DATAS);
72
73 Log.d("CREATE", "onCreate: " + CREATE_CONTEXTS);
74 db.execSQL(CREATE_CONTEXTS);
75 }
76
77 @Override
78 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
79
80 if (oldVersion > newVersion) return;
81
82 Log.d("CREATE", "On upgrade: cancello security profiles");
83 db.execSQL("DROP TABLE IF EXISTS SecurityProfiles");
84 Log.d("CREATE", "On upgrade: cancello applications");
85 db.execSQL("DROP TABLE IF EXISTS Applications");
86 Log.d("CREATE", "On upgrade: cancello datas");
87 db.execSQL("DROP TABLE IF EXISTS Datas");
88 Log.d("CREATE", "On upgrade: cancello contexts");
89 db.execSQL("DROP TABLE IF EXISTS Contexts");
90
91
92 onCreate(db);
93 }
94}