Autore Topic: lettura file da sd esterna su dispositivi con sd "interna"  (Letto 296 volte)

Offline matpil

  • Nuovo arrivato
  • *
  • Post: 35
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Xiaomi Mi4c
  • Sistema operativo:
    Linux Mint 17.2 with Mate
lettura file da sd esterna su dispositivi con sd "interna"
« il: 04 Luglio 2014, 12:09:38 CEST »
0
Salve,
ho visto che la domanda appena posta da altri, ma senza risposta.

Sto sviluppando un'app per tablet e vorrei farla il più generale possibile in modo da farla funzionare su tutti (pretenzioso...)
Questa app, per aggiornarsi ha bisogno di 2 file che l'utente può copiare sull'sd esterna: inserendola nel dispositivo e selezionando dall'app la modalità "aggiorna" questi file verranno letti in automatico e caricati.

Il problema è che sull'emulatore funziona tutto perfettamente... il problema è che sui tablet che presentano sia una partizione sdcard "interna" che una sdcard "esterna" non riesco a recuperare il path corretto per accedere ai file.

qualcuno può darmi qualche dritta?

Sto usando SDK 18 con minVersion 15.

Grazie

--
matpil
App pubblicate sul Market :Ticket counter

Offline vincenzoc

  • Utente junior
  • **
  • Post: 148
  • Respect: +47
    • Google+
    • cerminarav
    • Mostra profilo
    • Mie applicazioni sul Play Store
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Vincenzo Cerminara
  • Sistema operativo:
    Arch Linux
Re:lettura file da sd esterna su dispositivi con sd "interna"
« Risposta #1 il: 05 Luglio 2014, 01:21:44 CEST »
0
Ciao matpil,
Il metodo getExternalStorageDirectory() fornisce la directory della memoria "esterna", da intendersi memoria interna quando non è possibile l'espansione. Ecco cosa riporta la documentazione ufficiale riguardo tale metodo:
Citazione
Note: don't be confused by the word "external" here. This directory can better be thought as media/shared storage. It is a filesystem that can hold a relatively large amount of data and that is shared across all applications (does not enforce permissions). Traditionally this is an SD card, but it may also be implemented as built-in storage in a device that is distinct from the protected internal storage and can be mounted as a filesystem on a computer.
Ringrazia chi ti aiuta sul forum con l'apposito pulsante :P
Scarica Yazzy

Offline matpil

  • Nuovo arrivato
  • *
  • Post: 35
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Xiaomi Mi4c
  • Sistema operativo:
    Linux Mint 17.2 with Mate
Re:lettura file da sd esterna su dispositivi con sd "interna"
« Risposta #2 il: 05 Luglio 2014, 10:15:11 CEST »
0
Ciao, grazie per la risposta ma questa era la cosa che sapevo già.
Il mio problema è accedere alla "memoria removibile"/ microsd esterna in modo generico senza specificare nel codice il path assoluto perché varia da dispositivo a dispositivo.

Qualcuno ha qualche idea a riguardo?

Grazie
App pubblicate sul Market :Ticket counter

Offline vincenzoc

  • Utente junior
  • **
  • Post: 148
  • Respect: +47
    • Google+
    • cerminarav
    • Mostra profilo
    • Mie applicazioni sul Play Store
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Vincenzo Cerminara
  • Sistema operativo:
    Arch Linux
Re:lettura file da sd esterna su dispositivi con sd "interna"
« Risposta #3 il: 05 Luglio 2014, 11:07:45 CEST »
0
Esattamente con quel metodo.
getExternalStorageDirectory() restituisce un oggetto File. Da questo puoi richiedere il path assoluto come segue:
Codice (Java): [Seleziona]
String path=Environment.getExternalStorageDirectory().getAbsolutePath();
Ringrazia chi ti aiuta sul forum con l'apposito pulsante :P
Scarica Yazzy

Offline matpil

  • Nuovo arrivato
  • *
  • Post: 35
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Xiaomi Mi4c
  • Sistema operativo:
    Linux Mint 17.2 with Mate
Re:lettura file da sd esterna su dispositivi con sd "interna"
« Risposta #4 il: 05 Luglio 2014, 11:31:29 CEST »
0
Si... Ma così non recuperi il path della memoria removibile ma quello della memoria interna montata come esterna (come spiegavi tu prima).
Fai un test su un galaxy qualunque e capirai :)
App pubblicate sul Market :Ticket counter

Offline vincenzoc

  • Utente junior
  • **
  • Post: 148
  • Respect: +47
    • Google+
    • cerminarav
    • Mostra profilo
    • Mie applicazioni sul Play Store
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Vincenzo Cerminara
  • Sistema operativo:
    Arch Linux
Re:lettura file da sd esterna su dispositivi con sd "interna"
« Risposta #5 il: 05 Luglio 2014, 11:54:36 CEST »
0
Quindi vuoi accedere esclusivamente alla memoria esterna?
Comunque prova con questo: Still good magic: Check external SD card on Android device
Ringrazia chi ti aiuta sul forum con l'apposito pulsante :P
Scarica Yazzy