A seconda della versione dell'app devo usare un db SQLite oppure un db SQLiteCipher.
L'ideale, ma temo impossibile da realizzare, sarebbe un codice del tipo
Il tutto - attenzione - inserito in Process_Globals (la variabile db deve essere globale).
Poi, all'interno dell'app, posso facilmente scrivere :
Da qui in poi il codice sarebbe uguale sia per il db non cifrato che per quello cifrato, con grandissima semplificazione del codice da scrivere.
In alternativa sarei costretto a scrivere in Process_Globals
con un significativa e rilevante complicazione - qui non evidente - della scrittura del codice.
L'ideale, ma temo impossibile da realizzare, sarebbe un codice del tipo
B4X:
Dim Versione as string="1" ' fra qualche tempo cambierò in "2"
If Versione=1 then
dim db as SQL
else
dim db as SQLCipher
end if
Poi, all'interno dell'app, posso facilmente scrivere :
B4X:
If Versione=1 then
db.Initialize (File.DirRootExternal,NomeFileNonCifrato,False)
else
db.Initialize (File.DirRootExternal,NomeFileCifrato,False,Psw,"")
end if
In alternativa sarei costretto a scrivere in Process_Globals
B4X:
dim db as SQL
dim dbC as SQLCipher