· 9 years ago · Jan 23, 2017, 10:00 AM
1package at.spengergasse.brandlmayer.a1617_4ahif_android_movie_manager.database;
2
3import android.content.Context;
4import android.database.sqlite.SQLiteDatabase;
5import android.database.sqlite.SQLiteOpenHelper;
6import android.util.Log;
7
8/**
9 * @author Fabian Brandlmayer
10 */
11
12public class OpenHelper extends SQLiteOpenHelper {
13 private static OpenHelper ohInstance;
14
15 // Database info
16 public static final String DB_NAME = "movieManager";
17 private static final int DB_VERSION = 1;
18
19 // Table names
20 public static final String TABLE_DIRECTORS = "directors";
21 public static final String TABLE_MOVIES = "movies";
22 public static final String TABLE_THEATRES = "theatres";
23
24 // Primary id
25 public static final String KEY_ID = "id";
26
27 // Director table columns
28 public static final String KEY_DIRECTOR_FIRSTNAME = "firstName";
29 public static final String KEY_DIRECTOR_LASTNAME = "lastName";
30 public static final String KEY_DIRECTOR_COUNTRY = "country";
31 public static final String KEY_DIRECTOR_EMAIL = "email";
32
33 // Movie table columns
34
35
36 // Theatre table columns
37 public static final String KEY_THEATRE_NAME = "name";
38 public static final String KEY_THEATRE_CITY = "city";
39 public static final String KEY_THEATRE_LAT = "lat";
40 public static final String KEY_THEATRE_LONG = "long";
41
42 public static synchronized OpenHelper getInstance(Context context) {
43 if (ohInstance == null) {
44 ohInstance = new OpenHelper(context.getApplicationContext());
45 }
46 return ohInstance;
47 }
48
49 private OpenHelper(Context context) {
50 super(context, DB_NAME, null, DB_VERSION);
51 }
52
53 @Override
54 public void onCreate(SQLiteDatabase db) {
55 String CREATE_DIRECTORS_TABLE = "CREATE TABLE " + TABLE_DIRECTORS +
56 "(" +
57 KEY_ID + " INTEGER PRIMARY KEY AUTOINCREMENT," +
58 KEY_DIRECTOR_FIRSTNAME + " TEXT NOT NULL," +
59 KEY_DIRECTOR_LASTNAME + " TEXT NOT NULL," +
60 KEY_DIRECTOR_COUNTRY + " TEXT NOT NULL," +
61 KEY_DIRECTOR_EMAIL + " TEXT NOT NULL" +
62 ")";
63 db.execSQL(CREATE_DIRECTORS_TABLE);
64
65 String CREATE_THEATRE_TABLE = "CREATE TABLE " + TABLE_THEATRES +
66 "(" +
67 KEY_ID + " INTEGER PRIMARY KEY AUTOINCREMENT," +
68 KEY_THEATRE_NAME + " TEXT NOT NULL," +
69 KEY_THEATRE_CITY + " TEXT NOT NULL," +
70 KEY_THEATRE_LAT + " DOUBLE NOT NULL," +
71 KEY_THEATRE_LONG + " DOUBLE NOT NULL" +
72 ")";
73 db.execSQL(CREATE_THEATRE_TABLE);
74 }
75
76 @Override
77 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
78 Log.w(OpenHelper.class.getName(), "Upgrading database from version " + oldVersion + " to " + newVersion + ", which will destroy all old data");
79 db.execSQL("DROP TABLE IF EXISTS " + TABLE_DIRECTORS);
80 onCreate(db);
81 }
82}