package Ġcom . example . fr ani . exam en 1 mov iles Ċ Ċ import Ġandroid . content . Content Values Ċ import Ġandroid . content . Context Ċ import Ġandroid . database . sqlite . SQLite Database Ċ import Ġandroid . database . sqlite . SQLite Open Helper Ċ import Ġandroid . os . Strict Mode Ċ import Ġandroid . util . Log Ċ import Ġcom . be ust . kl ax on . JsonArray Ċ import Ġcom . be ust . kl ax on . JsonObject Ċ import Ġcom . be ust . kl ax on . Parser Ċ import Ġcom . github . kit tin un f . fuel . http Delete Ċ import Ġcom . github . kit tin un f . fuel . http Get Ċ import Ġcom . github . kit tin un f . fuel . http Patch Ċ import Ġcom . github . kit tin un f . fuel . http Post Ċ Ċ class ĠData Base Auto Ġ{ Ċ Ċ comp anion Ġobject Ġ{ ĊĠĠĠ Ġfun Ġinsert ar Auto ( auto : ĠAut oc ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ" http :// 1 7 2 . 2 9 . 6 4 . 2 3 0 : 1 3 3 7 / Auto ". http Post ( listOf (" isbn " Ġto Ġauto . isbn , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" nombre " Ġto Ġauto . nombre , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ch asis " Ġto Ġauto . ch asis , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" color Dos " Ġto Ġauto . color Dos , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" color Uno " Ġto Ġauto . color Uno , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" an io " Ġto Ġauto . an io , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" nombre Mode lo " Ġto Ġauto . nombre Mode lo , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" lat itud " Ġto Ġauto . lat itud , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" long itud " Ġto Ġauto . long itud , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" id Con duct or " Ġto Ġauto . id Con duct or )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. response String Ġ{ Ġrequest , Ġ_, Ġresult Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" http - ej emplo ", Ġrequest . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġupdate Auto ( auto : ĠAut oc ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ" http :// 1 7 2 . 2 9 . 6 4 . 2 3 0 : 1 3 3 7 / Auto /${ auto . id }". http Patch ( listOf (" isbn " Ġto Ġauto . isbn , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" nombre " Ġto Ġauto . nombre , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ch asis " Ġto Ġauto . ch asis , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" color Dos " Ġto Ġauto . color Dos , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" color Uno " Ġto Ġauto . color Uno , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" an io " Ġto Ġauto . an io , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" nombre Mode lo " Ġto Ġauto . nombre Mode lo , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" lat itud " Ġto Ġauto . lat itud , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" long itud " Ġto Ġauto . long itud , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" id Con duct or " Ġto Ġauto . id Con duct or )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. response String Ġ{ Ġrequest , Ġ_, Ġresult Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" http - ej emplo ", Ġrequest . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdelete Auto ( id : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ" http :// 1 7 2 . 2 9 . 6 4 . 2 3 0 : 1 3 3 7 / Auto /$ id ". http Delete () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. response String Ġ{ Ġrequest , Ġresponse , Ġresult Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" http - ej emplo ", Ġrequest . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Aut os List ( cond uctor Id : ĠInt ): ĠArrayList < Aut oc > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġautos : ĠArrayList < Aut oc > Ġ= ĠArrayList () ĊĠĠĠĠĠĠĠ Ġval Ġpolicy Ġ= ĠStrict Mode . Thread Policy . Builder (). permit All (). build () ĊĠĠĠĠĠĠĠ ĠStrict Mode . set Thread Policy ( policy ) ĊĠĠĠĠĠĠĠ Ġval Ġ( request , Ġresponse , Ġresult ) Ġ= Ġ" http :// 1 7 2 . 2 9 . 6 4 . 2 3 0 : 1 3 3 7 / Auto ? autor Id =$ cond uctor Id ". http Get (). response String () ĊĠĠĠĠĠĠĠ Ġval Ġjson String Lib ro Ġ= Ġresult . get () ĊĊĠĠĠĠĠĠĠ Ġval Ġparser Ġ= ĠParser () ĊĠĠĠĠĠĠĠ Ġval ĠstringBuilder Ġ= ĠStringBuilder ( json String Lib ro ) ĊĠĠĠĠĠĠĠ Ġval Ġarray Ġ= Ġparser . parse ( string Builder ) Ġas ĠJson Array < JsonObject > ĊĊĠĠĠĠĠĠĠ Ġarray . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġid Ġ= Ġit [" id "] Ġas ĠInt ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġis bn Ġ= Ġit [" isbn "] Ġas ĠString ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnombre Ġ= Ġit [" nombre "] Ġas ĠString ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġch asis Ġ= Ġit [" ch asis "] Ġas ĠInt ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcolor Dos Ġ= Ġit [" color Dos "] Ġas ĠString ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcolor Uno Ġ= Ġit [" color Uno "] Ġas ĠString ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġan io Ġ= Ġit [" an io "] Ġas ĠString ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnombre Mode lo Ġ= Ġit [" nombre Mode lo "] Ġas ĠString ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlat itud Ġ= Ġit [" lat itud "] Ġas ĠDouble ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlong itud Ġ= Ġit [" long itud "] Ġas ĠDouble ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġauto Ġ= ĠAut oc ( id , Ġis bn , Ġch asis , nombre , Ġcolor Uno , color Dos , nombre Mode lo , Ġlat itud , Ġlong itud , an io , Ġconduct or Id , Ġ 0 , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġautos . add ( auto ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġautos ĊĠĠĠ Ġ} Ċ Ċ } ĊĊĠĠĠ Ġ/* comp anion Ġobject Ġ{ ĊĠĠĠĠĠĠĠĠĠĠ Ġval ĠDB _ NAME Ġ= Ġ" Lib ros " ĊĠĠĠĠĠĠĠĠĠĠ Ġval ĠTABLE _ NAME Ġ= Ġ" auto " ĊĠĠĠĠĠĠĠĠĠĠ Ġval ĠCH AS IS Ġ= Ġ" ch asis " ĊĠĠĠĠĠĠĠĠĠĠ Ġval ĠNO MB RE _ MAR CA Ġ= Ġ" nombre " ĊĠĠĠĠĠĠĠĠĠĠ Ġval ĠCOLOR _ UN O Ġ= Ġ" color Uno " ĊĠĠĠĠĠĠĠĠĠĠ Ġval ĠCOLOR _ DOS Ġ= Ġ" color Dos " ĊĠĠĠĠĠĠĠĠĠĠ Ġval ĠNO MB RE _ MODE LO Ġ= Ġ" nombre Mode lo " ĊĠĠĠĠĠĠĠĠĠĠ Ġval ĠAN IO Ġ= Ġ" an io " ĊĠĠĠĠĠĠĠĠĠĠ Ġval ĠID _ CON DUCT OR Ġ= Ġ" id Con duct or " ĊĠĠĠĠĠĠ Ġ} ĊĠĠ Ġ} ĊĊĠĠ Ġclass ĠDB Auto Handler Ap lic acion ( context : ĠContext ) Ġ: ĠSQLite Open Helper ( context , ĠData Base Auto . DB _ NAME , Ġnull , Ġ 1 ) Ġ{ ĊĊĠĠĠĠĠĠ Ġoverride Ġfun ĠonCreate ( db : ĠSQLite Database ?) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠ Ġval Ġcreate Table SQL Ġ= Ġ" CREATE ĠTABLE Ġ${ Data Base Auto . TABLE _ NAME } Ġ(${ Data Base Auto . CH AS IS } ĠINTEGER ĠPRIMARY ĠKEY , Ġ${ Data Base Auto . NO MB RE _ MAR CA } ĠVARCHAR ( 5 0 ), ${ Data Base Auto . COLOR _ UN O } ĠVARCHAR ( 5 0 ), ${ Data Base Auto . COLOR _ DOS } ĠVARCHAR ( 5 0 ), Ġ${ Data Base Auto . NO MB RE _ MODE LO } ĠVARCHAR ( 2 0 ), Ġ${ Data Base Auto . AN IO } ĠVARCHAR ( 2 0 ), Ġ Ġ${ Data Base Auto . ID _ CON DUCT OR } ĠINTEGER )" ĊĠĠĠĠĠĠĠĠĠĠ Ġdb ?. exec SQL ( createTable SQL ) ĊĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠ Ġoverride Ġfun Ġon Upgrade ( db : ĠSQLite Database ?, Ġold Version : ĠInt , Ġnew Version : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠ ĠTODO (" not Ġimplemented ") Ġ// To Ġchange Ġbody Ġof Ġcreated Ġfunctions Ġuse ĠFile Ġ| ĠSettings Ġ| ĠFile ĠTemplates . ĊĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠ Ġfun Ġinsert ar Auto ( auto : ĠAut oc ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠ Ġval Ġdb Write able Ġ= Ġwritable Database ĊĠĠĠĠĠĠĠĠĠĠ Ġval Ġcv Ġ= ĠContent Values () ĊĊĠĠĠĠĠĠĠĠĠĠ Ġcv . put ( Data Base Auto . CH AS IS , Ġauto . ch asis ) ĊĠĠĠĠĠĠĠĠĠĠ Ġcv . put ( Data Base Auto . NO MB RE _ MAR CA , Ġauto . nombre ) ĊĠĠĠĠĠĠĠĠĠĠ Ġcv . put ( Data Base Auto . COLOR _ UN O , Ġauto . color Uno ) ĊĠĠĠĠĠĠĠĠĠĠ Ġcv . put ( Data Base Auto . COLOR _ DOS , Ġauto . color Dos ) ĊĠĠĠĠĠĠĠĠĠĠ Ġcv . put ( Data Base Auto . NO MB RE _ MODE LO , Ġauto . nombre Mode lo ) ĊĠĠĠĠĠĠĠĠĠĠ Ġcv . put ( Data Base Auto . AN IO , Ġauto . an io ) ĊĠĠĠĠĠĠĠĠĠĠ Ġcv . put ( Data Base Auto . ID _ CON DUCT OR , Ġauto . id Con duct or ) ĊĊĠĠĠĠĠĠĠĠĠĠ Ġval Ġresultado Ġ= Ġdb Write able . insert ( Data Base Auto . TABLE _ NAME , Ġnull , Ġcv ) ĊĊĠĠĠĠĠĠĠĠĠĠ ĠLog . i (" database ", Ġ" Si Ġes Ġ- 1 Ġhub o Ġerror , Ġs ino Ġexit o : ĠResp uesta : Ġ$ resultado ") ĊĊĠĠĠĠĠĠĠĠĠĠ Ġdb Write able . close () ĊĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠ Ġfun Ġupdate Auto ( auto : ĠAut oc ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠ Ġval Ġdb Write able Ġ= Ġwritable Database ĊĠĠĠĠĠĠĠĠĠĠ Ġval Ġcv Ġ= ĠContent Values () ĊĊĠĠĠĠĠĠĠĠĠĠ Ġcv . put ( Data Base Auto . CH AS IS , Ġauto . ch asis ) ĊĠĠĠĠĠĠĠĠĠĠ Ġcv . put ( Data Base Auto . NO MB RE _ MAR CA , Ġauto . nombre ) ĊĠĠĠĠĠĠĠĠĠĠ Ġcv . put ( Data Base Auto . COLOR _ UN O , Ġauto . color Uno ) ĊĠĠĠĠĠĠĠĠĠĠ Ġcv . put ( Data Base Auto . COLOR _ DOS , Ġauto . color Dos ) ĊĠĠĠĠĠĠĠĠĠĠ Ġcv . put ( Data Base Auto . NO MB RE _ MODE LO , Ġauto . nombre Mode lo ) ĊĠĠĠĠĠĠĠĠĠĠ Ġcv . put ( Data Base Auto . AN IO , Ġauto . an io ) ĊĠĠĠĠĠĠĠĠĠĠ Ġcv . put ( Data Base Auto . ID _ CON DUCT OR , Ġauto . id Con duct or ) ĊĊĠĠĠĠĠĠĠĠĠĠ Ġval Ġwhere Clause Ġ= Ġ"${ Data Base Auto . CH AS IS } Ġ= Ġ${ auto . ch asis }" ĊĠĠĠĠĠĠĠĠĠĠ Ġval Ġresultado Ġ= Ġdb Write able . update ( Data Base Auto . TABLE _ NAME , Ġcv , Ġwhere Clause , Ġnull ) ĊĊĠĠĠĠĠĠĠĠĠĠ ĠLog . i (" database ", Ġ" Si Ġes Ġ- 1 Ġhub o Ġerror , Ġs ino Ġexit o : ĠResp uesta : Ġ$ resultado ") ĊĊĠĠĠĠĠĠĠĠĠĠ Ġdb Write able . close () ĊĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠ Ġfun Ġdelete Auto ( ic bn : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠ Ġval Ġdb Write able Ġ= Ġwritable Database ĊĠĠĠĠĠĠĠĠĠĠ Ġval Ġwhere Clause Ġ= Ġ"${ Data Base Auto . CH AS IS } Ġ= Ġ$ ic bn " ĊĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġdb Write able . delete ( Data Base Auto . TABLE _ NAME , Ġwhere Clause , Ġnull ) Ġ> Ġ 0 ĊĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠ Ġfun Ġget Aut os List ( id Auto : ĠInt ): ĠArrayList < Aut oc > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠ Ġvar Ġlista Ġ= ĠArrayList < Aut oc >() ĊĠĠĠĠĠĠĠĠĠĠ Ġval Ġdb Readable Ġ= Ġreadable Database ĊĠĠĠĠĠĠĠĠĠĠ Ġval Ġquery Ġ= Ġ" SELECT Ġ* ĠFROM Ġ${ Data Base Auto . TABLE _ NAME }" ĊĠĠĠĠĠĠĠĠĠĠ Ġval Ġresultado Ġ= Ġdb Readable . raw Query ( query , Ġnull ) ĊĊĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( resultado . moveTo First ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdo Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġch asis Ġ= Ġresultado . getString ( 0 ). toInt () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnombre Ġ= Ġresultado . getString ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcolor Uno Ġ= Ġresultado . getString ( 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcolor Dos Ġ= Ġresultado . getString ( 3 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnombre Mode lo Ġ= Ġresultado . getString ( 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġan io Ġ= Ġresultado . getString ( 5 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġid Con duct or Ġ= Ġresultado . getString ( 6 ). toInt () Ċ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlista . add ( Aut oc ( ch asis , Ġnombre , Ġcolor Uno , Ġcolor Dos , Ġnombre Mode lo , Ġan io , Ġid Con duct or )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġwhile Ġ( resultado . moveTo Next ()) ĊĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠ Ġresultado . close () ĊĠĠĠĠĠĠĠĠĠĠ Ġdb Readable . close () ĊĊĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġlista ĊĠĠĠĠĠĠ Ġ} ĊĠĠ Ġ*/ ĊĊ Ċ } Ċ