Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/181.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android,在服务中使用SQLite命令的方法上出现NullPointerException_Android_Sqlite_Service - Fatal编程技术网

Android,在服务中使用SQLite命令的方法上出现NullPointerException

Android,在服务中使用SQLite命令的方法上出现NullPointerException,android,sqlite,service,Android,Sqlite,Service,只有一个任务,为什么我的sqlite命令在方法中,当我从服务调用它时,给我写了一个nullpointerexception。。。当我尝试使用toast时,它工作得非常好,但在我使用mDbHelper.open/naplnSviatky/close之后,我的应用程序将崩溃 方法只有查询命令,在活动和片段中工作正常 这是我的服务 public class SviatokFullFillService extends Service { String username; private Databa

只有一个任务,为什么我的sqlite命令在方法中,当我从服务调用它时,给我写了一个nullpointerexception。。。当我尝试使用toast时,它工作得非常好,但在我使用mDbHelper.open/naplnSviatky/close之后,我的应用程序将崩溃

方法只有查询命令,在活动和片段中工作正常

这是我的
服务

public class SviatokFullFillService extends Service 
{
String username;
private DatabaseOp mDbHelper;

@Override
public IBinder onBind(Intent intent) {
    // TODO Auto-generated method stub
    return null;
}

@Override
public void onStart(Intent intent, int startId) 
{
    // TODO Auto-generated method stub
    SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(this);

    username = sharedPrefs.getString("prefUsername", "NULL");

    //Toast.makeText(this, username, Toast.LENGTH_SHORT).show();
    mDbHelper.open();
    mDbHelper.naplnSviatky(username);
    mDbHelper.close();
}

}
这是我的
LogCat

04-22 14:16:43.890: E/AndroidRuntime(6560): FATAL EXCEPTION: main
04-22 14:16:43.890: E/AndroidRuntime(6560): java.lang.RuntimeException: Unable to start service sk.tomino.studentDiary.SviatokFullFillService@410f1188 with Intent { cmp=sk.tomino.studentDiary/.SviatokFullFillService }: java.lang.NullPointerException
04-22 14:16:43.890: E/AndroidRuntime(6560):     at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2950)
04-22 14:16:43.890: E/AndroidRuntime(6560):     at android.app.ActivityThread.access$1900(ActivityThread.java:151)
04-22 14:16:43.890: E/AndroidRuntime(6560):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1442)
04-22 14:16:43.890: E/AndroidRuntime(6560):     at android.os.Handler.dispatchMessage(Handler.java:99)
04-22 14:16:43.890: E/AndroidRuntime(6560):     at android.os.Looper.loop(Looper.java:155)
04-22 14:16:43.890: E/AndroidRuntime(6560):     at android.app.ActivityThread.main(ActivityThread.java:5520)
04-22 14:16:43.890: E/AndroidRuntime(6560):     at java.lang.reflect.Method.invokeNative(Native Method)
04-22 14:16:43.890: E/AndroidRuntime(6560):     at java.lang.reflect.Method.invoke(Method.java:511)
04-22 14:16:43.890: E/AndroidRuntime(6560):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1029)
04-22 14:16:43.890: E/AndroidRuntime(6560):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:796)
04-22 14:16:43.890: E/AndroidRuntime(6560):     at dalvik.system.NativeStart.main(Native Method)
04-22 14:16:43.890: E/AndroidRuntime(6560): Caused by: java.lang.NullPointerException
04-22 14:16:43.890: E/AndroidRuntime(6560):     at sk.tomino.studentDiary.SviatokFullFillService.onStart(SviatokFullFillService.java:30)
04-22 14:16:43.890: E/AndroidRuntime(6560):     at android.app.Service.onStartCommand(Service.java:450)
04-22 14:16:43.890: E/AndroidRuntime(6560):     at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2916)
04-22 14:16:43.890: E/AndroidRuntime(6560):     ... 10 more

您已经声明了变量
私有数据库op mDbHelper在类级别,但当您在
onStart()
方法中使用它时,您尚未初始化它,因此它会抛出
NullPointerException

请上载
DatabaseOp
类的代码您可能希望了解如何在调试模式下运行应用程序,并在代码中设置断点以检查变量的值。在使用之前初始化mDbHelper。好的,谢谢,我忘记了。。。还有,请你帮我在后台玩naplnSviatok方法,在我启动它之后,我的主线程将等待并冻结应用程序,我需要启动这个方法和guinext@Tomino,那个方法在哪里?@Tomino,让我看看,请上传问题中的代码。