IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Variable incrémentiel "permanente"


Sujet :

Android

  1. #1
    Membre régulier
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2014
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2014
    Messages : 154
    Points : 87
    Points
    87
    Par défaut Variable incrémentiel "permanente"
    Bonjour a tous,

    j'ai une application qui a chaque utilisation créer un fichier avec un titre définie avec la date du jours et un nom que l'utilisateur défini dans la première activity, seulement voila si l'utilisateur utilise deux fois mon app le meme jours je me retrouve avec le fichier le plus récent qui supprimer le pus ancien.

    donc je cherche un moyen de pouvoir rajouter au nom de mon fichier une choses qui le rends unique, c'est pour cela que j'ai imaginer une variable qui sincèrement a chaque ouverture de mon App mais qui ne ce remet pas a 0 si l'on ferme complètement... est ce que cela est possible? ou alors un compteur du nombre de lancement de l'application...

    je n'ai pas besoins que ces chiffre sois suivie mais juste qu'il rendre unique chaque fichier créer..

    j’espère que j'ai bien expliquer ma demande, Merci d'avance pour vos réponses!

  2. #2
    Modérateur
    Avatar de MasterMbg
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 719
    Points : 1 493
    Points
    1 493
    Par défaut
    Salut,

    Tu peux soit ouvrir le fichier en lecture s'il existe déjà sur le disque (Le cas où l'utilisateur lance l'application pour la seconde fois le même jour) afin d'écrire à la suite de ce qui existe déjà dedans, soit ajouter au nom du fichier l'heure de sa création au format hh:mm:s (de préférence le nombre de milliseconde) au moment de sa création dans ce cas, aucun fichier n'écrasera l'autre car chacun aura un nom différent à chaque lancement.

    Code pour la deuxième possibilité :
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    private String nomDuFichier(String text) {
             Toast.makeText(MainActivity.this, "Nom fichier = " + nomFichier, Toast.LENGTH_SHORT).show();
             return text.concat("_".concat(String.valueOf(Calendar.getInstance().getTimeInMillis())));
    }

    Christian Djo,
    Plus tu apprends sérieusement, plus tu te rapproches d'un savoir noble. Une chose est certaine, les difficultés ne s'écarteront de ton chemin...

    Tu es nouveau dans le développement Android, la page des COURS est là pour te faciliter la vie
    Tu peux trouver la réponse à ta question dans la FAQ
    Retrouvez mon tutoriel sur la consommation des services web SOAP
    Pense à voter positivement en appuyant sur en bas à droite de la réponse qui t'a donné une piste de solution.

  3. #3
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Plusieurs solutions à ton problème :

    1- Vérifier avant d'écrire un nouveau fichier si le fichier existe.

    Si le fichier existe déjà tu incrémentes le nom , jusquà trouver un nom disponible.
    Tu te retrouvera donc avec des fichier du genre :
    20160930_monnom.ext
    20160930_monnom_2.ext
    etc ...

    2- Ajouter une notion de temps à ton fichier

    Au lieu de juste utiliser la date , utilise par exemple le temps en milliseconde :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    long time= System.currentTimeMillis();
    Tes fichier seront du type : 1475245841000_monnom.ext

    3- Utiliser un identifier unique
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String uniqueID = UUID.randomUUID().toString();
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    C'est justement là que le "createNewFile()" que tout le monde utilise à tors et à travers est utile:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    String myFileName = "......";
    File myDirectory = ....;
    int increment = 0;
     
    File f = new File(myDirectory,myFileName);
    while (!f.createNewFile()) 
       f = new File(myDirectory,myFileName + "_"+ Integer.toString(++increment));
     
    // ici "f" est un nouveau fichier !
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

Discussions similaires

  1. Réponses: 6
    Dernier message: 01/05/2009, 16h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo