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 Studio Java Discussion :

Application Android ne s'ouvre pas (Android Studio) UTILISATION BASE DE DONNÉE SQLite !


Sujet :

Android Studio Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2018
    Messages : 2
    Par défaut Application Android ne s'ouvre pas (Android Studio) UTILISATION BASE DE DONNÉE SQLite !
    Bonjour à tous!

    Je vous explique mon problème. Alors pour mon projet de cours d'année je dois manipuler des bases de données SQLIite, donc pour cela je crée une petite application en m'inspirant d'un tuto : (http://a-renouard.developpez.com/tut...ndroid/sqlite/) que j'adapte à mon projet (je reste dans quelque chose de basique). Seulement quand je copie colle le tuto sous android studio et que je lance l'application cela fonctionne. Mais mon application ne s'ouvre pas.
    Voila le message sur mon smartphone : " L'application s'est arrêté " . Quelqu'un pour y jeter un coup d’œil, je commence à désespérer .


    Class Exercice (Livre)
    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
    package com.example.jassimaanaoui.bddtest;
    /**
     * Created by jassim.aanaoui on 08/02/2018.
     */
    public class Exercice {
    
        private int id;
        private String login;
        private int force_avant;
        private int force_arriere;
    
        public Exercice () {}
    
        public Exercice (String login, int force_avant, int force_arriere) {
            this.login = login ;
            this.force_avant = force_avant;
            this.force_arriere = force_arriere;
        }
    
    
        public int getId() {
            return id;
        }
    
        public void setId(int id) {
            this.id = id;
        }
    
    
        public String getLogin() {
            return login;
        }
    
        public void setLogin(String login) {
            this.login = login;
        }
    
        public int getForce_avant() {
            return force_avant;
        }
    
        public void setForce_avant(int force_avant){
            this.force_avant = force_avant;
        }
    
        public int getForce_arriere() {
            return force_arriere;
        }
    
        public void setForce_arriere(int force_arriere){
            this.force_arriere = force_arriere;
        }
    
        public String toString (){
            return "Login :" +login + "\nforce avant : " + force_avant + "\nforce arriere : "
    +force_arriere;
        }
    
        public static class ExerciceBDD {
        }
    }
    Class ExerciceBDD (LivreBDD)


    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
    package com.example.jassimaanaoui.bddtest;
    
    
    /**
     * Created by jassim.aanaoui on 12/02/2018.
     */
    import android.content.ContentValues;
    import android.content.Context;
    import android.database.Cursor;
    import android.database.sqlite.SQLiteDatabase;
    import android.database.sqlite.SQLiteOpenHelper;
    import android.database.sqlite.SQLiteDatabase.CursorFactory;
    
    
    public class ExerciceBDD  {
    
    
        private static  final int VERSION_BDD = 1;
        private static  final String NOM_BDD = "Sportif.db";
    
    
        private static final String TABLE_EXERCICE = "table_exercice";
        private static final String COL_ID = "ID";
        private static final int NUM_COL_ID = 0;
        private static final String COL_LOGIN = "Login";
        private static final int NUM_COL_LOGIN = 1;
        private static final String COL_FORCEAV = "ForceAvant";
        private static final int NUM_COL_FORCEAV = 2;
        private static final String COL_FORCEAR = "ForceArriere";
        private static final int NUM_COL_FORCEAR = 3;
    
        private SQLiteDatabase bdd;
    
        private DataManager dataManager;
    
    
    
    
    
        public ExerciceBDD(Context context ) {
    
    
    
            //On crée la BDD et sa table
    dataManager = new DataManager(context, NOM_BDD, null, VERSION_BDD);
    
        }
    
        public void open(){
    
            //on ouvre la BDD en écriture
    bdd = dataManager.getWritableDatabase();
        }
    
        public void close(){
            //on ferme l'accès à la BDD
    bdd.close();
        }
    
        public SQLiteDatabase getBDD() {
            return bdd;
        }
    
        public long insertExercice(Exercice exercice){
            //Création d'un ContentValues (fonctionne comme une HashMap)
    ContentValues values = new ContentValues();
            //on lui ajoute une valeur associée à une clé (qui est le nom de la colonne dans laquelle on veut mettre la valeur)
    values.put(COL_LOGIN, exercice.getLogin());
            values.put(COL_FORCEAV, exercice.getForce_avant());
            values.put(COL_FORCEAR, exercice.getForce_arriere());
            //on insère l'objet dans la BDD via le ContentValues
    return bdd.insert(TABLE_EXERCICE, null, values);
        }
    
        public int updateExercice(int id, Exercice exercice){
            //La mise à jour d'un livre dans la BDD fonctionne plus ou moins comme une insertion
            //il faut simplement préciser quel livre on doit mettre à jour grâce à l'ID
    ContentValues values = new ContentValues();
            values.put(COL_LOGIN, exercice.getLogin());
            values.put(COL_FORCEAV, exercice.getForce_avant());
            values.put(COL_FORCEAR, exercice.getForce_arriere());
    
            return bdd.update(TABLE_EXERCICE, values, COL_ID + " = " +id, null);
        }
    
        public int removeExerciceWithID(int id){
            //Suppression d'un livre de la BDD grâce à l'ID
    return bdd.delete(TABLE_EXERCICE, COL_ID + " = " +id, null);
        }
    
    
    
    
        public Exercice getExerciceWithLogin(String login){
            //Récupère dans un Cursor les valeurs correspondant à un exercice contenu dans la BDD (ici on sélectionne le l'exercice grâce au login)
    Cursor c = bdd.query(TABLE_EXERCICE, new String[] {COL_ID, COL_LOGIN, COL_FORCEAV, COL_FORCEAR}, COL_LOGIN + " LIKE \"" + login +"\"", null, null, null, null);
            return cursorToExercice(c);
        }
    
            //Cette méthode permet de convertir un cursor en un exercice
    private Exercice cursorToExercice(Cursor c) {
    
            //si aucun élément n'a été retourné dans la requête, on renvoie null
    if (c.getCount() == 0)
                return null;
    
            //Sinon on se place sur le premier élément
    c.moveToFirst();
            //On créé un exercice
    Exercice exercice = new Exercice();
            //on lui affecte toutes les infos grâce aux infos contenues dans le Cursor
    exercice.setId(c.getInt(NUM_COL_ID));
            exercice.setLogin(c.getString(NUM_COL_LOGIN));
            exercice.setForce_avant(c.getInt(NUM_COL_FORCEAV));
            exercice.setForce_arriere(c.getInt(NUM_COL_FORCEAR));
            //On ferme le cursor
    c.close();
    
            //On retourne l'exercice
    return exercice;
        }
    }
    Class DataManage (MaBaseSQLite)
    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
    package com.example.jassimaanaoui.bddtest;
    
    /**
     * Created by jassim.aanaoui on 08/02/2018.
     */
    import android.content.Context;
    import android.database.sqlite.SQLiteDatabase;
    import android.database.sqlite.SQLiteOpenHelper;
    import android.database.sqlite.SQLiteDatabase.CursorFactory;
    
    
    public class DataManager extends SQLiteOpenHelper {
    
        private static final String TABLE_EXERCICE = "table_exercice";
        private static final String COL_ID = "ID";
        private static final String COL_LOGIN = "login";
        private static final String COL_FORCE_AVANT ="force_avant";
        private static final String COL_FORCE_ARRIERE="force_arriere";
    
    
        private static final String CREATE_BDD = "CREATE TABLE " + TABLE_EXERCICE + " ("
    + COL_ID + "INTEGER PRIMARY KEY AUTOINCREMENT, " + COL_LOGIN + " TEXT, " + COL_FORCE_AVANT  +" NUMBER, "
    + COL_FORCE_ARRIERE+ " NUMBER);";
    
        public DataManager( Context context,  String name, CursorFactory factory, int version ){
            super(context, name, factory, version);
    
        }
    
        @Override
    public void onCreate(SQLiteDatabase db) {
            db.execSQL(CREATE_BDD);
    
    
        }
    
        @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    
            db.execSQL(" DROP TABLE " + TABLE_EXERCICE + ";");
            onCreate(db);
    
        }
    }
    Cordialement.

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    476
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 476
    Par défaut
    Bonjour,

    Comme dit dans de nombreux messages, si ca plante, il y a vraisemblablement une trace de l'erreur dans le Logcat d'Android Studio, c'est un ensemble de texte rouge qui précise l'endroit de l'erreur. Affiche la et p'tet qu'on pourra plus t'aider

  3. #3
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2018
    Messages : 2
    Par défaut
    Citation Envoyé par Turvy Voir le message
    Bonjour,

    Comme dit dans de nombreux messages, si ca plante, il y a vraisemblablement une trace de l'erreur dans le Logcat d'Android Studio, c'est un ensemble de texte rouge qui précise l'endroit de l'erreur. Affiche la et p'tet qu'on pourra plus t'aider
    Bonjour,

    Justement il n'y a aucun message d'erreur, c'est pour cela que je n'arrive pas a trouver d'où cela provient.

    Nom : Capture.PNG
Affichages : 707
Taille : 295,3 Ko


    Cordialement

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

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

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Tu n'est pas dans le logcat ...
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    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 : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Par défaut
    Avant de débuter le dév' complexe, apprend les bases de tes outils

    Comme l'indique grunk, tu n'indiques pas le LogCat
    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

Discussions similaires

  1. Réponses: 6
    Dernier message: 15/03/2014, 11h30
  2. Remplissage d'un spinner à partir d'une base de données sqlite sous android
    Par ensinienne dans le forum Composants graphiques
    Réponses: 4
    Dernier message: 04/04/2012, 18h07
  3. connexion entre la base de donnée sqlite et eclipse-java avec une plateforme android
    Par amira_chouk dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 20/04/2010, 19h07
  4. Réponses: 1
    Dernier message: 25/08/2009, 19h22
  5. Réponses: 2
    Dernier message: 09/08/2007, 10h23

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