package tech.salroid.filmy.database; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; /* * Filmy Application for Android * Copyright (c) 2016 Ramankit Singh (http://github.com/webianks). * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ public class FilmDbHelper extends SQLiteOpenHelper { public static final String DB_NAME = "filmy.db"; private static final int DB_VERSION = 790; public FilmDbHelper(Context context) { super(context, DB_NAME, null, DB_VERSION); } @Override public void onCreate(SQLiteDatabase sqLiteDatabase) { final String SQL_CREATE_TRENDING_MOVIE_TABLE = "CREATE TABLE " + FilmContract.MoviesEntry.TABLE_NAME + "(" + FilmContract.MoviesEntry._ID + " INTEGER PRIMARY KEY AUTOINCREMENT ," + FilmContract.MoviesEntry.MOVIE_ID + " VARCHAR(255) NOT NULL ," + FilmContract.MoviesEntry.MOVIE_TITLE + " VARCHAR(255) NOT NULL," + FilmContract.MoviesEntry.MOVIE_YEAR + " INTEGER(4) NOT NULL ," + FilmContract.MoviesEntry.MOVIE_POSTER_LINK + " VARCHAR(255) ," + FilmContract.MoviesEntry.MOVIE_BANNER + " VARCHAR (255) ," + FilmContract.MoviesEntry.MOVIE_CERTIFICATION + " VARCHAR (255) ," + FilmContract.MoviesEntry.MOVIE_LANGUAGE + " VARCHAR (255) ," + FilmContract.MoviesEntry.MOVIE_RELEASED + " VARCHAR (255) ," + FilmContract.MoviesEntry.MOVIE_RUNTIME + " VARCHAR (255) ," + FilmContract.MoviesEntry.MOVIE_DESCRIPTION + " VARCHAR (255) ," + FilmContract.MoviesEntry.MOVIE_TAGLINE + " VARCHAR(255) ," + FilmContract.MoviesEntry.MOVIE_TRAILER + " VARCHAR(255) ," + FilmContract.MoviesEntry.MOVIE_RATING + " VARCHAR (255));"; final String SQL_CREATE_CAST_TABLE = "CREATE TABLE " + FilmContract.CastEntry.TABLE_NAME + "(" + FilmContract.CastEntry._ID + " INTEGER PRIMARY KEY AUTOINCREMENT ," + FilmContract.CastEntry.CAST_ID + " VARCHAR(255) NOT NULL ," + FilmContract.CastEntry.CAST_MOVIE_ID + " VARCHAR(255) NOT NULL," + FilmContract.CastEntry.CAST_NAME + " VARCHAR(255) NOT NULL," + FilmContract.CastEntry.CAST_POSTER_LINK + " VARCHAR(255) ," + FilmContract.CastEntry.CAST_ROLE + " VARCHAR(255));"; final String SQL_CREATE_SAVE_TABLE = "CREATE TABLE " + FilmContract.SaveEntry.TABLE_NAME + "(" + FilmContract.SaveEntry._ID + " INTEGER PRIMARY KEY AUTOINCREMENT ," + FilmContract.SaveEntry.SAVE_ID + " VARCHAR(255) NOT NULL ," + FilmContract.SaveEntry.SAVE_TITLE + " VARCHAR(255) NOT NULL," + FilmContract.SaveEntry.SAVE_YEAR + " INTEGER(4)," + FilmContract.SaveEntry.SAVE_POSTER_LINK + " VARCHAR(255) ," + FilmContract.SaveEntry.SAVE_BANNER + " VARCHAR (255) ," + FilmContract.SaveEntry.SAVE_CERTIFICATION + " VARCHAR (255) ," + FilmContract.SaveEntry.SAVE_LANGUAGE + " VARCHAR (255) ," + FilmContract.SaveEntry.SAVE_RELEASED + " VARCHAR (255) ," + FilmContract.SaveEntry.SAVE_RUNTIME + " VARCHAR (255) ," + FilmContract.SaveEntry.SAVE_DESCRIPTION + " VARCHAR (255) ," + FilmContract.SaveEntry.SAVE_TAGLINE + " VARCHAR(255) ," + FilmContract.SaveEntry.SAVE_TRAILER + " VARCHAR(255) ," + FilmContract.SaveEntry.SAVE_RATING + " VARCHAR(255) ," + FilmContract.SaveEntry.SAVE_FLAG + " int(2));"; final String SQL_CREATE_INTHEATERS_MOVIE_TABLE = "CREATE TABLE " + FilmContract.InTheatersMoviesEntry.TABLE_NAME + "(" + FilmContract.MoviesEntry._ID + " INTEGER PRIMARY KEY AUTOINCREMENT ," + FilmContract.MoviesEntry.MOVIE_ID + " VARCHAR(255) NOT NULL ," + FilmContract.MoviesEntry.MOVIE_TITLE + " VARCHAR(255) NOT NULL," + FilmContract.MoviesEntry.MOVIE_YEAR + " INTEGER(4) NOT NULL ," + FilmContract.MoviesEntry.MOVIE_POSTER_LINK + " VARCHAR(255) ," + FilmContract.MoviesEntry.MOVIE_BANNER + " VARCHAR (255) ," + FilmContract.MoviesEntry.MOVIE_CERTIFICATION + " VARCHAR (255) ," + FilmContract.MoviesEntry.MOVIE_LANGUAGE + " VARCHAR (255) ," + FilmContract.MoviesEntry.MOVIE_RELEASED + " VARCHAR (255) ," + FilmContract.MoviesEntry.MOVIE_RUNTIME + " VARCHAR (255) ," + FilmContract.MoviesEntry.MOVIE_DESCRIPTION + " VARCHAR (255) ," + FilmContract.MoviesEntry.MOVIE_TAGLINE + " VARCHAR(255) ," + FilmContract.MoviesEntry.MOVIE_TRAILER + " VARCHAR(255) ," + FilmContract.MoviesEntry.MOVIE_RATING + " VARCHAR (255));"; final String SQL_CREATE_UPCOMING_MOVIE_TABLE = "CREATE TABLE " + FilmContract.UpComingMoviesEntry.TABLE_NAME + "(" + FilmContract.MoviesEntry._ID + " INTEGER PRIMARY KEY AUTOINCREMENT ," + FilmContract.MoviesEntry.MOVIE_ID + " VARCHAR(255) NOT NULL ," + FilmContract.MoviesEntry.MOVIE_TITLE + " VARCHAR(255) NOT NULL," + FilmContract.MoviesEntry.MOVIE_YEAR + " INTEGER(4) NOT NULL ," + FilmContract.MoviesEntry.MOVIE_POSTER_LINK + " VARCHAR(255) ," + FilmContract.MoviesEntry.MOVIE_BANNER + " VARCHAR (255) ," + FilmContract.MoviesEntry.MOVIE_CERTIFICATION + " VARCHAR (255) ," + FilmContract.MoviesEntry.MOVIE_LANGUAGE + " VARCHAR (255) ," + FilmContract.MoviesEntry.MOVIE_RELEASED + " VARCHAR (255) ," + FilmContract.MoviesEntry.MOVIE_RUNTIME + " VARCHAR (255) ," + FilmContract.MoviesEntry.MOVIE_DESCRIPTION + " VARCHAR (255) ," + FilmContract.MoviesEntry.MOVIE_TAGLINE + " VARCHAR(255) ," + FilmContract.MoviesEntry.MOVIE_TRAILER + " VARCHAR(255) ," + FilmContract.MoviesEntry.MOVIE_RATING + " VARCHAR (255));"; sqLiteDatabase.execSQL(SQL_CREATE_TRENDING_MOVIE_TABLE); sqLiteDatabase.execSQL(SQL_CREATE_INTHEATERS_MOVIE_TABLE); sqLiteDatabase.execSQL(SQL_CREATE_UPCOMING_MOVIE_TABLE); sqLiteDatabase.execSQL(SQL_CREATE_CAST_TABLE); sqLiteDatabase.execSQL(SQL_CREATE_SAVE_TABLE); } @Override public void onUpgrade(SQLiteDatabase sqLiteDatabase, int old_version, int new_version) { sqLiteDatabase.execSQL("DROP TABLE IF EXISTS " + FilmContract.MoviesEntry.TABLE_NAME); sqLiteDatabase.execSQL("DROP TABLE IF EXISTS " + FilmContract.CastEntry.TABLE_NAME); sqLiteDatabase.execSQL("DROP TABLE IF EXISTS " + FilmContract.SaveEntry.TABLE_NAME); sqLiteDatabase.execSQL("DROP TABLE IF EXISTS " + FilmContract.InTheatersMoviesEntry.TABLE_NAME); sqLiteDatabase.execSQL("DROP TABLE IF EXISTS " + FilmContract.UpComingMoviesEntry.TABLE_NAME); onCreate(sqLiteDatabase); } }