Friday 26 February 2016


DB Handler


package com.sollet.buzz.database;


import android.content.Context;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

import com.sollet.buzz.main.R;

public class DBHelper extends SQLiteOpenHelper {
/*
* 7 - 2.8.5
* 8 - 2.8.6
*
* */
private static String DATABASE_NAME ="SOLLETDB";
private static int DATABASE_VERSION = 8; // by shyam date:7/7/2015 for release 2.8.6
private Context mContext;
private String LOG_TAG = "DATABASE_LOG";
public static DBHelper INSTANCE = null;

private DBHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
this.mContext = context;
}

/**
* Get Instance of DBHelper
*
* @param context
* @return
*/
public synchronized static DBHelper getInstanceDbHelper(Context context) {

if (INSTANCE == null) {
INSTANCE = new DBHelper(context);
}
return INSTANCE;
}

@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub

String[] sql = mContext.getString(R.string.Database_onCreate).split("\n");
db.beginTransaction();
try {
execMultipleSQL(db, sql);
// System.out.println("Db Tables Created..");
db.setTransactionSuccessful();
} catch (SQLException e) {
// Log.e("Error creating tables and debug data", e.toString());
// Log.v(LOG_TAG,e.toString());
throw e;
} finally {
db.endTransaction();
}

}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

if(oldVersion<2) { db.beginTransaction(); try{ String sql = mContext.getString(R.string.Database_onUpgrade); db.execSQL(sql); // System.out.println("Db Tables Updated.."); db.setTransactionSuccessful(); } catch (Exception e) { } finally { db.endTransaction(); } }if(oldVersion<3){ String[] sql = mContext.getString(R.string.Database_onUpgrade_v3).split("\n"); db.beginTransaction(); try { execMultipleSQL(db, sql); db.setTransactionSuccessful(); } catch (Exception e) { } finally { db.endTransaction(); } } if(oldVersion<4){ String[] sql = mContext.getString(R.string.Database_onUpgrade_v4).split("\n"); db.beginTransaction(); try { execMultipleSQL(db, sql); db.setTransactionSuccessful(); } catch (Exception e) { } finally { db.endTransaction(); } } if(oldVersion<5){ String[] sql = mContext.getString(R.string.Database_onUpgrade_v5).split("\n"); db.beginTransaction(); try { execMultipleSQL(db, sql); db.setTransactionSuccessful(); } catch (Exception e) { } finally { db.endTransaction(); } } if(oldVersion<6){ String[] sql = mContext.getString(R.string.Database_onUpgrade_v6).split("\n"); db.beginTransaction(); try { execMultipleSQL(db, sql); db.setTransactionSuccessful(); } catch (Exception e) { } finally { db.endTransaction(); } } if(oldVersion<7){ String[] sql = mContext.getString(R.string.Database_onUpgrade_v7).split("\n"); db.beginTransaction(); try { execMultipleSQL(db, sql); db.setTransactionSuccessful(); } catch (Exception e) { } finally { db.endTransaction(); } } if(oldVersion<8){ String[] sql = mContext.getString(R.string.Database_onUpgrade_v8).split("\n"); db.beginTransaction(); try { execMultipleSQL(db, sql); db.setTransactionSuccessful(); } catch (Exception e) { } finally { db.endTransaction(); } } } /** * Execute all of the SQL statements in the String[] array * * @param db * The database on which to execute the statements * @param sql * An array of SQL statements to execute */ private void execMultipleSQL(SQLiteDatabase db, String[] sql) { for (String s : sql) if (s.trim().length() > 0){
// Log.v(LOG_TAG, s);
db.execSQL(s);
}
}

/**
* Execute the SQL statements to insert data
*
* @param sql
* An SQL statements to execute
*/
public void insert(String sql) {
getWritableDatabase().execSQL(sql);

// Log.v(LOG_TAG , sql);
}

/**
* Execute the SQL statements to update data
*
* @param sql
* An SQL statements to execute
*/
public void update(String sql) {
getWritableDatabase().execSQL(sql);
// Log.v(LOG_TAG, sql);
}

/**
* Execute the SQL statements to delete data
*
* @param sql
* An SQL statements to execute
*/
public void delete(String sql) {
getWritableDatabase().execSQL(sql);
// Log.v(LOG_TAG, sql);
}

}


No comments:

Post a Comment