Autore Topic: Ottenere nome immagine da uri  (Letto 396 volte)

Offline museitalyfan1

  • Nuovo arrivato
  • *
  • Post: 7
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    HTC One S
  • Sistema operativo:
    Mac OS X 10.7.5
Ottenere nome immagine da uri
« il: 07 Luglio 2013, 19:11:03 CEST »
0
Ciao a tutti, sto cercando di ottenere il nome di un immagine da un file uri ma, finora, l'unica cosa che ottengo e' una sequenza di numeri, c'e' qualcuno che puoi aiutarmi?
Vi posto il codice che ho implementato.
Grazie mille!
Codice (Java): [Seleziona]
Uri selectedImage = data.getData();

                        String[] segments = selectedImage.getPath().split("/");
                        String FileName = segments[segments.length-1];

                        String[] filePathColumn = { MediaStore.Images.Media.DATA };

                        Cursor cursor = getContentResolver().query(selectedImage,
                                        filePathColumn, null, null, null);
                        cursor.moveToFirst();

                        int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
                        String picturePath = cursor.getString(columnIndex);

                        Toast.makeText(getApplicationContext(), FileName, Toast.LENGTH_SHORT).show();

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Ottenere nome immagine da uri
« Risposta #1 il: 07 Luglio 2013, 19:19:43 CEST »
0
Qual'è la variabile che ti ritorna numeri invece che testo?
E cosa intendi per "numeri" ?
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline museitalyfan1

  • Nuovo arrivato
  • *
  • Post: 7
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    HTC One S
  • Sistema operativo:
    Mac OS X 10.7.5
Re:Ottenere nome immagine da uri
« Risposta #2 il: 07 Luglio 2013, 19:38:21 CEST »
0
Scusa, c'e' un piccolo errore nel codice, il codice corretto e' il seguente.
Nell'altro caso mi tornava un numero perche' la stringa  filename (che nel mio codice era tra due //) era definita come:
FileName = selectedImage.getLastPathSegment().toString();
In questo modo mi restituiva una sequenza di 5-6 numeri.
Con il codice che ho postato mi restituisce tutto il percorso del file, io vorrei solo il nome.
Grazie mille!
Codice (Java): [Seleziona]
Uri selectedImage = data.getData();

                        String[] segments = selectedImage.getPath().split("/");

                        String[] filePathColumn = { MediaStore.Images.Media.DATA };

                        Cursor cursor = getContentResolver().query(selectedImage,
                                        filePathColumn, null, null, null);
                        cursor.moveToFirst();

                        int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
                        String picturePath = cursor.getString(columnIndex);

                        Toast.makeText(getApplicationContext(), picturePath, Toast.LENGTH_SHORT).show();

Post unito: 07 Luglio 2013, 19:49:56 CEST
Ho appena risolto definendo una nuova variabile in questo modo
Grazie mille!
Codice (Java): [Seleziona]
String ind = new File(picturePath).getName();
« Ultima modifica: 07 Luglio 2013, 19:49:56 CEST da museitalyfan1, Reason: Merged DoublePost »