package Ġcom . example . osen . database Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . database . sqlite . SQLite Database Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġcom . example . osen . model .* Ċ import Ġorg . jetbrains . ank o . db .* Ċ Ċ class ĠMy Database Open Helper ( ctx : ĠContext ) Ġ: ĠManaged SQLite Open Helper ( ctx , Ġ" Os en . db ", Ġnull , Ġ 1 ) Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġinstance : ĠMy Database Open Helper ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġ@ Synchron ized ĊĠĠĠĠĠĠĠ Ġfun ĠgetInstance ( ctx : ĠContext ): ĠMy Database Open Helper Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( instance Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinstance Ġ= ĠMy Database Open Helper ( ctx . application Context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġinstance Ġas ĠMy Database Open Helper ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( db : ĠSQLite Database ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġdb ?. createTable ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠClass room . TABLE _ CLASS ROOM , Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠClass room . ID _ Ġto ĠINTEGER Ġ+ ĠPRIMARY _ KEY Ġ+ ĠAUTO INCREMENT , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠClass room . IMAGE Ġto ĠTEXT , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠClass room . NAME Ġto ĠTEXT , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠClass room . TYPE Ġto ĠTEXT , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠClass room . CATEGORY Ġto ĠTEXT , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠClass room . START _ DATE Ġto ĠTEXT , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠClass room . END _ DATE Ġto ĠTEXT , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠClass room . START _ TIME Ġto ĠTEXT , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠClass room . END _ TIME Ġto ĠTEXT , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠClass room . DAY Ġto ĠTEXT , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠClass room . TE AC HER _ ID Ġto ĠTEXT ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġdb ?. createTable ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠStudent . TABLE _ ST UD ENT , Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠStudent . ID _ Ġto ĠINTEGER Ġ+ ĠPRIMARY _ KEY Ġ+ ĠAUTO INCREMENT , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠStudent . NAME Ġto ĠTEXT , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠStudent . CLASS _ NAME Ġto ĠTEXT , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠStudent . G ENDER Ġto ĠTEXT , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠStudent . SCORE Ġto ĠINTEGER , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠStudent . TE AC HER _ ID Ġto ĠTEXT ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġdb ?. createTable ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCategory . TABLE _ CATEGORY , Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCategory . ID _ Ġto ĠINTEGER Ġ+ ĠPRIMARY _ KEY Ġ+ ĠAUTO INCREMENT , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCategory . NAME Ġto ĠTEXT , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCategory . TE AC HER _ ID Ġto ĠTEXT ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġdb ?. createTable ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAbs ent . TABLE _ AB SENT , Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAbs ent . ID _ Ġto ĠINTEGER Ġ+ ĠPRIMARY _ KEY Ġ+ ĠAUTO INCREMENT , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAbs ent . ST UD ENT _ ID Ġto ĠINTEGER , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAbs ent . H AD IR Ġto ĠINTEGER , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAbs ent . IZ IN Ġto ĠINTEGER , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAbs ent . SA KIT Ġto ĠINTEGER , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAbs ent . AL FA Ġto ĠINTEGER , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAbs ent . CLASS Ġto ĠTEXT , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAbs ent . TE AC HER _ ID Ġto ĠTEXT ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġdb ?. createTable ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAbs ent OfDay . TABLE _ ABS ENTO FD AY , Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAbs ent OfDay . ID _ Ġto ĠINTEGER Ġ+ ĠPRIMARY _ KEY Ġ+ ĠAUTO INCREMENT , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAbs ent OfDay . ST UD ENT _ ID Ġto ĠINTEGER , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAbs ent OfDay . DATE Ġto ĠTEXT , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAbs ent OfDay . K ET ER ANG AN Ġto ĠTEXT , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAbs ent OfDay . CLASS Ġto ĠTEXT , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAbs ent OfDay . TE AC HER _ ID Ġto ĠTEXT ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġdb ?. createTable ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠScore . TABLE _ SCORE , Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠScore . ID _ Ġto ĠINTEGER Ġ+ ĠPRIMARY _ KEY Ġ+ ĠAUTO INCREMENT , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠScore . ST UD ENT _ ID Ġto ĠINTEGER , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠScore . UT S Ġto ĠINTEGER , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠScore . PER SENT ASE _ UT S Ġto ĠINTEGER , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠScore . U AS Ġto ĠINTEGER , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠScore . PER SENT ASE _ U AS Ġto ĠINTEGER , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠScore . AS SESS MENT _ 1 Ġto ĠINTEGER , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠScore . PER SENT ASE _ AS SESS MENT _ 1 Ġto ĠINTEGER , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠScore . AS SESS MENT _ 2 Ġto ĠINTEGER , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠScore . PER SENT ASE _ AS SESS MENT _ 2 Ġto ĠINTEGER , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠScore . AS SESS MENT _ 3 Ġto ĠINTEGER , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠScore . PER SENT ASE _ AS SESS MENT _ 3 Ġto ĠINTEGER , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠScore . CLASS _ NAME Ġto ĠTEXT , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠScore . TE AC HER _ ID Ġto ĠTEXT ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Upgrade ( db : ĠSQLite Database ?, Ġold Version : ĠInt , Ġnew Version : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdb ?. drop Table ( Class room . TABLE _ CLASS ROOM , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġdb ?. drop Table ( Student . TABLE _ ST UD ENT , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġdb ?. drop Table ( Category . TABLE _ CATEGORY , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġdb ?. drop Table ( Absent OfDay . TABLE _ ABS ENTO FD AY , Ġtrue ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ val ĠContext . database : ĠMy Database Open Helper ĊĠĠĠ Ġget () Ġ= ĠMy Database Open Helper . getInstance ( application Context ) Ċ Ċ val ĠFragment . database : ĠMy Database Open Helper ĊĠĠĠ Ġget () Ġ= ĠMy Database Open Helper . getInstance ( activity !! )