Thursday, September 19, 2024 11:59:47 PM
> settings

Customize


Authenticate

> DatabaseConnector.java
/*
    Bryan
    Database
 */

package bryan.database;

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

import java.util.ArrayList;

public class DatabaseConnector
{
    private static final String DB_NAME = "citc_faculty.db";
    private static final int DB_VERSION = 1;
    private final String TABLE_NAME = "faculty";

    private DatabaseOpenHelper dbHelper;
    private SQLiteDatabase myDB;

    // Database connector for current context
    public DatabaseConnector(Context c)
    {
        dbHelper = new DatabaseOpenHelper(c, DB_NAME, null, DB_VERSION);
    }

    // Open the database connection
    public void open() throws SQLException
    {
        myDB = dbHelper.getWritableDatabase();
    }

    // Close database connection
    public void close()
    {
        if (myDB != null)
            myDB.close();
    }

    public void insertRecord(String _name, String _email)
    {
        ContentValues cv = new ContentValues();

        // First argument to put method is table column name, and the second is value to be inserted
        cv.put("name", _name);
        cv.put("email", _email);

        // Open database
        this.open();

        // Insert record
        myDB.insert(TABLE_NAME, null, cv);
    }

    // Method to create and return an array list of records from faculty table
    public ArrayList<String> getFacultyRecords()
    {
        ArrayList<String> facultyList = new ArrayList<>();
        // Create a query to select all faculity records
        String selectQuery = "SELECT * FROM " + TABLE_NAME;

        // Open Database
        this.open();

        Cursor selectCursor = myDB.rawQuery(selectQuery, null);

        // Interate over cursor to fetch faculty records into array list
        for (selectCursor.moveToFirst(); !selectCursor.isAfterLast(); selectCursor.moveToNext())
        {
            String facultyRecord = selectCursor.getString(0) + "\t" + selectCursor.getString(1) + "\t" + selectCursor.getString(2);
            facultyList.add(facultyRecord);
        }

        // Return
        return facultyList;
    }

    private class DatabaseOpenHelper extends SQLiteOpenHelper
    {
        public DatabaseOpenHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version)
        {
            super (context, name, factory, version);
        }

        @Override
        public void onCreate(SQLiteDatabase db)
        {
            // Create faculty table
            String createTable = "CREATE TABLE " + TABLE_NAME + " (fid integer primary key autoincrement, name text, email text);";

            // Execute query
            db.execSQL(createTable);
        }

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

        }
    }


}
All opinions represented herein are my own
- © 2024 itsthedevman
- build 3c15a1b