/* Ċ Ġ* ĠCopyright ĠÂ© Ġ 2 0 2 0 - 2 0 2 1 , ĠSimp lex ion , ĠH ung ary Ġand Ġcontributors . ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense . Ċ Ġ*/ Ċ package Ġz ak ad ab ar . demo . basic . android Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġorg . jetbrains . ex posed . sql . Database Ċ import Ġorg . jetbrains . ex posed . sql . Schema Utils Ċ import Ġorg . jetbrains . ex posed . sql . transactions . transaction Ċ import Ġz ak ad ab ar . android . jdbc . z kl ite . connect Sqlite Ċ import Ġz ak ad ab ar . core . comm . Comm Base Ċ import Ġz ak ad ab ar . core . util . default Ċ import Ġz ak ad ab ar . lib . accounts . persistence . Account Private Ex posed Table Common Ċ import Ġz ak ad ab ar . lib . demo . backend . Demo Blob Ex posed Pa Ċ import Ġz ak ad ab ar . lib . demo . backend . Demo Blob Ex posed Pa Table Ċ import Ġz ak ad ab ar . lib . demo . backend . Demo Ex posed Pa Gen Ċ import Ġz ak ad ab ar . lib . demo . backend . Demo Ex posed Table Gen Ċ import Ġz ak ad ab ar . lib . i 1 8 n . persistence . Locale Ex posed Table Gen Ċ import Ġz ak ad ab ar . lib . i 1 8 n . persistence . Translation Ex posed Table Gen Ċ import Ġjava . sql . Connection Ċ import Ġjava . sql . Driver Manager Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġ// ĠOnly Ġfor ĠDEBUG ! ĊĠĠĠ Ġlateinit Ġvar Ġconnection Ġ: ĠConnection ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĊĠĠĠĠĠĠĠ Ġval Ġtv : ĠTextView Ġ= ĠfindViewById ( R . id . text _ view ) ĊĠĠĠĠĠĠĠ Ġtv . text Ġ= Ġ" Hello ĠWorld !" ĊĊĠĠĠĠĠĠĠ ĠCom m Base . baseUrl Ġ= Ġ" http :// 1 0 . 0 . 0 . 2 : 8 0 8 0 " ĊĠĠĠĠĠĠĠ Ġval Ġdb Ġ= Ġexposed () ĊĊĠĠĠĠĠĠĠ Ġ// ĠOnly Ġfor ĠDEBUG ! ĊĠĠĠĠĠĠĠ Ġconnection Ġ= ĠDriver Manager . getConnection ( db . url ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġexposed () Ġ: ĠDatabase Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdb Ġ= ĠDatabase . connect Sqlite ( this , Ġ" test ") ĊĊĠĠĠĠĠĠĠ Ġtransaction Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSchema Utils . create Missing Tables And Columns ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAccount Private Ex posed Table Common , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTranslation Ex posed Table Gen , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocale Ex posed Table Gen , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDemo Ex posed Table Gen , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDemo Blob Ex posed Pa Table ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġpa Ġ= ĠDemo Ex posed Pa Gen () ĊĊĠĠĠĠĠĠĠ Ġval Ġcreated Ġ= Ġpa . with Transaction Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpa . create ( default Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Hello " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġ 1 2 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġread Back Ġ= Ġpa . with Transaction Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpa . read ( created . id ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( read Back . name Ġ!= Ġcreated . name ) Ġthrow ĠRuntimeException (" ex posed Ġtest Ġfailed ") ĊĊĠĠĠĠĠĠĠ Ġval Ġblob Pa Ġ= ĠDemo Blob Ex posed Pa () ĊĊĠĠĠĠĠĠĠ Ġval Ġtext Ġ= Ġ" al ma fa " ĊĠĠĠĠĠĠĠ Ġval Ġtext Ba Ġ= Ġtext . encode To ByteArray () ĊĊĠĠĠĠĠĠĠ Ġval Ġcreated Blob Ġ= Ġblob Pa . with Transaction Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġblob Pa . create ( default Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" test . txt " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠmimeType Ġ= Ġ" text / plain " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsize Ġ= Ġtext Ba . size . to Long () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġblob Pa . with Transaction Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġblob Pa . write Content ( created Blob . id , Ġtext Ba ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġread Back Blob Ġ= Ġblob Pa . with Transaction Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġblob Pa . read Content ( created Blob . id ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġread Back Text Ġ= Ġread Back Blob . decode ToString () ĊĊĠĠĠĠĠĠĠ Ġif Ġ( text Ġ!= Ġread Back Text ) Ġthrow ĠRuntimeException (" ex posed Ġtest Ġfailed ") ĊĊĠĠĠĠĠĠĠ Ġreturn Ġdb ĊĠĠĠ Ġ} Ċ } Ċ