rifki_cs29

FavouriteHelper

Jul 1st, 2020
1,133
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package com.rifki.kotlin.mygithubfinal.db
  2.  
  3. import android.content.ContentValues
  4. import android.content.Context
  5. import android.database.Cursor
  6. import android.database.sqlite.SQLiteDatabase
  7. import com.rifki.kotlin.mygithubfinal.db.DatabaseContract.FavouriteColumns.Companion.TABLE_NAME
  8. import com.rifki.kotlin.mygithubfinal.db.DatabaseContract.FavouriteColumns.Companion.USERNAME
  9. import com.rifki.kotlin.mygithubfinal.db.DatabaseContract.FavouriteColumns.Companion._ID
  10. import java.sql.SQLException
  11.  
  12. class FavouriteHelper(context: Context) {
  13.  
  14.     companion object {
  15.         private const val DATABASE_TABLE = TABLE_NAME
  16.         private lateinit var databaseHelper: DatabaseHelper
  17.         private var INSTANCE : FavouriteHelper? = null
  18.  
  19.         fun getInstance(context: Context) : FavouriteHelper =
  20.             INSTANCE ?: synchronized(this) {
  21.                 INSTANCE ?: FavouriteHelper(context)
  22.             }
  23.  
  24.         private lateinit var database : SQLiteDatabase
  25.     }
  26.  
  27.     init {
  28.         databaseHelper = DatabaseHelper(context)
  29.     }
  30.  
  31.     //membuka dan menutup database
  32.     @Throws(SQLException::class)
  33.     fun open() {
  34.         database  = databaseHelper.writableDatabase
  35.     }
  36.  
  37.     fun close() {
  38.         databaseHelper.close()
  39.  
  40.         if(database.isOpen)
  41.             database.close()
  42.     }
  43.  
  44.     fun queryAll() : Cursor {
  45.         return database.query(
  46.             DATABASE_TABLE,
  47.             null,
  48.             null,
  49.             null,
  50.             null,
  51.             null,
  52.             "$_ID ASC")
  53.     }
  54.  
  55.     //Ambil data berdasarkan _ID
  56.     fun queryByUsername(username : String) : Cursor {
  57.         return database.query(
  58.             DATABASE_TABLE,
  59.             null,
  60.             "$USERNAME= ?",
  61.             arrayOf(username),
  62.             null,
  63.             null,
  64.             null,
  65.             null)
  66.     }
  67.  
  68.     fun insert(values: ContentValues?) : Long {
  69.         return database.insert(DATABASE_TABLE, null, values)
  70.     }
  71.  
  72.     fun deleteByUsername(username: String) : Int {
  73.         return database.delete(DATABASE_TABLE,"$USERNAME = '$username'", null)
  74.     }
  75. }
RAW Paste Data