/*
* This is the source code of DMPLayer for Android v. 1.0.0.
* You should have received a copy of the license in this archive (see LICENSE).
* Copyright @Dibakar_Mistry, 2015.
*/
package com.dmplayer.dbhandler;
import android.content.Context;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import com.dmplayer.R;
public class DMPLayerDBHelper extends SQLiteOpenHelper {
private Context context_;
private static String DATABASE_NAME = "";
private static int DATABASE_VERSION = 0;
private String DB_PATH = "";
private SQLiteDatabase db;
public DMPLayerDBHelper(Context context) {
super(context, context.getResources().getString(R.string.DataBaseName), null, Integer.parseInt(context.getResources().getString(R.string.DataBaseName_Version)));
this.context_ = context;
DATABASE_NAME = context.getResources().getString(R.string.DataBaseName);
DATABASE_VERSION = Integer.parseInt(context.getResources().getString(R.string.DataBaseName_Version));
DB_PATH = context.getDatabasePath(DATABASE_NAME).getPath();
context.openOrCreateDatabase(DATABASE_NAME, SQLiteDatabase.OPEN_READWRITE, null);
}
public SQLiteDatabase getDB() {
return db;
}
@Override
public void onCreate(SQLiteDatabase db) {
try {
db.execSQL(sqlForCreateMostPlay());
db.execSQL(sqlForCreateFavoritePlay());
} catch (SQLException e) {
e.printStackTrace();
}
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
try {
db.execSQL("DROP TABLE IF EXISTS " + MostAndRecentPlayTableHelper.TABLENAME);
db.execSQL("DROP TABLE IF EXISTS " + FavoritePlayTableHelper.TABLENAME);
onCreate(db);
} catch (SQLException e) {
e.printStackTrace();
}
}
@Override
public synchronized void close() {
if (getDB() != null)
getDB().close();
super.close();
}
public void openDataBase() throws SQLException {
try {
db = SQLiteDatabase.openDatabase(DB_PATH, null, SQLiteDatabase.OPEN_READWRITE);
} catch (Exception e) {
e.printStackTrace();
}
}
public static String sqlForCreateMostPlay() {
String sql = "CREATE TABLE " + MostAndRecentPlayTableHelper.TABLENAME + " (" + MostAndRecentPlayTableHelper.ID + " INTEGER NOT NULL PRIMARY KEY,"
+ MostAndRecentPlayTableHelper.ALBUM_ID + " INTEGER NOT NULL,"
+ MostAndRecentPlayTableHelper.ARTIST + " TEXT NOT NULL,"
+ MostAndRecentPlayTableHelper.TITLE + " TEXT NOT NULL,"
+ MostAndRecentPlayTableHelper.DISPLAY_NAME + " TEXT NOT NULL,"
+ MostAndRecentPlayTableHelper.DURATION + " TEXT NOT NULL,"
+ MostAndRecentPlayTableHelper.PATH + " TEXT NOT NULL,"
+ MostAndRecentPlayTableHelper.AUDIOPROGRESS + " TEXT NOT NULL,"
+ MostAndRecentPlayTableHelper.AUDIOPROGRESSSEC + " INTEGER NOT NULL,"
+ MostAndRecentPlayTableHelper.LastPlayTime + " TEXT NOT NULL,"
+ MostAndRecentPlayTableHelper.PLAYCOUNT + " INTEGER NOT NULL);";
return sql;
}
public static String sqlForCreateFavoritePlay() {
String sql = "CREATE TABLE " + FavoritePlayTableHelper.TABLENAME + " (" + FavoritePlayTableHelper.ID + " INTEGER NOT NULL PRIMARY KEY,"
+ FavoritePlayTableHelper.ALBUM_ID + " INTEGER NOT NULL,"
+ FavoritePlayTableHelper.ARTIST + " TEXT NOT NULL,"
+ FavoritePlayTableHelper.TITLE + " TEXT NOT NULL,"
+ FavoritePlayTableHelper.DISPLAY_NAME + " TEXT NOT NULL,"
+ FavoritePlayTableHelper.DURATION + " TEXT NOT NULL,"
+ FavoritePlayTableHelper.PATH + " TEXT NOT NULL,"
+ FavoritePlayTableHelper.AUDIOPROGRESS + " TEXT NOT NULL,"
+ FavoritePlayTableHelper.AUDIOPROGRESSSEC + " INTEGER NOT NULL,"
+ FavoritePlayTableHelper.LastPlayTime + " TEXT NOT NULL,"
+ FavoritePlayTableHelper.ISFAVORITE + " INTEGER NOT NULL);";
return sql;
}
}