Autore Topic: Non riesco a prendere dati dal database?!  (Letto 398 volte)

Offline theKuston

  • Nuovo arrivato
  • *
  • Post: 48
  • Respect: 0
    • Google+
    • Mostra profilo
  • Dispositivo Android:
    Google Nexus 5
  • Play Store ID:
    K-soft
  • Sistema operativo:
    windows 8.1, Ubuntu 14
Non riesco a prendere dati dal database?!
« il: 05 Febbraio 2015, 20:26:01 CET »
0
Ciao raga! allora io voglio fare uno switch che automaticamente si attivi o disattivi secondo se nel database il valore corrispondente sia 1 o 0. Questo e' il mio codice:
Codice (Java): [Seleziona]
Switch aSwitch = (Switch) view.findViewById(R.id.item_switch);
       
        Cursor mCursor = database.rawQuery("SELECT * FROM alarms WHERE id = "+viewId,null);
        int activeInt = mCursor.getInt(mCursor.getColumnIndex("active"));
        if (activeInt == 1){
            aSwitch.setChecked(true);
        }else if(activeInt == 0){
            aSwitch.setChecked(false);
        }
E il mio LogCat :
Codice: [Seleziona]
02-05 20:06:26.906    4420-4420/k.soft.aiad E/AndroidRuntime﹕ FATAL EXCEPTION: main
    Process: k.soft.aiad, PID: 4420
    java.lang.NullPointerException: Attempt to invoke virtual method 'android.database.Cursor android.database.sqlite.SQLiteDatabase.rawQuery(java.lang.String, java.lang.String[])' on a null object reference
            at k.soft.aiad.MainActivity.addViewToContainer(MainActivity.java:408)
            at k.soft.aiad.MainActivity.newAlarm(MainActivity.java:343)
            at k.soft.aiad.MainActivity$6.onClick(MainActivity.java:325)
            at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:160)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5221)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
(la riga 408 é quella di
Codice (Java): [Seleziona]
Cursor mCursor = database.rawQuery("SELECT * FROM alarms WHERE id = "+viewId,null);)

Vi ringrazio tutti in anticipo
« Ultima modifica: 06 Febbraio 2015, 08:52:07 CET da theKuston »
Tutte le mie applicazioni sul play store:
https://play.google.com/store/apps/developer?id=K-soft

Offline arlabs

  • Utente normale
  • ***
  • Post: 433
  • Respect: +49
    • Mostra profilo
  • Dispositivo Android:
    GalaxyS6, Nexus5
  • Play Store ID:
    AR Labs
  • Sistema operativo:
    Windows 10
Re:Non riesco a prendere dati dal database?!
« Risposta #1 il: 06 Febbraio 2015, 10:38:22 CET »
0
database sarà null.

Vedi dove lo apri e dove fai questa query.

Offline theKuston

  • Nuovo arrivato
  • *
  • Post: 48
  • Respect: 0
    • Google+
    • Mostra profilo
  • Dispositivo Android:
    Google Nexus 5
  • Play Store ID:
    K-soft
  • Sistema operativo:
    windows 8.1, Ubuntu 14
Re:Non riesco a prendere dati dal database?!
« Risposta #2 il: 06 Febbraio 2015, 10:45:01 CET »
0
Ma database é una variabile globale che subito nell'onCreate viene definita...
Tutte le mie applicazioni sul play store:
https://play.google.com/store/apps/developer?id=K-soft

Offline Brontomania

  • Nuovo arrivato
  • *
  • Post: 32
  • Dinosauro di lanetta
  • Respect: +5
    • Github
    • Google+
    • @Brontomania
    • Mostra profilo
  • Dispositivo Android:
    HTC One, Nexus 7, Nexus S
  • Sistema operativo:
    Windows 10
Re:Non riesco a prendere dati dal database?!
« Risposta #3 il: 06 Febbraio 2015, 21:23:46 CET »
0
Se non faccio confusione con qualche altro linguaggio credo bisogni posizionare il cursore sul primo elemento.

TTalk on HTC1