Italian File.DirInternal e company - ma 'ndo stanno ?

amorosik

Expert
Licensed User
Sto leggendo con interesse questo post


ma non riesco a trovare una corrispondenza tra le varie directory logiche usate nel codice (File.DirAssets, File.DirInternal ...) ed una locazione fisica nella memoria Android quando la navigo con un qualsiasi file manager

In particolare:
- File.DirAssets dice 'wich is actually locate inside the apk file' significa che questa directory NON e' presente nella memoria del telefono (ma solo in fase di installazione quando viene letto l'apk) ?
- File.DirInternal/InternalCache dice 'private to your application, other application cannot access..' vuol dire che con un qualsiasi file manager non posso andare a curiosarci dentro e vedere cosa c'ha scritto la mia app ?
- File.DirRootExternal dice 'storage card root...' che immagino intenda la sd esterna, e se un telefono non ha sd inserita, questa proprieta' restituisce qualcos'altro oppure stringa vuota?
- File.DirDefaultExternal questa sembra l'unica ad essere utilizzabile per 'sbirciare' con un file manager eventuali file creati dalla mia app, sempre siano attivi i permessi EXTERNAL_STORAGE

Nell'esempio sottostante viene usato sempre il File.DirRootExternal e quindi funziona solo se presente una sd esterna, ma volendo far funzionare l'esempio anche su telefono senza sd inserita, cosa e' meglio usare (sempre nell'ipotesi di voler poi vedere i file prodotti con un file manager) ?

Per ultimo, potete consigliarmi un file manager che permetta di visualizzare TUTTA la memoria Android, compresi file sistema operativo e simili?
 

LucaMs

Expert
Licensed User
Longtime User
- File.DirAssets dice 'wich is actually locate inside the apk file' significa che questa directory NON e' presente nella memoria del telefono (ma solo in fase di installazione quando viene letto l'apk) ?
Esatto, faranno parte dell'apk.

- File.DirInternal/InternalCache dice 'private to your application, other application cannot access..' vuol dire che con un qualsiasi file manager non posso andare a curiosarci dentro e vedere cosa c'ha scritto la mia app ?
Esatto, non puoi leggerli usando dei file manager, li "vede" solo la tua app.


- File.DirRootExternal dice 'storage card root...' che immagino intenda la sd esterna, e se un telefono non ha sd inserita, questa proprieta' restituisce qualcos'altro oppure stringa vuota?
No, non è la sd esterna, è una zona di memoria anche questa. Teoricamente accessibile da qualunque app ed anche dai file manager; praticamente con le ultimissime versioni di Android ci sono problemi nello scrivere (ottenerne il permesso) anche in questa.

- File.DirDefaultExternal questa sembra l'unica ad essere utilizzabile per 'sbirciare' con un file manager eventuali file creati dalla mia app, sempre siano attivi i permessi EXTERNAL_STORAGE
Usa questo "metodo":
https://www.b4x.com/android/forum/t...ella-esterna-download-help.121448/post-759229
così potrai usare dei file manager per leggere i tuoi file.

Per ultimo, potete consigliarmi un file manager che permetta di visualizzare TUTTA la memoria Android, compresi file sistema operativo e simili?
Ci saranno app-file manager che lo consentono ma devi avere il dispositivo "rootato".
 

amorosik

Expert
Licensed User
Ci saranno app-file manager che lo consentono ma devi avere il dispositivo "rootato".


Ringrazio molto per le risposte
Si pensavo anch'io fosse necessario rootare il sistema operativo per 'vedere' qualcosa in piu'
Ma la stessa cosa era quando cercavo un'app per il reboot di Android, poi e' saltato fuori che queste app esistono e non necessitano di privilegi di root (oppure in qualche modo li acquisiscono da loro)
Magari c'e' qualcosa di simile pure tra i file manager, che si possa installare su smartphone nuovi di fabbrica, e che consentano di vedere anche gli anfratti nascosti
 

amorosik

Expert
Licensed User
No, non è la sd esterna, è una zona di memoria anche questa. Teoricamente accessibile da qualunque app ed anche dai file manager; praticamente con le ultimissime versioni di Android ci sono problemi nello scrivere (ottenerne il permesso) anche in questa.
Usa questo "metodo":
https://www.b4x.com/android/forum/t...ella-esterna-download-help.121448/post-759229
così potrai usare dei file manager per leggere i tuoi file.

Quando scrive 'storage card root...' non intende la sd esterna?
E allora per scrivere/leggere sulla sd esterna come fare?
 

Xfood

Expert
Licensed User
Comunque, in
Strorage/emulated/0/android/data
Piu il nome del tuo packager, trovi la cartella dove deposita i dati la tua app come dirinternal
 

Sagenut

Well-Known Member
Licensed User
Longtime User
Strorage/emulated/0/android/data
Questa che sappia io è la DirDefaultExternal.
Per puntare direttamente alla directory della tua app puoi usare la GetSafeDirDefaultExternal("") che non richiede nemmeno permessi dall'utente.
 

LucaMs

Expert
Licensed User
Longtime User
Non c'è modo di accedere, dall'esterno, alla DirInternal (se non con i permessi Root).
 
Top