Italian [B4A e B4I] Inserimento file in app di un file

Aldo's

Active Member
Licensed User
Devo caricare un file (è un db Sqlite) in una app, in particolare nella File.DirInternal.
La mia intenzione sarebbe quella di inserirlo nel Drive di Google, mandare il link all'utente e lui possa scaricare il file nella cartella.
Cosa mi conviene usare? FTP? Posso usarlo sul Drive di Google?
Qual'è la procedura per eseguire il recupero del file?
Grazie
 

Aldo's

Active Member
Licensed User
Penso di usare FTP (sto aspettando di avere accesso a quello di Altervista) e pensavo di usare questo codice:
B4X:
Private Sub bttDownload_Click
    Dim ftp As FTP
    Dim sServer As String = txtServer.As(EditText).Text
    Dim sLogin As String = txtLogin.As(EditText).Text
    Dim sPassword As String = txtPassword.As(EditText).Text
    ftp.Initialize("ftp",sServer, 21,sLogin,sPassword)
    Dim sNomeOrig As String = txtCodUtente.As(EditText).Text.Trim & ".db"
    Dim sf As Object = ftp.DownloadFile(sNomeOrig,True,DBDirName,DBFileName)
    Wait For (sf) ftp_DownloadCompleted (ServerPath As String, Success As Boolean)
    If Success Then
        Log("Download eseguito")
    Else
        Log("Errore nel download")
    End If   
End Sub

Può funzionare secondo voi? Io appena posso lo provo.
 

LucaMs

Expert
Licensed User
Longtime User
ftp.Initialize("ftp",sServer, 21,sLogin,sPassword)
Dopo l'inizializzazione (perché il nome sLogin e non sUserName?), potrebbe essere necessario:
ftp.PassiveMode = True

Dim sf As Object = ftp.DownloadFile(sNomeOrig,True,DBDirName,DBFileName)
sNomeOrig deve contenere il percorso completo del file sul server. Potrebbe essere tipo:
"www.miosito.com/UnaSottoCartella/NomeFile.db"


[Un suggerimento non necessario ma utile: crea una Sub alla quale passi quei parametri, anziché scrivere il codice nell'evento Click del Button ed usare i vari EditText.Text.
In questo modo la riutilizzerai - magari la Sub in una classe, meglio ancora - e controllerai l'input utente nel progetto (anziché usare nella sub quei Trim, ad esempio)]
 

Aldo's

Active Member
Licensed User
Premesso che sono riuscito a fare una prova e quello che avevo scritto funziona.
[Un suggerimento non necessario ma utile: crea una Sub alla quale passi quei parametri, anziché scrivere il codice nell'evento Click del Button ed usare i vari EditText.Text.
In questo modo la riutilizzerai - magari la Sub in una classe, meglio ancora - e controllerai l'input utente nel progetto (anziché usare nella sub quei Trim, ad esempio)]
seguirò il tuo suggerimento e creerò una Sub parametrizzata con i valori.
Nell'ottica della Sub inserirò: ftp.PassiveMode = True

sNomeOrig deve contenere il percorso completo del file sul server. Potrebbe essere tipo:
"www.miosito.com/UnaSottoCartella/NomeFile.db"
Da quello che ho capito credo sia sufficente: /UnaSottoCartella/NomeFile.db
Oggi faccio prove e ti dico.
Grazie
 
Top