package Ġcom . k ink y keys . count me in Ċ Ċ import Ġandroid . content . Content Values Ċ import Ġandroid . content . Context Ċ import Ġandroid . database . sqlite . SQLite Database Ċ import Ġandroid . database . sqlite . SQLite Open Helper Ċ import Ġandroid . widget . Toast Ċ Ċ val ĠDAT AB AS ENAME Ġ= Ġ" MY ĠDATABASE " Ċ Ċ val ĠAT TABLE Ġ= Ġ" student Attendance " Ċ val ĠCOL _ DATE Ġ= Ġ" date " Ċ val ĠCOL _ TIME Ġ= Ġ" time " Ċ val ĠCOL _ SUB Ġ= Ġ" subject " Ċ val ĠCOL _ S UID Ġ= Ġ" std ID " Ċ Ċ val ĠCRE DT ABLE Ġ= Ġ" student Cred " Ċ val ĠCOL _ UID Ġ= Ġ" username " Ċ val ĠCOL _ PASS WD Ġ= Ġ" assword " Ċ Ċ val ĠF TABLE Ġ= Ġ" teacher Cred " Ċ val ĠCOL _ F ID Ġ= Ġ" username " Ċ val ĠCOL _ ASS WD Ġ= Ġ" assword " ĊĊ Ċ class ĠData Base Handler ( var Ġcontext : Context ) Ġ: ĠSQLite Open Helper ( context , ĠDAT AB AS ENAME , Ġnull , Ġ 1 ) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( db : ĠSQLite Database ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcreate AT Table Ġ= Ġ" CREATE ĠTABLE Ġ" Ġ+ ĠAT TABLE Ġ+ Ġ" Ġ(" Ġ+ ĠCOL _ DATE Ġ+ Ġ" ĠVARCHAR ( 2 5 6 )," Ġ+ ĠCOL _ TIME Ġ+ Ġ" ĠVARCHAR ( 2 5 6 )," Ġ+ ĠCOL _ SUB Ġ+ Ġ" ĠVARCHAR ( 2 5 6 )," Ġ+ ĠCOL _ S UID Ġ+ Ġ" ĠVARCHAR ( 2 5 6 )" Ġ+ Ġ" Ġ)" ĊĠĠĠĠĠĠĠ Ġval Ġcreate CR Table Ġ= Ġ" CREATE ĠTABLE Ġ" Ġ+ ĠCRE DT ABLE Ġ+ Ġ" Ġ(" Ġ+ ĠCOL _ UID Ġ+ Ġ" ĠVARCHAR ( 2 5 6 )," Ġ+ ĠCOL _ PASS WD Ġ+ Ġ" ĠVARCHAR ( 2 5 6 )" Ġ+ Ġ" Ġ)" ĊĠĠĠĠĠĠĠ Ġval Ġcreate F Table Ġ= Ġ" CREATE ĠTABLE Ġ" Ġ+ ĠF TABLE Ġ+ Ġ" Ġ(" Ġ+ ĠCOL _ F ID Ġ+ Ġ" ĠVARCHAR ( 2 5 6 )," Ġ+ ĠCOL _ ASS WD Ġ+ Ġ" ĠVARCHAR ( 2 5 6 )" Ġ+ Ġ" Ġ)" ĊĠĠĠĠĠĠĠ Ġdb ?. exec SQL ( create AT Table ) ĊĠĠĠĠĠĠĠ Ġdb ?. exec SQL ( create CR Table ) ĊĠĠĠĠĠĠĠ Ġdb ?. exec SQL ( create F Table ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Upgrade ( db : ĠSQLite Database ?, Ġold Version : ĠInt , Ġnew Version : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// onCreate ( db ); ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġinsert Data ( user : ĠUser ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġdatabase Ġ= Ġthis . writable Database ĊĠĠĠĠĠĠĠ Ġval Ġcontent Values Ġ= ĠContent Values () ĊĊĠĠĠĠĠĠĠ Ġcontent Values . put ( COL _ DATE , Ġuser . db Date ) ĊĠĠĠĠĠĠĠ Ġcontent Values . put ( COL _ TIME , Ġuser . db Time ) ĊĠĠĠĠĠĠĠ Ġcontent Values . put ( COL _ SUB , Ġuser . db Sub ) ĊĠĠĠĠĠĠĠ Ġcontent Values . put ( COL _ S UID , Ġuser . db UID ) ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġdatabase . insert ( AT TABLE , Ġnull , Ġcontent Values ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( result Ġ== Ġ( 0 ). to Long ()) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( context , Ġ" Failed ", ĠToast . LENGTH _ SHORT ). show () ĊĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( context , Ġ" Success ", ĠToast . LENGTH _ SHORT ). show () ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġfun Ġread Data (): ĠMutable List < User > Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġlist : ĠMutable List < User > Ġ= ĠArrayList () ĊĠĠĠĠĠĠĠ Ġval Ġdb Ġ= Ġthis . readable Database ĊĠĠĠĠĠĠĠ Ġval Ġquery Ġ= Ġ" Select Ġ* Ġfrom Ġ$ AT TABLE " ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġdb . raw Query ( query , Ġnull ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( result . moveTo First ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdo Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġuser Ġ= ĠUser () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuser . db Date Ġ= Ġresult . getString ( result . getColumnIndex ( COL _ DATE )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuser . db Time Ġ= Ġresult . getString ( result . getColumnIndex ( COL _ TIME )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuser . db Sub Ġ= Ġresult . getString ( result . getColumnIndex ( COL _ SUB )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuser . db UID Ġ= Ġresult . getString ( result . getColumnIndex ( COL _ S UID )) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add ( user ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġwhile Ġ( result . moveTo Next ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġlist ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġclear Cred s () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġdatabase Ġ= Ġthis . writable Database ĊĠĠĠĠĠĠĠ Ġval Ġcontent Values Ġ= ĠContent Values () ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġdatabase . delete ( CRE DT ABLE , Ġ"", Ġnull ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġclear TC red s () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġdatabase Ġ= Ġthis . writable Database ĊĠĠĠĠĠĠĠ Ġval Ġcontent Values Ġ= ĠContent Values () ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġdatabase . delete ( FT ABLE , Ġ"", Ġnull ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġinsert Cred ( user : ĠUser ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġdatabase Ġ= Ġthis . writable Database ĊĠĠĠĠĠĠĠ Ġval Ġcontent Values Ġ= ĠContent Values () ĊĊĠĠĠĠĠĠĠ Ġcontent Values . put ( COL _ UID , Ġuser . db UID ) ĊĠĠĠĠĠĠĠ Ġcontent Values . put ( COL _ PASS WD , Ġuser . db Pass wd ) ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġdatabase . insert ( CRE DT ABLE , Ġnull , Ġcontent Values ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( result Ġ== Ġ( 0 ). to Long ()) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( context , Ġ" Failed ", ĠToast . LENGTH _ SHORT ). show () ĊĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( context , Ġ" Success ", ĠToast . LENGTH _ SHORT ). show () ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġfun Ġread Cred (): ĠMutable List < User > Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġlist : ĠMutable List < User > Ġ= ĠArrayList () ĊĠĠĠĠĠĠĠ Ġval Ġdb Ġ= Ġthis . readable Database ĊĠĠĠĠĠĠĠ Ġval Ġquery Ġ= Ġ" Select Ġ* Ġfrom Ġ$ CRE DT ABLE " ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġdb . raw Query ( query , Ġnull ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( result . moveTo First ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdo Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġuser Ġ= ĠUser () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuser . db UID Ġ= Ġresult . getString ( result . getColumnIndex ( COL _ UID )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuser . db Pass wd Ġ= Ġresult . getString ( result . getColumnIndex ( COL _ PASS WD )) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add ( user ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġwhile Ġ( result . moveTo Next ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġlist ĊĠĠĠ Ġ} ĊĊĊĊĊĠĠĠ Ġfun Ġinsert TC red ( user : ĠTe acher ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġdatabase Ġ= Ġthis . writable Database ĊĠĠĠĠĠĠĠ Ġval Ġcontent Values Ġ= ĠContent Values () ĊĊĠĠĠĠĠĠĠ Ġcontent Values . put ( COL _ F ID , Ġuser . db UID ) ĊĠĠĠĠĠĠĠ Ġcontent Values . put ( COL _ ASS WD , Ġuser . db Pass wd ) ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġdatabase . insert ( FT ABLE , Ġnull , Ġcontent Values ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( result Ġ== Ġ( 0 ). to Long ()) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( context , Ġ" Failed ", ĠToast . LENGTH _ SHORT ). show () ĊĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( context , Ġ" Success ", ĠToast . LENGTH _ SHORT ). show () ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġfun Ġread TC red (): ĠMutable List < Teacher > Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġlist : ĠMutable List < Teacher > Ġ= ĠArrayList () ĊĠĠĠĠĠĠĠ Ġval Ġdb Ġ= Ġthis . readable Database ĊĠĠĠĠĠĠĠ Ġval Ġquery Ġ= Ġ" Select Ġ* Ġfrom Ġ$ FT ABLE " ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġdb . raw Query ( query , Ġnull ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( result . moveTo First ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdo Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġuser Ġ= ĠTe acher () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuser . db UID Ġ= Ġresult . getString ( result . getColumnIndex ( COL _ F ID )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuser . db Pass wd Ġ= Ġresult . getString ( result . getColumnIndex ( COL _ ASS WD )) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add ( user ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġwhile Ġ( result . moveTo Next ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġlist ĊĠĠĠ Ġ} Ċ Ċ }