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 :

Problèmes sur mon Aplli


Sujet :

Android

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 2
    Par défaut Problèmes sur mon Aplli
    Bonjours à toutes et a tous,

    étant débutant dans ce langage, je demande de l'aide "Help"

    En gros je dois faire un appli qui me permet de consulter un BDD ( qui est un fichier crée via sqlite) donc voir dans un listview les infos et ainsi après cliqué dessus et voir un pop-up afficher les reste des infos ( en gros j'affiche nom prénom et le reste apparaît en cliquant dessus).
    Mais ce n'est si simple sinon je ne serai pas venue voila le soucis mon code est écrit. j'appuie sur un bouton pour me faire passer sur la listview qui affichera les noms et prénoms et à ce moment la ça crash.

    Ci-joint mon LogCat je fournirai le reste du code si besoin est .
    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
    01-23 14:22:22.731: E/AndroidRuntime(810): FATAL EXCEPTION: main
    01-23 14:22:22.731: E/AndroidRuntime(810): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.cartes/com.example.cartes.Rechercheactivity}: java.lang.NullPointerException
    01-23 14:22:22.731: E/AndroidRuntime(810):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2106)
    01-23 14:22:22.731: E/AndroidRuntime(810):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
    01-23 14:22:22.731: E/AndroidRuntime(810):     at android.app.ActivityThread.access$600(ActivityThread.java:141)
    01-23 14:22:22.731: E/AndroidRuntime(810):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
    01-23 14:22:22.731: E/AndroidRuntime(810):     at android.os.Handler.dispatchMessage(Handler.java:99)
    01-23 14:22:22.731: E/AndroidRuntime(810):     at android.os.Looper.loop(Looper.java:137)
    01-23 14:22:22.731: E/AndroidRuntime(810):     at android.app.ActivityThread.main(ActivityThread.java:5041)
    01-23 14:22:22.731: E/AndroidRuntime(810):     at java.lang.reflect.Method.invokeNative(Native Method)
    01-23 14:22:22.731: E/AndroidRuntime(810):     at java.lang.reflect.Method.invoke(Method.java:511)
    01-23 14:22:22.731: E/AndroidRuntime(810):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
    01-23 14:22:22.731: E/AndroidRuntime(810):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
    01-23 14:22:22.731: E/AndroidRuntime(810):     at dalvik.system.NativeStart.main(Native Method)
    01-23 14:22:22.731: E/AndroidRuntime(810): Caused by: java.lang.NullPointerException
    01-23 14:22:22.731: E/AndroidRuntime(810):     at android.content.ContextWrapper.getApplicationContext(ContextWrapper.java:109)
    01-23 14:22:22.731: E/AndroidRuntime(810):     at com.example.cartes.Rechercheactivity.<init>(Rechercheactivity.java:21)
    01-23 14:22:22.731: E/AndroidRuntime(810):     at java.lang.Class.newInstanceImpl(Native Method)
    01-23 14:22:22.731: E/AndroidRuntime(810):     at java.lang.Class.newInstance(Class.java:1319)
    01-23 14:22:22.731: E/AndroidRuntime(810):     at android.app.Instrumentation.newActivity(Instrumentation.java:1054)
    01-23 14:22:22.731: E/AndroidRuntime(810):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2097)
    01-23 14:22:22.731: E/AndroidRuntime(810):     ... 11 more
    D'avance merci de votre aide

  2. #2
    Membre Expert Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Par défaut
    salut
    soit ta listView n´est pas initialiser ou tu essaies d´utiliser un objet null.
    peux-tu nous montrer le code?

    Eric

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 2
    Par défaut
    voici mon activité

    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
    package com.example.cartes;
     
     
    import android.app.Activity;
    import android.os.Bundle;
    //import android.widget.ArrayAdapter;
    import android.widget.ListView;
     
     
    public class Rechercheactivity extends Activity {
     
     
    	    /** Called when the activity is first created. */
    	    @Override
    	    public void onCreate(Bundle savedInstanceState) {
    	        super.onCreate(savedInstanceState);
    	        setContentView(R.layout.recherche);
    	}    
     
     
    	    DatabaseHelper dbh = new DatabaseHelper(this.getApplicationContext ());
    	     ListView lvListe = (ListView)findViewById(R.id.listView1); 
    	    // lvListe.setAdapter = (new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,dbh.getClients()));
    	 }

    mon helper

    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
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    //import java.util.ArrayList;
     
    import android.content.Context;
    //import android.database.Cursor;
    import android.database.SQLException;
    import android.database.sqlite.SQLiteDatabase;
    import android.database.sqlite.SQLiteException;
    import android.database.sqlite.SQLiteOpenHelper;
     
    public class DatabaseHelper extends SQLiteOpenHelper{
     
        //Le path des bases du system Android (attention au nom du package de l'appli).
        private static String DB_PATH = "/data/com.example.cartes/Cleints";
        //nom de la base
        private static String DB_NAME = "Cleints.sqlite";
        // la base
        private SQLiteDatabase Cleints;
        // le context
        private final Context myContext;
     
        //private static String TABLE_LISTELEC = "LISTELEC1";
     
     
     
        public DatabaseHelper(Context context) {
     
            super(context, DB_NAME, null, 1);
            this.myContext = context;
        }   
     
     
     
        public void createDataBase() throws IOException{
     
            boolean dbExist = checkDataBase();
     
            if(dbExist){
     
            }else{
     
     
                this.getReadableDatabase();
     
                try {
     
     
                    copyDataBase();
     
                } catch (IOException e) {
     
                    throw new Error("Erreur de copie de la base !");
     
                }
            }
     
        }
     
     
     
        private boolean checkDataBase(){
     
            SQLiteDatabase checkDB = null;
     
            try{
                String myPath = DB_PATH + DB_NAME;
                checkDB = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READONLY);
     
            }catch(SQLiteException e){
     
     
     
            }
     
            if(checkDB != null){
     
                checkDB.close();
     
            }
     
     
     
            return checkDB != null ? true : false;
        }
     
     
     
     
        private void copyDataBase() throws IOException{
     
     
            InputStream myInput = myContext.getAssets().open(DB_NAME);
     
     
            String outFileName = DB_PATH + DB_NAME;
     
     
            OutputStream myOutput = new FileOutputStream(outFileName);
     
     
            byte[] buffer = new byte[1024];
            int length;
            while ((length = myInput.read(buffer))>0){
                myOutput.write(buffer, 0, length);
            }
     
     
            myOutput.flush();
            myOutput.close();
            myInput.close();
     
        }
     
     
     
        public void openDataBase() throws SQLException{
     
     
            String myPath = DB_PATH + DB_NAME;
            Cleints = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READONLY);
     
        }
     
        @Override
        public synchronized void close() {
     
                if(Cleints != null)
                	Cleints.close();
     
                super.close();
     
        }
     
        @Override
        public void onCreate(SQLiteDatabase db) {
     
        }
     
        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
     
        }
     
     
     
     
    }
    et ma classe client

    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
    public class Clients {
     
    	private String CliNom;
    	private String CliPrenom;
     
    	public Clients(String nom, String prenom) {
    		this.CliNom = nom;
    		this.CliPrenom = prenom;
    	}
     
    	public Clients(){}
     
    	public String getNom() {
    		return CliNom;
    	}
     
    	public void setNom(String nom) {
    		this.CliNom = nom;
    	}
     
    	public String getPrenom() {
    		return CliPrenom;
    	}
     
    	public void setPrenom(String prenom) {
    		this.CliPrenom = prenom;
    	};
     
    }


    désolé si il y a des bourde plus grosse que moi

  4. #4
    Expert confirmé

    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
    Billets dans le blog
    3
    Par défaut
    Ben oui:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    DatabaseHelper dbh = new DatabaseHelper(this.getApplicationContext ());
    	     ListView lvListe = (ListView)findViewById(R.id.listView1);
    Ce code est hors de toute fonction... il est donc executé pendant la phase d'initialisation (avant même l'appel au constructeur).
    Hors à ce moment là, comment pourrait-on utiliser des fonctions sur l'objet ? hum ?
    Ces opérations là sont à réaliser dans le onCreate().

    D'ailleurs pourquoi utiliser getApplicationContext() ? On a déjà un contexte ! c'est "this" (l'activité est une contexte).



    C'est d'ailleurs ce qui est indiqué par:
    at com.example.cartes.Rechercheactivity.<init>(Rechercheactivity.java:21)
    En même temps, ligne 21 du fichier Rechercheactivity.java .... c'est tout marqué dans le logcat
    (au passage ce devrait être RechercheActivity et non Rechercheactivity).

Discussions similaires

  1. [WHAX] Problème sur mon pc portable
    Par Angeldu74 dans le forum Autres
    Réponses: 1
    Dernier message: 30/03/2007, 14h27
  2. [Configuration] problème sur mon php.ini
    Par Giantrick dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 9
    Dernier message: 22/02/2007, 22h41
  3. Problème sur mon poste ordinateur
    Par lebienestrare dans le forum Ordinateurs
    Réponses: 10
    Dernier message: 11/01/2007, 17h06
  4. nombreux problèmes sur mon menu de gauche
    Par pp51 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 12/12/2005, 21h00
  5. problème sur mon ordi
    Par loveflower dans le forum Sécurité
    Réponses: 6
    Dernier message: 29/11/2005, 16h18

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