2015-01-27 3 views
0

У меня есть особые проблемы, связанные с Android. Я использую Acra для отчетов об ошибках, и я сохраняю все ошибки в своей локальной базе данных. После моих последних обновлений приложений возникла конкретная проблема. Я вижу почти 20 новых ошибок на моем db каждый час, что является простым Nullpointerexception, но когда я пытаюсь выполнить свое приложение на разных устройствах, он работает отлично. Я пробовал на телефонах Samsung, Lg Nexus Phone, планшет Asus и эмулятор genymotion. Случай всегда одинаковый, когда я пытаюсь. Я не могу решить проблему, потому что я не могу ее увидеть по телефону.Как я могу исправить это конкретное исключение?

Что я могу сделать с этой проблемой?

Я также делюсь своими кодами.

мой отчет об ошибке метод

java.lang.RuntimeException: Unable to start receiver com.tupbebekailesi.serkanoral.hamilelikrehberi.WeekAlarms: java.lang.NullPointerException 
at android.app.ActivityThread.handleReceiver(ActivityThread.java:2567) 
at android.app.ActivityThread.access$1800(ActivityThread.java:161) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1341) 
at android.os.Handler.dispatchMessage(Handler.java:102) 
at android.os.Looper.loop(Looper.java:157) 
at android.app.ActivityThread.main(ActivityThread.java:5356) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:515) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081) 
at dalvik.system.NativeStart.main(Native Method) 
Caused by: java.lang.NullPointerException 
at com.tupbebekailesi.serkanoral.hamilelikrehberi.MotherActivity.week_number(MotherActivity.java:321) 
at com.tupbebekailesi.serkanoral.hamilelikrehberi.WeekAlarms.onReceive(WeekAlarms.java:41) 
at android.app.ActivityThread.handleReceiver(ActivityThread.java:2552) 
... 10 more 
java.lang.NullPointerException 
at com.tupbebekailesi.serkanoral.hamilelikrehberi.MotherActivity.week_number(MotherActivity.java:321) 
at com.tupbebekailesi.serkanoral.hamilelikrehberi.WeekAlarms.onReceive(WeekAlarms.java:41) 
at android.app.ActivityThread.handleReceiver(ActivityThread.java:2552) 
at android.app.ActivityThread.access$1800(ActivityThread.java:161) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1341) 
at android.os.Handler.dispatchMessage(Handler.java:102) 
at android.os.Looper.loop(Looper.java:157) 
at android.app.ActivityThread.main(ActivityThread.java:5356) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:515) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081) 
at dalvik.system.NativeStart.main(Native Method) 

Это week_number

public static int week_number() { 
     long get_due_date_ms = preferences.getLong(USER_DUE_DATE_MS, 0); 
     long today = System.currentTimeMillis(); 
     long elapsed_time = today - get_due_date_ms; 
     int week_day = (int) (elapsed_time/CalculateActivity.bir_hafta); 

     if (week_day > 39 || week_day < 0) 
      week_day = 0; 

     return week_day; 
    } 

Спасибо за помощь.

+1

Что такое строка номера 321? – Willis

+2

prolly 'long get_due_date_ms = preferences.getLong (USER_DUE_DATE_MS, 0);' поскольку только этот параметр может быть нулевым в этом методе – Selvin

+2

'предпочтения', вероятно, null – tyczj

ответ

1

Я считаю, что предпочтения могут быть пустыми. В этом случае приведенный ниже код должен решить вашу проблему.

public static int week_number() { 
    if(preferences != null){ 
     long get_due_date_ms = preferences.getLong(USER_DUE_DATE_MS, 0); 
     long today = System.currentTimeMillis(); 
     long elapsed_time = today - get_due_date_ms; 
     int week_day = (int) (elapsed_time/CalculateActivity.bir_hafta); 

     if (week_day > 39 || week_day < 0) 
      week_day = 0; 
     } 
     return week_day; 
    } 
} 
+0

First thanx. Он работал бы, но мне определенно нужно значение week_number. У вас есть другая идея? –

+0

Вы можете сделать что-то вроде: если предпочтения равны нулю, тогда поместите значение по умолчанию в get_due_date_ms – cristianorbs

Смежные вопросы