Italian Creare un a directory e copiare delle immagini

Giusy

Active Member
Licensed User
Salve,
Devo creare una directory, diciamo "Mydir", una subdirectory "Mysub" e copiare all'interno delle foto (01.jpg, 02.jpg......).
Tutto ciò dovrebbe già avvenire durante l'installazione (android)
Non so assolutamente come affrontare il tutto (è la prima volta).
Grazie!
 

LucaMs

Expert
Licensed User
Tutto ciò dovrebbe già avvenire durante l'installazione (android)
"Durante" l'installazione non è possibile. Puoi farlo all'avvio dell'app (posto migliore: il modulo di servizio Starter, nell'evento Service_Create).
Dove vuoi creare quelle directory? Ti suggerisco nella File.DirInternal (accessibile solo alla tua app).
B4X:
Sub Service_Create
    Dim mDir As String = File.Combine(File.DirInternal, "MyDir")
    
    If Not(File.Exists(mDir, "")) Then
        File.MakeDir(File.DirInternal, "MyDir/MySubDir")
    End If
End Sub
 

Giusy

Active Member
Licensed User
Bene LucaMs, ed il primo passo è fatto :)
Ma dove metto le immagini nella app?
 

LucaMs

Expert
Licensed User
Bene LucaMs, ed il primo passo è fatto :)
Ma dove metto le immagini nella app?
B4X:
Dim FullPath As String = File.Combine(File.DirInternal, "MyDir/MySubDir")
File.Copy(File.DirAssets, "NomeFile.png", FullPath, "NomeFile.png")
P.S.
L'esempio copia un file dalla DirAssets, perché hai scritto "copiare":
una subdirectory "Mysub" e copiare all'interno delle foto
ed è solo un esempio, per mostrare dove, non "da dove".
 

Giusy

Active Member
Licensed User
Perfetto, ma il file "NomeFile.png" dove lo aggiungo, mentre sto scrivendo il programma, in quale sezione devo indicare il nome della o delle foto.
Non è facile spiegarsi, spero che tu riesca ad entrare nella mia mente contorta ;)
 

LucaMs

Expert
Licensed User
Perfetto, ma il file "NomeFile.png" dove lo aggiungo, mentre sto scrivendo il programma, in quale sezione devo indicare il nome della o delle foto.
Non è facile spiegarsi, spero che tu riesca ad entrare nella mia mente contorta ;)
Purtroppo anche la mia è contorta ed in maniera diversa dalla tua, evidentemente 😄

Vorrà dire che per capirti andrò a rileggere gli ultimi tuoi post (che, grazie alla mia straordinaria memoria, ho già dimenticato) e che erano inerenti (download di file immagine? Mah), sperando così di capire meglio la tua ultima domanda, perché il nome del file immagine (di destinazione) lo crei tu e ovunque tu voglia.
 

LucaMs

Expert
Licensed User
Ecco, non era un download ma una scelta di immagini.

Se hai intenzione di usare il codice che ti avevo suggerito (ContentChooser) il nome del file lo ricevi nell'evento stesso:
B4X:
   Dim FullPath As String = File.Combine(File.DirInternal, "MyDir/MySubDir")

    Private CC As ContentChooser

    CC.Initialize("CC")
    CC.Show("image/*", "Choose image")
  
    Sub CC_Result (Success As Boolean, Dir As String, FileName As String)
        If Success Then
            ' File.Copy(Dir, FileName, File.DirInternal, FileName)
            File.Copy(Dir, FileName, FullPath, FileName)
        Else
            Log("Error")
        End If
    End Sub
 

Giusy

Active Member
Licensed User
Tutti e due LucaMs,
l'utilizzatore potrà a sua volta caricare delle immagini dalla galleria, ma in partenza ne fornirò io una parte. E le immagini che devono già essere fornite con la app non so dove vanno messe e come devo leggerle.
 

Giusy

Active Member
Licensed User
Cerco di spiegarmi meglio LucaMs
supponiamo che io voglia creare una app che ti insegna a fare le scarpe.
Ti fornisco un archivio di elementi( cuio, plastica....) un archivio con gli elementi da usare per creare la scarpa01, la scarpa02 e la scarpa03.
Carico anche le foto delle tre scarpe che otterrai.
Poiché diventerai un bravo creatore di scarpe potrai aggiungere i tuoi modelli e le tue foto.
Io non so dove devo mettere, mentre preparo la mia app, le foto scarpa01,scarpa02 e scarpa03 e come leggerle.
 

LucaMs

Expert
Licensed User
Io non so dove devo mettere, mentre preparo la mia app, le foto scarpa01,scarpa02 e scarpa03 e come leggerle.
A parte eventuali problemi di memoria (per cui dovresti salvare le immagini iniziali da qualche parte online e scaricarle a runtime, ovvero nell'app, all'avvio), devi metterle nel Tab Files, che corrisponde a File.DirAssets. Da qui volendo potresti poi copiarle nella tua directory "MyDir/MySub" ma probabilmente non ti conviene, sempre relativamente alla memoria.
Ti conviene distinguere tra queste, che fornisci tu con l'app (quindi mettendole nel Tab Files dell'IDE e per visualizzarle utilizzare File.DirAssets come "nome directory") e quelle aggiunte dall'utente, salvate come nell'esempio fatto.

Chiaro? Spero di sì :(
 
Top