package Ġcom . example . mv player Ċ Ċ import Ġandroid . content . Content Values Ċ import Ġandroid . content . Context Ċ import Ġandroid . database . sqlite . SQLite Database Ċ import Ġandroid . database . sqlite . SQLite Open Helper Ċ Ċ class ĠMy DB Helper ( val Ġcontext : ĠContext ?) Ġ: ĠSQLite Open Helper ( context , ĠDB _ NAME , Ġnull , ĠDB _ VERSION ) Ġ{ ĊĠĠĠ Ġcompanion Ġobject { ĊĠĠĠĠĠĠĠ Ġval ĠDB _ NAME Ġ= Ġ" my db . db " ĊĠĠĠĠĠĠĠ Ġval ĠDB _ VERSION Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġval ĠTABLE _ NAME Ġ= Ġ" products " ĊĠĠĠĠĠĠĠ Ġval ĠS ONG TITLE Ġ= Ġ" song title " ĊĠĠĠĠĠĠĠ Ġval ĠS ING ER Ġ= Ġ" sing er " ĊĠĠĠĠĠĠĠ Ġval ĠV IDE OID Ġ= Ġ" vide oid " ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ì µľ ìĬ ¹ í Ľ Ī Ġì¶Ķê°Ģ Ġë¶Ģ ë¶Ħ ĊĠĠĠ Ġfun Ġclear (){ ĊĠĠĠĠĠĠĠ Ġval Ġstr sql Ġ= Ġ" delete Ġfrom Ġ$ TABLE _ NAME ;" ĊĠĠĠĠĠĠĠ Ġval Ġcreate _ table Ġ= Ġ" CREATE ĠTABLE Ġif Ġnot Ġexists Ġ$ TABLE _ NAME Ġ(" + ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ SON GT ITLE Ġtext ," + ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ SING ER Ġtext ," + ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ VIDEO ID Ġtext );" ĊĠĠĠĠĠĠĠ Ġval Ġdb Ġ= Ġwritable Database ĊĠĠĠĠĠĠĠ Ġdb !!. exec SQL ( str sql ) ĊĠĠĠĠĠĠĠ Ġdb !!. exec SQL ( create _ table ) ĊĠĠĠĠĠĠĠ Ġdb . close () ĊĊĠĠĠ Ġ} ĊĠĠĠ Ġ// ã ħ ¡ ã ħ ¡ ã ħ ¡ ã ħ ¡ ã ħ ¡ ĊĠĠĠ Ġfun Ġget info ( attr count : ĠInt ): ArrayList < String > Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġinfo Ġ= ĠArrayList < String >() ĊĠĠĠĠĠĠĠ Ġval Ġstr sql Ġ= Ġ" select Ġ* Ġfrom Ġ$ TABLE _ NAME " ĊĠĠĠĠĠĠĠ Ġval Ġdb Ġ= Ġreadable Database ĊĠĠĠĠĠĠĠ Ġval Ġcursor Ġ= Ġdb . raw Query ( str sql , Ġnull ) ĊĠĠĠĠĠĠĠ Ġcursor . moveTo First () ĊĠĠĠĠĠĠĠ Ġfor ( i Ġin Ġ 1 Ġuntil Ġattr count - 1 ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcursor . moveTo Next () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġinfo . add ( cursor . getString ( cursor . getColumnIndex (" song title "))) ĊĠĠĠĠĠĠĠ Ġinfo . add ( cursor . getString ( cursor . getColumnIndex (" sing er "))) ĊĠĠĠĠĠĠĠ Ġinfo . add ( cursor . getString ( cursor . getColumnIndex (" vide oid "))) ĊĠĠĠĠĠĠĠ Ġreturn Ġinfo ĊĠĠĠ Ġ} ĊĠĠĠ Ġfun Ġgetattr Count (): Int { ĊĠĠĠĠĠĠĠ Ġval Ġstr sql Ġ= Ġ" select Ġ* Ġfrom Ġ$ TABLE _ NAME ;" ĊĠĠĠĠĠĠĠ Ġval Ġdb Ġ= Ġreadable Database ĊĠĠĠĠĠĠĠ Ġval Ġcursor Ġ= Ġdb . raw Query ( str sql , Ġnull ) ĊĠĠĠĠĠĠĠ Ġcursor . moveTo First () ĊĠĠĠĠĠĠĠ Ġval Ġattr count Ġ= Ġcursor . getCount () ĊĠĠĠĠĠĠĠ Ġcursor . close () ĊĠĠĠĠĠĠĠ Ġdb . close () ĊĠĠĠĠĠĠĠ Ġreturn Ġattr count ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġinsert Product ( product : ĠMy Data ): Boolean { ĊĠĠĠĠĠĠĠ Ġval Ġvalues Ġ= ĠContent Values () ĊĠĠĠĠĠĠĠ Ġvalues . put ( SON GT ITLE , Ġproduct . song title ) ĊĠĠĠĠĠĠĠ Ġvalues . put ( SING ER , Ġproduct . sing er ) ĊĠĠĠĠĠĠĠ Ġvalues . put ( VIDEO ID , Ġproduct . video Id ) ĊĠĠĠĠĠĠĠ Ġval Ġdb Ġ= Ġwritable Database ĊĠĠĠĠĠĠĠ Ġval Ġflag Ġ= Ġdb . insert ( TABLE _ NAME , Ġnull , Ġvalues )> 0 ĊĠĠĠĠĠĠĠ Ġdb . close () ĊĠĠĠĠĠĠĠ Ġreturn Ġflag ĊĠĠĠ Ġ} ĊĠĠĠ Ġfun Ġcreate 2 ( db : SQLite Database ? ){ ĊĠĠĠĠĠĠĠ Ġval Ġcreate _ table Ġ= Ġ" CREATE ĠTABLE Ġif Ġnot Ġexists Ġ$ TABLE _ NAME Ġ(" + ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ SON GT ITLE Ġtext ," + ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ SING ER Ġtext ," + ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ VIDEO ID Ġtext );" ĊĠĠĠĠĠĠĠ Ġdb !!. exec SQL ( create _ table ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġfun Ġinit 1 (){ ĊĠĠĠĠĠĠĠ Ġinit 2 ( this . writable Database ) ĊĠĠĠĠĠĠĠ Ġcreate 2 ( this . writable Database ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġfun Ġinit 2 ( db : ĠSQLite Database ? ){ ĊĠĠĠĠĠĠĠ Ġval Ġdrop _ table Ġ= Ġ" drop Ġtable Ġif Ġexists Ġ$ TABLE _ NAME ;" ĊĠĠĠĠĠĠĠ Ġdb !!. exec SQL ( drop _ table ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġoverride Ġfun ĠonCreate ( db : ĠSQLite Database ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcreate _ table Ġ= Ġ" CREATE ĠTABLE Ġif Ġnot Ġexists Ġ$ TABLE _ NAME Ġ(" + ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ SON GT ITLE Ġtext ," + ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ SING ER Ġtext ," + ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ VIDEO ID Ġtext );" ĊĠĠĠĠĠĠĠ Ġdb !!. exec SQL ( create _ table ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Upgrade ( db : ĠSQLite Database ?, Ġold Version : ĠInt , Ġnew Version : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdrop _ table Ġ= Ġ" drop Ġtable Ġif Ġexists Ġ$ TABLE _ NAME ;" ĊĠĠĠĠĠĠĠ Ġdb !!. exec SQL ( drop _ table ) ĊĠĠĠ Ġ} Ċ Ċ }