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 :

Refresh une base de donnée sqlite


Sujet :

Android

  1. #1
    Membre habitué Avatar de awesomeman
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2015
    Messages : 166
    Points : 136
    Points
    136
    Par défaut Refresh une base de donnée sqlite
    Bonjour,

    Je m'exerce actuellement à sqlite sur android . Pour l'instant j'ai juste un petit soucis : je n'arrive pas à "refresh" les donnée de sqlite .
    Exemple j'ai un bouton ajouter et un affiché , lorsque j'ajoute trois champ et que je demande d'afficher , rien ne s'affiche je suis obligé de redémarrer l'app ..

    Si vous avez une idée , n'hésitez pas

    Thanks !

  2. #2
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Sans code, nulle aide possible
    Nos boules de cristal sont en pannes, il nous faudrait donc un peu de matière pour t'aider.
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  3. #3
    Membre habitué Avatar de awesomeman
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2015
    Messages : 166
    Points : 136
    Points
    136
    Par défaut
    désolé , voila le main :
    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
     protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            final Cursor res = database.getFICHE();
     
            name_i = (EditText) findViewById(R.id.name);
            first_i = (EditText) findViewById(R.id.first);
            age_i = (EditText) findViewById(R.id.age);
            add_it = (Button) findViewById(R.id.add_it);
     
            add_it.setOnClickListener(new View.OnClickListener() {
                                          @Override
                                          public void onClick(View arg0) {
                                              if (!TextUtils.isEmpty(name_i.getText().toString()) && !TextUtils.isEmpty(first_i.getText().toString())
                                                      && !TextUtils.isEmpty(age_i.getText().toString())) {
                                                  final String name = name_i.getText().toString();
                                                  final String first = first_i.getText().toString();
                                                  final int age = Integer.parseInt(age_i.getText().toString());
                                                  add_one(name, first, age);
                                              }
                                          }
            });
     
     
            rm();
            add();
            res(res);
    les méthodes utilisé :
    - res (affiche toute la BDD sous forme de log)

    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
     public void res(Cursor r) {
            final Cursor res = r;
            button = (Button) findViewById(R.id.res_b);
            button.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
     
                    if (res.moveToFirst())
                    {
                        do {
                            Log.d("test", 
                                    "id : " + res.getInt(res.getColumnIndex(DBHelper.CONT_COLUMN_ID)) + " , " +
                                            res.getString(res.getColumnIndex(DBHelper.NAME)) + " , " +
                                            res.getString(res.getColumnIndex(DBHelper.FIRST_NAME)) + " , " +
                                            res.getInt(res.getColumnIndex(DBHelper.AGE)) + " , " +
                                            res.getString(res.getColumnIndex(DBHelper.ADRESS))
                            );
                        }
                        while (res.moveToNext());
                    }
                }
            });
        }
    - add (ajoute un contact en dur )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     public void add() {
     
                button = (Button) findViewById(R.id.add_b);
                button.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
     
                        database.insertContact("andre", "young", "62 rue uskuchi", 60);
                    }
                });
        }
    - rm (supprime le contenu de la BDD)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     public void rm() {
            button = (Button) findViewById(R.id.delete_b);
            button.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
     
                    database.rm_all(database);
                }
            });
     
        }
    Il y a surement beaucoup de fautes de débutant n'hésitez pas à me les faire remarquer au passage

    Merci !

  4. #4
    Membre habitué Avatar de awesomeman
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2015
    Messages : 166
    Points : 136
    Points
    136
    Par défaut
    et voilà ma classe :

    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
    public class DBHelper extends SQLiteOpenHelper {
     
        public static final String DATABASE_NAME = "fiche";
        public static final String CONT_TABLE_NAME = "tablename";
        public static final String CONT_COLUMN_ID = "id";
        public static final String NAME = "name";
        public static final String FIRST_NAME = "first";
        public static final String AGE = "age";
        public static final String ADRESS = "address";
     
        private static DBHelper sInstance;
     
     
        public static final String CREATE_DB = "CREATE TABLE " + DATABASE_NAME + " (" +
                CONT_COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
                NAME + " TEXT, " + FIRST_NAME + " TEXT, "  +
                AGE + " REAL, " + ADRESS + " TEXT);";
     
        public static String RESET_TO_0 = "UPDATE SQLITE_SEQUENCE SET seq = 0 WHERE name = \"fiche\"";
     
        private HashMap hp;
        private SQLiteDatabase db;
     
        public DBHelper(Context context)
        {
            super(context, DATABASE_NAME , null, 1);
        }
     
        @Override
        public void onCreate(SQLiteDatabase db) {
     
            db.execSQL(CREATE_DB);
        }
     
        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
            db = this.getWritableDatabase();
            db.execSQL("DROP TABLE IF EXISTS tablename");
            onCreate(db);
        }
     
        public void reset() {
            SQLiteDatabase db = this.getReadableDatabase();
            db.execSQL(RESET_TO_0);
        }
     
        public boolean insertContact  (String name, String first, String address, int age)
        {
            SQLiteDatabase db = this.getWritableDatabase(); //ouverture lecture/ecriture de la db
            ContentValues contentValues = new ContentValues();// pour récup une sorte d'array de valeurs
            contentValues.put(NAME, name); 
           contentValues.put(FIRST_NAME, first);
            contentValues.put(ADRESS, address);
            contentValues.put(AGE, age);
     
            db.insert("fiche", null, contentValues);
            return true;
        }
     
        public Cursor getData(int id){
            SQLiteDatabase db = this.getReadableDatabase();
            Cursor res =  db.rawQuery( "select * from fiche where id="+ id +"", null );
            return res;
        }
     
        public int numberOfRows(){
            SQLiteDatabase db = this.getReadableDatabase();
            int numRows = (int) DatabaseUtils.queryNumEntries(db, CONT_TABLE_NAME);
            return numRows;
        }
     
        public boolean updateContact (Integer id, String name, String first_name, String address, Integer age)
        {
            SQLiteDatabase db = this.getWritableDatabase();
            ContentValues contentValues = new ContentValues();
            contentValues.put("name", name);
            contentValues.put("first", first_name);
            contentValues.put("address", address);
            contentValues.put("age", age);
     
            db.update("fiche", contentValues, "id = ? ", new String[] { Integer.toString(id) } );
            return true;
        }
     
        public Integer deleteContact (Integer id)
        {
            SQLiteDatabase db = this.getWritableDatabase();
            return db.delete("fiche",
                    "id = ? ",
                    new String[] { Integer.toString(id) });
        }
     
        public Cursor getFICHE() {
            db = this.getWritableDatabase();
            return db.rawQuery("SELECT * FROM " + "fiche", null);
        }
     
        public DBHelper rm_all(DBHelper db) {
     
            Cursor strt = db.getFICHE();
             if (strt.moveToFirst())
            {
            int i = strt.getInt(strt.getColumnIndex(DBHelper.CONT_COLUMN_ID));
            while (strt.moveToNext()) {
                db.deleteContact(i);
                i++;
            }
                db.deleteContact(i);
            }
            return db;
        }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Intégrer une base de données SQLite
    Par lucciana dans le forum Débuter
    Réponses: 5
    Dernier message: 08/05/2011, 01h08
  2. Réponses: 2
    Dernier message: 01/04/2011, 12h55
  3. Importer une base de données sqlite
    Par Watier_53 dans le forum Android
    Réponses: 1
    Dernier message: 05/01/2011, 09h03
  4. Réponses: 1
    Dernier message: 25/08/2009, 20h22
  5. Réponses: 2
    Dernier message: 05/07/2009, 19h20

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