Android: créer une chaîne unique pour le nom de fichier
Je suis en train de faire une application android pour la visionneuse d'images. Cette application permet de télécharger l'image, et de les stocker dans un dossier de cache.
Donc, dans le dossier cache, le nom de fichier d'image doit être unique. Actuellement, je utiliser des chaînes de caractères.hashCode() pour générer le nom de fichier.
Il d'autres façons d'obtenir de l'unique chaîne de caractères?
source d'informationauteur James
Vous devez vous connecter pour publier un commentaire.
Utilisation java.util.UUID. Regardez randomUUID qui génère un soi-disant Identificateur unique universel.
Je ne comprends pas vraiment comment vous avez l'intention de générer un “unique” de la valeur avec de la Ficelle.hashCode. Sur quelle chaîne appelez-vous hashCode? hashCode le but n'est pas de générer des Identifiants uniques... Il est destiné à générer un code de hachage pour une chaîne de caractères, donc si les chaînes elles-mêmes ne sont pas uniques, les codes de hachage ne sera pas non plus.
Utilisation java.util.UUID.
ChrisJ suggestion: utiliser l'UUID.randomUUID() est une bonne alternative; mais je préfère avoir le cache soutenue par une table de base de données:
et puis, à l'aide de la clé primaire comme nom de fichier dans le cache dir.
Si vous prévoyez d'avoir beaucoup de fichiers, d'avoir une arborescence de répertoires comme:
après la conversion de la clé primaire de hex pourrait également être une solution plus propre, mais vous aurez à décider d'une marge intérieure gauche pour les noms de fichiers, qui sera fonction de l'arborescence du répertoire de la profondeur et le nombre de fichiers par feuille répertoire.