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 :

Java/Android récupérer une date dans un JSON


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Développeur Logiciel
    Inscrit en
    Décembre 2015
    Messages
    230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

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

    Informations forums :
    Inscription : Décembre 2015
    Messages : 230
    Par défaut Java/Android récupérer une date dans un JSON
    Bonjour,

    Comment récupère-t-on une date dans un JSON en Java ?

    Merci d'avance pour vos réponses.

  2. #2
    Membre chevronné

    Homme Profil pro
    Développeur mobile iOS / Android
    Inscrit en
    Décembre 2008
    Messages
    259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur mobile iOS / Android
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 259
    Par défaut
    Bonjour,

    La question est un peu vague, Il existe plusieurs manière : il se peut que la date soit au format timestamp (entier long) dans ce cas tu peux faire exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    long dateTimeStamp = jsonObject.getLong(clef_json_de_la_date);
    Date date = new Date(dateTimeStamp);
    Ou bien c'est au format String dans ce cas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String  dateString = jsonObject.getString(clef_json_de_la_date);
    Puis si tu souhaites l'avoir au format Date il faudra le convertir du String au Date.

    Jettes un oeil sur Joda Time qui te facilitera la manipulation des dates

    Bon courage
    « Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell

    N'oubliez pas de consulter les FAQ Swift, Android
    Tutoriel : Développer une application multilingue sous iOS

  3. #3
    Membre très actif
    Homme Profil pro
    Développeur Logiciel
    Inscrit en
    Décembre 2015
    Messages
    230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

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

    Informations forums :
    Inscription : Décembre 2015
    Messages : 230
    Par défaut
    Bonjour Seelass,

    Merci pour ta réponse et bonne année à toi!

    En vérité j'ai cette API (je l'affiche en pretty_print) qui me retourne une liste de Musee en JSON : https://opendata.paris.fr/api/record...tty_print=true

    Et je dois affiché les données de cette API dans un tableau dans une vue.
    Je te montre mon code.

    J'ai donc une classe musée qui récupère tous mes champs:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
     
    import android.app.ListActivity;
    import android.os.Parcel;
    import android.os.Parcelable;
    import android.widget.AdapterView;
     
    import java.text.SimpleDateFormat;
    import java.util.ArrayList;
    import java.util.Date;
     
     
    public class Musee implements Parcelable {
     
        //@Test
        //public ArrayList<Musee> musees = new ArrayList<Musee>();
     
        private String datasetid;
        private String recordid;
        private String fields;
        private String periode_ouverture;
        private String nom_du_musee;
        private String adr;
        private String ville;
        private String nomreg;
        private String ferme;
        private double coordonnees_[];
        private int cp;
        private String nomdep;
        private String type;
        private double coordinates[];
        private Date record_timestamp;
     
     
        //On appel le constructeur de notre class dans le main pour afficher la liste des musées?
        //Mes constructeurs
     
        public Musee(String datasetid, String recordid, String fields, String periode_ouverture, String nom_du_musee, String adr, String ville, String nomreg, String ferme, double coordonnees_[], int cp, String nomdep, String type, double coordinates[], Date record_timestamp) {
            this.datasetid = datasetid;
            this.recordid = recordid;
            this.fields = fields;
            this.periode_ouverture = periode_ouverture;
            this.nom_du_musee = nom_du_musee;
            this.adr = adr;
            this.ville = ville;
            this.nomreg = nomreg;
            this.ferme = ferme;
            this.coordonnees_ = coordonnees_;
            this.cp = cp;
            this.nomdep = nomdep;
            this.type = type;
            this.coordinates = coordinates;
            this.record_timestamp = record_timestamp;
        }
     
        //Surcharge du constructeur Musee
     
        public Musee(Parcel in) {
            this.datasetid = datasetid;
            this.recordid = recordid;
            this.fields = fields;
            this.periode_ouverture = periode_ouverture;
            this.nom_du_musee = nom_du_musee;
            this.adr = adr;
            this.ville = ville;
            this.nomreg = nomreg;
            this.ferme = ferme;
            this.coordonnees_ = coordonnees_;
            this.cp = cp;
            this.nomdep = nomdep;
            this.type = type;
            this.coordinates = coordinates;
            this.record_timestamp = record_timestamp;
        }
     
        public static final Creator<Musee> CREATOR = new Creator<Musee>() {
            @Override
            public Musee createFromParcel(Parcel in) {
                return new Musee(in);
            }
     
            @Override
            public Musee[] newArray(int size) {
                return new Musee[size];
            }
        };
     
        //On appel la methode getMusee() pour récupérer les musées que nous renvoie l'api JSON
        //Mes accesseurs getter + setter
        public String getDataSetid() {
            return this.datasetid;
        }
     
        public String getRecordid() {
            return this.recordid;
        }
     
        public String getfields() {
            return this.fields;
        }
     
        public String getPeriode_ouverture() {
            return this.periode_ouverture;
        }
     
        public String getNom_du_musee() {
            return this.nom_du_musee;
        }
     
        public String getAdresse() {
            return this.adr = adr;
        }
     
        public String getVille() {
            return this.ville = ville;
        }
     
        public String getNomReg() {
            return this.nomreg = nomreg;
        }
     
        public String getFermer() {
            return this.ferme = ferme;
        }
     
        public double[] getCoordonnees() {
            return this.coordonnees_ = coordonnees_; //erreur ici
        }
     
        public int getCP() {
            return this.cp = cp;
        }
     
        public String getNomDep() {
            return this.nomdep = nomdep;
        }
     
        public String getType() {
            return this.type = type;
        }
     
        public double[] getCoordinates() {
            return this.coordinates = coordinates; //erreur ici
        }
     
        public Date getTime() {
            return this.record_timestamp;
        }
     
        public void setDataSetid(String datasetid) {
            this.datasetid = datasetid;
        }
     
        public void setRecordid(String recordid) {
            this.recordid = recordid;
        }
     
        public void setFields(String fields) {
            this.fields = fields;
        }
     
        public void setPeriode_ouverture(String periode_ouverture) {
            this.periode_ouverture = periode_ouverture;
        }
     
        public void setNom_du_musee(String nom_du_musee) {
            this.nom_du_musee = nom_du_musee;
        }
     
        public void setAdresse(String adr) {
            this.adr = adr;
        }
     
        public void setVille(String ville) {
            this.ville = ville;
        }
     
        public void setReg(String nomreg) {
            this.nomreg = nomreg;
        }
     
        public void setFerme(String ferme) {
            this.ferme = ferme;
        }
     
        public void setCoordonnes(double coordonnees_[]) {
            this.coordonnees_ = coordonnees_;
        }
     
        public void setCP(int cp) {
            this.cp = cp;
        }
     
        public void setCP(String nomdep) {
            this.nomdep = nomdep;
        }
     
        public void setType(String type) {
            this.type = type;
        }
     
        public void setCoordinates(double coordinates[]) {
            this.coordinates = coordinates;
        }
     
        public void setTime(Date record_timestamp) {
            this.record_timestamp = record_timestamp;
        }
     
        @Override
        public int describeContents() { return 0; }
     
        @Override
        public void writeToParcel(Parcel dest, int flags) {
            dest.writeString(this.datasetid);
            dest.writeString(this.recordid);
            dest.writeString(this.fields);
            dest.writeString(this.periode_ouverture);
            dest.writeString(this.nom_du_musee);
            dest.writeString(this.adr = adr);
            dest.writeString(this.ville = ville);
            dest.writeString(this.nomreg = nomreg);
            dest.writeString(this.ferme = ferme);
            dest.writeFloat(this.coordonnees_ = coordonnees_[]); //erreur ici
            dest.writeInt(this.cp = cp);
            dest.writeString(this.nomdep = nomdep);
            dest.writeString(this.type = type);
            dest.writeFloat(this.coordinates = coordinates[]); //erreur ici
            dest.writeString(String.valueOf(this.type = type));
        }
     
        @SuppressWarnings("rawtypes")
        private static final class CreatorImplementation implements Parcelable.Creator {
            public Musee createFromParcel(Parcel in) {
                return new Musee(in);
            }
     
            @Override
            public Object[] newArray(int size) {
                // TODO Auto-generated method stub
                return null;
            }
        }
     
    }
    Une class MuseeAdapter pour faire passer mes données une fois parser, vers ma vue:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
     
    import android.content.Context;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.ArrayAdapter;
    import android.widget.TextView;
     
    public class MuseeAdapter extends ArrayAdapter<Musee> {
     
        private int myItemLayout;
        private LayoutInflater li;
     
        public MuseeAdapter(Context context, int resourceId) {
            super(context, resourceId);
            this.myItemLayout = resourceId;
            this.li = LayoutInflater.from(context);
        }
     
        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
     
            View view = convertView;
     
            if (view == null)
            {
                view = this.li.inflate(this.myItemLayout, null);
            }
     
            Musee f = this.getItem(position);
            if(f != null)
            {
     
                TextView tv0 = (TextView)view.findViewById(R.id.datasetid);
                tv0.setText(String.valueOf(f.getDataSetid()));
     
                TextView tv1 = (TextView)view.findViewById(R.id.recordid);
                tv1.setText(String.valueOf(f.getRecordid()));
     
                TextView tv2 = (TextView)view.findViewById(R.id.fields);
                tv2.setText(String.valueOf(f.getfields()));
     
                TextView tv3 = (TextView)view.findViewById(R.id.periode_ouverture);
                tv3.setText(String.valueOf(f.getPeriode_ouverture()));
     
                TextView tv4 = (TextView)view.findViewById(R.id.nom_du_musee);
                tv4.setText(String.valueOf(f.getNom_du_musee()));
     
                TextView tv5 = (TextView)view.findViewById(R.id.adresse);
                tv5.setText(String.valueOf(f.getAdresse()));
     
                TextView tv6 = (TextView)view.findViewById(R.id.ville);
                tv6.setText(String.valueOf(f.getVille()));
     
                TextView tv7 = (TextView)view.findViewById(R.id.nomreg);
                tv7.setText(String.valueOf(f.getNomReg()));
     
                TextView tv8 = (TextView)view.findViewById(R.id.fermer);
                tv8.setText(String.valueOf(f.getFermer()));
     
                TextView tv9 = (TextView)view.findViewById(R.id.coordonnees);
                tv8.setText(String.valueOf(f.getCoordonnees()));
     
                TextView tv10 = (TextView)view.findViewById(R.id.cp);
                tv9.setText(String.valueOf(f.getCP()));
     
                TextView tv11 = (TextView)view.findViewById(R.id.nomdepartement);
                tv11.setText(String.valueOf(f.getNomDep()));
     
                TextView tv12 = (TextView)view.findViewById(R.id.type);
                tv12.setText(String.valueOf(f.getType()));
     
                TextView tv13 = (TextView)view.findViewById(R.id.coordinates);
                tv13.setText(String.valueOf(f.getCoordinates()));
     
                TextView tv14 = (TextView)view.findViewById(R.id.record_timestamp);
                tv14.setText(String.valueOf(f.getTime()));
            }
            return view;
        }
     
    }
    Et enfin mon Activity qui se nomme MuseeActivity:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
     
    import android.app.ListActivity;
    import android.app.ProgressDialog;
    import android.os.AsyncTask;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.View;
    import android.widget.AdapterView;
    import android.widget.AdapterView.OnItemClickListener;
    import android.widget.Toast;
     
    import org.json.JSONArray;
    import org.json.JSONObject;
     
    import java.io.BufferedInputStream;
    import java.io.BufferedReader;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.net.HttpURLConnection;
    import java.net.URL;
    import java.text.SimpleDateFormat;
    import java.util.ArrayList;
     
     
    public class MuseeActivity extends ListActivity implements OnItemClickListener {
     
        private static final String BASE_URL = "https://opendata.paris.fr/api/records/1.0/search/?dataset=liste-musees-de-france-a-paris&rows=50";
     
     
        private final class DownloadMusee extends AsyncTask<String, Void, ArrayList<Musee>> {
     
            private HttpURLConnection urlConnection;
            private ProgressDialog progress;
     
            public DownloadMusee() {
                this.progress = new ProgressDialog(MuseeActivity.this);
            }
     
            @Override
            protected void onPreExecute() {
                progress.setTitle("Please wait");
                progress.setMessage("Fetching remote data...");
                progress.setProgressStyle(ProgressDialog.STYLE_SPINNER);
                progress.show();
            }
     
            @Override
            protected ArrayList<Musee> doInBackground(String... params) {
     
                ArrayList<Musee> fetchedData = new ArrayList<Musee>();
                String stream = null;
     
                try {
                    URL url = new URL(params[0]);
                    this.urlConnection = (HttpURLConnection) url.openConnection();
                    InputStream in = new BufferedInputStream(this.urlConnection.getInputStream());
                    BufferedReader r = new BufferedReader(new InputStreamReader(in, "UTF-8"));
                    StringBuilder sb = new StringBuilder();
                    String line;
                    while ((line = r.readLine()) != null) {
                        sb.append(line);
                    }
                    stream = sb.toString();
     
                    SimpleDateFormat record_timestamp = new SimpleDateFormat(Musee.getTime());
     
                    JSONArray concepts = new JSONObject(stream).getJSONArray("records");
                    for (int i = 0; i < concepts.length(); ++i) {
                        JSONObject record = concepts.getJSONObject(i);
                        fetchedData.add(new Musee(
                                record.getString("datasetid"),
                                record.getString("recordid"),
                                record.getString("fields"),
                                record.getString("periode_ouverture"),
                                record.getString("nom_du_musee"),
                                record.getString("adr"),
                                record.getString("ville"),
                                record.getString("nomreg"),
                                record.getString("ferme"),
                                record.getDouble("coordonnees_[]"),
                                record.getInt("cp"),
                                record.getString("nomdep"),
                                record.getString("type"),
                                record.getDouble("coordinates[]"),
                                record.getDate("record_timestamp") //erreur ici
     
                        ));
                    }
                } catch(Exception e) {
                    Log.e("genDROID","An error occured while fetching", e);
                } finally {
                    this.urlConnection.disconnect();
                }
                return fetchedData;
            }
     
            public double getFloat(
                    String key
            ) {};
     
            @Override
            protected void onPostExecute(ArrayList<Musee> result) {
     
                if(progress.isShowing()) progress.dismiss();
                MuseeActivity.this.populate(result);
            }
        }
     
        private MuseeAdapter adapter;
     
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
     
            this.adapter = new MuseeAdapter(this, android.R.layout.simple_list_item_1);
            this.setListAdapter(adapter);
            getListView().setOnItemClickListener(this);
     
        }
     
        @Override
        protected void onStart() {
            super.onStart();
            new DownloadMusee().execute(BASE_URL);
        }
     
        public void populate(ArrayList<Musee> data) {
            this.adapter.clear();
            this.adapter.addAll(data);
            this.adapter.notifyDataSetChanged();
        }
     
        @Override
        public void onItemClick(AdapterView<?> parent, View arg1, int position, long id) {
     
    		/* Uncomment if needed
    		Fruit currentFruit = this.adapter.getItem(position);
    		Intent goToNextScreen = new Intent(this, Elsewhere.class);
    		goToNextScreen.putExtra("selected", currentFruit);
    		this.startActivity(goToNextScreen);
    		*/
            Toast.makeText(this, "You selected item n° " + position, Toast.LENGTH_SHORT).show();
        }
    }
    J'ai actuellement du mal à récupérer le champ "record_timestamp" .
    As-tu une idée ?
    Merci d'avance pour ton aide.

  4. #4
    Membre chevronné

    Homme Profil pro
    Développeur mobile iOS / Android
    Inscrit en
    Décembre 2008
    Messages
    259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur mobile iOS / Android
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 259
    Par défaut
    Si j'ai compris la structure, record_timestamp se trouve dans les objets qui se trouvent dans le noeud records.

    Dans ton code juste essaie de changer cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    record.getDate("record_timestamp") //erreur ici
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    record.getString("record_timestamp")
    "record_timestamp": "2016-09-02T13:08:03+00:00" est au format String

    Bonne année également
    « Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell

    N'oubliez pas de consulter les FAQ Swift, Android
    Tutoriel : Développer une application multilingue sous iOS

  5. #5
    Membre très actif
    Homme Profil pro
    Développeur Logiciel
    Inscrit en
    Décembre 2015
    Messages
    230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

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

    Informations forums :
    Inscription : Décembre 2015
    Messages : 230
    Par défaut
    J'ai déjà essayer cette technique, le problème c'est que lorsque je fais ça, dans ma classe Musee, mon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public Date getTime() {
            return this.record_timestamp;
        }
    Attends un type "Date" alors qu'il retourne un String.
    J'ai essayé de clean et de rebuild mon projet.

    Et j'ai aussi des erreurs ici que je n'arrive pas à résoudre, il y a des moments je ne comprend pas d'où vient mon problème.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
        public void writeToParcel(Parcel dest, int flags) {
            dest.writeString(this.datasetid);
            dest.writeString(this.recordid);
            dest.writeString(this.fields);
            dest.writeString(this.periode_ouverture);
            dest.writeString(this.nom_du_musee);
            dest.writeString(this.adr = adr);
            dest.writeString(this.ville = ville);
            dest.writeString(this.nomreg = nomreg);
            dest.writeString(this.ferme = ferme);
            dest.writeFloat(this.coordonnees_ = coordonnees_[]); //erreur ici
            dest.writeInt(this.cp = cp);
            dest.writeString(this.nomdep = nomdep);
            dest.writeString(this.type = type);
            dest.writeFloat(this.coordinates = coordinates[]); //erreur ici
            dest.writeString(String.valueOf(this.type = type));
        }
    Pour cette parti le problème viens d'où j'ai mis un tableau [] après mes variables coordonnees_ et coordinates.
    Merci pour ta réponse

  6. #6
    Membre chevronné

    Homme Profil pro
    Développeur mobile iOS / Android
    Inscrit en
    Décembre 2008
    Messages
    259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur mobile iOS / Android
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 259
    Par défaut
    Dans ta classe Musee record_timestamp est de type Date donc il faut que tu convertisse avant ce que tu as récupéré dans le json en Date. Cette question est très similaire à ton cas. Espérant ça va t'aider.
    « Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell

    N'oubliez pas de consulter les FAQ Swift, Android
    Tutoriel : Développer une application multilingue sous iOS

Discussions similaires

  1. récupérer une date dans excel en double
    Par pbatty1 dans le forum C#
    Réponses: 0
    Dernier message: 17/02/2011, 16h51
  2. Récupérer une date dans une chaine
    Par GSASA dans le forum Langage
    Réponses: 2
    Dernier message: 08/03/2010, 07h14
  3. récupérer une date dans une chaîne
    Par mymeal dans le forum MFC
    Réponses: 16
    Dernier message: 29/10/2008, 20h37
  4. Récupérer une date dans une CString
    Par cjacquel dans le forum MFC
    Réponses: 1
    Dernier message: 05/09/2007, 17h07
  5. Réponses: 5
    Dernier message: 01/06/2006, 11h36

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