2016-09-13 3 views
4

Je développe une application pour notre client et il y a un peu de fonctionnalités où nous sommes coincés, donc besoin de votre aide,Autoriser l'utilisateur à Sélectionnez le chemin pour Enregistrer le fichier dans Android

scenarion: Nous avons mis au point un recyclage vue, d'où les utilisateurs peuvent voir la liste des images et des chansons et des vidéos selon la catégorie, maintenant l'utilisateur a une option pour voir ou écouter des images, audio ou vidéo, et il y a aussi une autre option pour le télécharger. Nous avons fait cela avec un chemin statique où l'utilisateur peut enregistrer tous les fichiers, mais notre client veut permettre aux utilisateurs de sélectionner le chemin pour enregistrer les fichiers et pour cela nous avons besoin de dialogue de fichier à partir de laquelle l'utilisateur peut sélectionner l'emplacement .

Note: Guys Notez que pour un chemin statique que nous avons fait cela et il fonctionne superbe, aussi nous stockons cette voie dans la base de données locale afin que nous puissions l'utiliser plus tard, maintenant juste RESTANT comment pouvons-nous permettre à l'utilisateur de sélectionner l'emplacement pour enregistrer le fichier?

+1

Releted Poster - http://stackoverflow.com/questions/7856959/andro id-file-chooser – kujeensiti

+0

J'ai déjà vérifié cela, mais il est sélecteur de fichier pas sélecteur de lieu, je ne dois pas sélectionner le fichier, je dois sélectionner l'emplacement où le fichier peut être stocker – Vickyexpert

+0

Bonne question. Selon mes connaissances, vous devez rechercher la liste des dossiers sur un stockage particulier (interne/externe). Ensuite, lors de la sélection de ce dossier, vous devez à nouveau lister les dossiers. Tu peux faire comme ça. J'ai trouvé un exemple pour vous mais je ne suis pas sûr que cela fonctionnera ou non. http://developer.samsung.com/technical-doc/view.do;jsessionid=8881C1BE25C54CBA8427A185E0E4DBF3?v=T000000089 –

Répondre

7

Je pense que Android DirectoryChooser est de vous aider à choisir le répertoire pour enregistrer le fichier.

Manifest

Vous devez déclarer la DirectoryChooserActivity et de demander l'autorisation android.permission.WRITE_EXTERNAL_STORAGE.

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
... 
<application> 
    <activity android:name="net.rdrei.android.dirchooser.DirectoryChooserActivity" /> 
</application> 

Activité

Pour choisir un répertoire, lancez l'activité de votre logique d'application:

final Intent chooserIntent = new Intent(this, DirectoryChooserActivity.class); 

    final DirectoryChooserConfig config = DirectoryChooserConfig.builder() 
      .newDirectoryName("DirChooserSample") 
      .allowReadOnlyDirectory(true) 
      .allowNewDirectoryNameModification(true) 
      .build(); 

    chooserIntent.putExtra(DirectoryChooserActivity.EXTRA_CONFIG, config); 

// REQUEST_DIRECTORY is a constant integer to identify the request, e.g. 0 
startActivityForResult(chooserIntent, REQUEST_DIRECTORY); 

Manipulez le résultat dans votre méthode onActivityResult:

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 

    if (requestCode == REQUEST_DIRECTORY) { 
     if (resultCode == DirectoryChooserActivity.RESULT_CODE_DIR_SELECTED) { 
      handleDirectoryChoice(data 
       .getStringExtra(DirectoryChooserActivity.RESULT_SELECTED_DIR)); 
     } else { 
      // Nothing selected 
     } 
    } 
} 
+0

Bon à savoir. Cela m'aidera aussi. Merci pour le partage –

+0

Merci pour l'aide, il m'a fallu apporter quelques modifications au besoin mais cela fonctionne alors ... – Vickyexpert