2017-02-22 2 views
0

Je travaille avec OrmLite mais je reçois une exception quand je suis en train de l'utiliser dans un IntentService:Ormlite dans un IntentService

E/AndroidRuntime: FATAL EXCEPTION: principale processus: fr.solutis .solutis, PID: 29456 java.lang.RuntimeException: Impossible d'instancier le service fr.solutis.solutis.notifications.NotificationDemandeService: java.lang.NullPointerException: Tentative d'invocation de la méthode virtuelle 'android.content.res.Resources android. content.Context.getResources() ' sur une référence d'objet null at android.app.ActivityThread.handleCreateServ ice (ActivityThread.java:3148) à android.app.ActivityThread.access $ 1900 (ActivityThread.java:177) à android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1513) at android.os.Handler .dispatchMessage (Handler.java:102) à android.os.Looper.loop (Looper.java:135) à android.app.ActivityThread.main (ActivityThread.java:5910) à java.lang.reflect.Method .invoke (méthode native) à java.lang.reflect.Method.invoke (Method.java:372) à com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:1405) à com. android.internal.os.ZygoteInit.main (ZygoteInit.java:1200) Causé par: java.lang.NullPointerException : Tentative d'invocation de la méthode virtuelle 'android.content.res.Resources android.content.Context.getResources()' sur une référence d'objet nul at android.content.ContextWrapper.getResources (ContextWrapper.java:86) at com. j256.ormlite.android.apptools.OrmLiteSqliteOpenHelper.openFileId (OrmLiteSqliteOpenHelper.java:310) à com.j256.ormlite.android.apptools.OrmLiteSqliteOpenHelper. (OrmLiteSqliteOpenHelper.java:76) à fr.solutis.solutis.helpers.DatabaseHelper . (DatabaseHelper.java:56) à fr.solutis.solutis.notifications.NotificationDemandeService. (NotificationDemandeService.java:25) à java.lang.reflect.Constructor.newInstance (méthode native) à java.lang.Class. newInstance (Class.java:1690) at android.app.ActivityThread.handleCreateService (ActivityThread.java:3145) à android.app.ActivityThread.access $ 1900 (ActivityThread.java:177) à android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1513) à android.os.Handler.dispatchMessage (Handler.java:102) à android.os.Looper.loop (Looper.java:135) à android.app.ActivityThread.main (ActivityThread.java:5910) à java.lang.reflect.Method.invoke (Méthode native) à java.lang.reflect.Method.invoke (Method.java:372) à com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit. java: 1405) à com.android.internal.os.ZygoteInit.main (ZygoteInit.java:120 0)

Code:

public class NotificationDemandeService extends IntentService { 
    DatabaseHelper db = new DatabaseHelper(NotificationDemandeService.this); 
    Boolean isInternetPresent = false; 
    Boolean isUrlAvailable = false; 
    ConnectionDetector cd; 
    String message = ""; 

    public NotificationDemandeService() { 
     super("EnvoieService"); 
    } 

    @Override 
    protected void onHandleIntent(Intent intent) { 

     try { 

      List<Demandes> demandes = db.getAllDemandesRenvoie(); 
... 

     } catch (SQLException e) { 
      e.printStackTrace(); 
     } 
.... 
    } 
} 

Répondre

0

simplement en appelant:

DatabaseHelper db = new DatabaseHelper(this); 

après:

@Override 
protected void onHandleIntent(Intent intent) 

va travailler, je ne comprends pas la question, mais il travaux !