Inside Example folder in src folder: DatabaseHandler.javapackage example.projectphone; import java.util.ArrayList; import java.util.List; import Database.Rubric; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; public class DatabaseHandler extends SQLiteOpenHelper { //All Static variables
//Database Version
private static final int DATABASE_VERSION = 1;
//Database Name
private static final String DATABASE_NAME = "Android_Project";
//Rubric Table Name
private static final String TABLE_RUBRIC = "Rubric";
//Rubric Table Columns Names
private static final String KEY_RUBRICID = "rubricID";
private static final String KEY_CRITERIA = "criteria";
private static final String KEY_SCORE = "score";
private static final String KEY_COMMENTS = "comments";
private static final String KEY_TOTAL = "total";
public DatabaseHandler(Context context){
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
//Creating Tables
@Override
public void onCreate(SQLiteDatabase db){
String CREATE_RUBRICS_TABLE = "CREATE TABLE " + TABLE_RUBRIC + "("
+ KEY_RUBRICID + "INTEGER PRIMARY KEY," + KEY_CRITERIA + "TEXT," + KEY_SCORE + "INTEGER,"
+ KEY_COMMENTS + "TEXT," + KEY_TOTAL + "INTEGER" + ")";
db.execSQL(CREATE_RUBRICS_TABLE);
}
//Upgrading Database
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion){
//Drop older table if it exists
db.execSQL("DROP TABLES IF EXISTS " + TABLE_RUBRIC);
//Create Tables Again
onCreate(db);
}
/All CRUD Operations /
//Adding New Rubric
public void addRubric(Rubric rubric){
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(KEY_RUBRICID, rubric.getRubricID()); //rubric ID
values.put(KEY_CRITERIA, rubric.getCriteria()); //criteria
values.put(KEY_SCORE, rubric.getScore()); //scores for each expectation
values.put(KEY_COMMENTS, rubric.getComments()); //comments for assignment
values.put(KEY_TOTAL, rubric.getTotal()); //total score of assignment
//Inserting rows
db.insert(TABLE_RUBRIC, null, values);
db.close(); //Closing database connection
}
//Getting Rubric
Rubric getRubric(int rubricID){
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.query(TABLE_RUBRIC, new String { KEY_RUBRICID, KEY_CRITERIA,
KEY_SCORE, KEY_COMMENTS, KEY_TOTAL }, KEY_RUBRICID + "=?",
new String { String.valueOf(rubricID) }, null, null, null, null);
if(cursor !=null)
cursor.moveToFirst();
Rubric rubric = new Rubric(Integer.parseInt(cursor.getString(0)),
cursor.getString(1),Integer.parseInt(cursor.getString(2)),
cursor.getString(3),Integer.parseInt(cursor.getString(4)));
//return rubric
return rubric;
}
//Getting All Rubrics
public List<rubric> getAllRubrics(){
List<rubric> rubricList = new ArrayList<rubric> ();
//Select All of the Query
String selectQuery = "SELECT FROM " + TABLE_RUBRIC;
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
//Looping through all the rows and adding to list
if(cursor.moveToFirst()){
do{
Rubric rubric = new Rubric();
rubric.setRubricID(Integer.parseInt(cursor.getString(0)));
rubric.setCriteria(cursor.getString(1));
rubric.setScore(Integer.parseInt(cursor.getString(2)));
rubric.setComments(cursor.getString(3));
rubric.setTotal(Integer.parseInt(cursor.getString(4)));
//Adding rubric to list
rubricList.add(rubric);
}while (cursor.moveToNext());
}
//return rubric list
return rubricList;
}
//Updating rubric
public int updateRubric(Rubric rubric){
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(KEY_RUBRICID, rubric.getRubricID());
values.put(KEY_CRITERIA, rubric.getCriteria());
values.put(KEY_SCORE, rubric.getScore());
values.put(KEY_COMMENTS, rubric.getComments());
values.put(KEY_TOTAL, rubric.getTotal());
//Updating row
return db.update(TABLE_RUBRIC, values, KEY_RUBRICID + " = ?",
new String {String.valueOf(rubric.getRubricID()) });
}
//Deleting rubric
public void deleteRubric(Rubric rubric){
SQLiteDatabase db = this.getWritableDatabase();
db.delete(TABLE_RUBRIC, KEY_RUBRICID + " = ?",
new String { String.valueOf(rubric.getRubricID()) });
db.close();
}
//Getting Rubric's Count
public int getRubicsCount(){
String countQuery = "SELECT FROM " + TABLE_RUBRIC;
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(countQuery, null);
cursor.close();
//Return Count
return cursor.getCount();
}
}
|