Italian database

diresc

Member
Licensed User
Longtime User
Ciao a tutti

inizio a lavorare con un database .db lo sto scrivendo con
SQLite Expert Professional version 3.3.0 il software è gratuito.
creo le mie tabelle e i miei campi.
Salvo il database con estensione.db nella cartella "files" del mio progetto
Mando in Run l'applicazione
se non ho capito male con questre stringhe:

If File.Exists(File.DirInternal,"datiprotox.db") = False Then
File.Copy(File.DirAssets,"datiprotox.db",File.DirInternal,"datiprotox.db")
End If

If SQL.IsInitialized = False Then
SQL.Initialize(File.DirInternal, "datiprotox.db", False)
End If

Copio il database che si trova nella cartella Files in Dirinternal del telefono
perchè il telefono non ha una sd di memoria.

Vorrei sapere se quando creo l'apk verrà incluso anche il database?
e Dirinternal="sta a" dove viene salvato il database ?
ho provato a cercarlo nel telefonino non riesco
a trovarlo da nessuna parte e se uso android sdk virtual dove lo trovo?

Grazie mille per qualunque risposta
diresc
 
Last edited:

giannimaione

Well-Known Member
Licensed User
Longtime User
ciao diresc,

come primo modesto consiglio , ti suggerisco di imparare la sintassi (istruzioni) SQL.
Avrai la possibilita' di creare "al volo" un DB direttamente da codice. Inoltre esiste il modulo DBUtils.... ma per il momento cerca di comprendere SQL.

"creare un DB esterno" per poi copiarlo nell'applicazione !!!???
Va bene, ma solo se nel DB devone essere presenti i dati (esempio ... citta' e comuni italiani, oppure le formazioni delle squadre di calcio, ecc.),
altrimenti se il DB deve essere inizialmente "vuoto" , ti conviene farlo creare direttamente dalla app.

Nel forum italiano c'e' un mio piccolo programma che legge i contatti della rubrica telefonica (account google) e li memorizza/scrivi in un DB sqllite.
ecco il link http://www.b4x.com/forum/attachments/italian-forum/12090d1338619049-apk-con-database-esempiodb.zip
ciao,
 
Last edited:

diresc

Member
Licensed User
Longtime User
Ciao ho provato il Database esempio
da errore in queste stringhe

Dim Contatti As Contacts2
Lista=Contatti.GetAll (True,False)


Grazie per l'aiuto , però siccome il database ha delle parti piene di dati
dove verranno modificati e aggiunti dei nuovi non posso popolarlo da codice.
ci sono parecchi dati che il cliente non deve aggiungere.

La domanda era:
If File.Exists(File.DirInternal,"datiprotox.db") = False Then
File.Copy(File.DirAssets,"datiprotox.db",File.DirI nternal,"datiprotox.db")
End If

con questi comando se non trova nella direttori interna del telefonino il file datiprotox.db
copia datiprotox.db dall'apk alla direttori interna del telefonino è giusto quello che dico?

una cosa non capisco "come tante altre" dove viene copiato il file datiprotox.db in che direttori del telefonino?

Come grazie per l'aiuto
Diresc
 

giannimaione

Well-Known Member
Licensed User
Longtime User
La domanda era:
If File.Exists(File.DirInternal,"datiprotox.db") = False Then
File.Copy(File.DirAssets,"datiprotox.db",File.DirI nternal,"datiprotox.db")
End If

con questi comando se non trova nella direttori interna del telefonino il file datiprotox.db
copia datiprotox.db dall'apk alla direttori interna del telefonino è giusto quello che dico?
Diresc
si e' giusto.
Erel dice:
File.DirInternal / File.DirInternalCache
Queste due cartelle sono memorizzati nella memoria principale e sono riservate ​​alla vostra applicazione. Altre applicazioni non possono accedere a questi file.
La cartella cache può essere eliminata dal sistema operativo, se ha bisogno di più spazio.

File.DirDefaultExternal
La cartella predefinita per l'applicazione sulla scheda SD.
La cartella è: Card> <Storage / Android / data / <nomeApplicazione> / files /
Essa verrà creato se necessario.

File.DirRootExternal
La cartella principale della scheda di memoria.

prova il seguente codice (sul telefono)
B4X:
DIM A AS STRING

A=FILE.DIRINTERNAL
MSGBOX(A,"DIRINTERNAL")

A=FILE.DIRROOTEXTERNAL
MSGBOX(A,"DIRROOTEXTERNAL")

A=FILE.DIRDEFAULTEXTERNAL
MSGBOX(A,"DIRDEFAULTEXTERNAL")

in ogni caso il telefono ha molte cartelle/directory, e puoi crearne anche delle altre a seconda delle tue esigenze.

esempio
dim TuaCartella as String
TuaCartella="\card\pippo\pluto\paperino\"
If File.Exists(File.DirInternal,"datiprotox.db") = False Then
File.Copy(File.DirAssets,"datiprotox.db",TuaCartella,"datiprotox.db")
End If
in questo caso il file "datiprotox.db" viene copiato (se non esiste) nella cartella che hai creato.
 
Top