· 4 years ago · Apr 18, 2021, 03:02 AM
1package com.dicoding.githubuser.db
2
3import android.content.Context
4import android.database.sqlite.SQLiteDatabase
5import android.database.sqlite.SQLiteOpenHelper
6import com.dicoding.githubuser.db.DatabaseContract.UserColumns.Companion.TABLE_NAME
7
8internal class DatabaseHelper(context: Context) : SQLiteOpenHelper(context, DATABASE_NAME, null, DATABASE_VERSION) {
9 companion object {
10 private const val DATABASE_NAME = "dbfavorite"
11 private const val DATABASE_VERSION = 1
12 //ganti beberapa column, karena ada yg bisa null
13 private const val SQL_CREATE_TABLE_FAVORITE = "CREATE TABLE $TABLE_NAME" +
14 " (${DatabaseContract.UserColumns.ID} INTEGER PRIMARY KEY AUTOINCREMENT," +
15 " ${DatabaseContract.UserColumns.USERNAME} TEXT NOT NULL," +
16 " ${DatabaseContract.UserColumns.AVATAR} TEXT NOT NULL," +
17 " ${DatabaseContract.UserColumns.NAME} TEXT," +
18 " ${DatabaseContract.UserColumns.COMPANY} TEXT," +
19 " ${DatabaseContract.UserColumns.LOCATION} TEXT," +
20 " ${DatabaseContract.UserColumns.REPOSITORY} INTEGER)"
21 }
22 override fun onCreate(db: SQLiteDatabase?) {
23 db?.execSQL(SQL_CREATE_TABLE_FAVORITE)
24 }
25 override fun onUpgrade(db: SQLiteDatabase?, oldVersion: Int, newVersion: Int) {
26 db?.execSQL("DROP TABLE IF EXISTS $TABLE_NAME")
27 onCreate(db)
28 }
29}