为什么我的应用程序在我使用 intentService 保存数据时崩溃?
Why my app crash when i use an intentService to save data?
我正在尝试将文件中的一些数据保存到数据库中。不使用 intentService
一切都很好。但是,当我使用 IntentService
时,我的应用程序崩溃了,并且我的 asyncTask 出现错误:
java.lang.RuntimeException: An error occured while executing doInBackground()
Caused by: java.lang.NullPointerException
at com.example.carl.myTest.AsyncTask.doInBackground(AsyncTask.java:44)
第 44 行是:HttpResponse response = httpClient.execute(httpPost);
我的问题是为什么没有服务一切正常,使用后就乱了?!!!出了什么问题?-非常感谢任何帮助。我显示我的 intentService class:
public class TheIntentService extends IntentService {
MainActivityMyTest t = new MainActivityMyTest ();
private Handler handler = new Handler();
public MyIntentService() {
super("TheIntentService ");
}
@Override
protected void onHandleIntent(Intent intent) {
t.writeToTable();
handler.post(showResult);
}
private Runnable showResult = new Runnable() {
public void run() {
Context c = TheIntentService .this.getApplicationContext();
Toast.makeText(c, "Mission accomplished", Toast.LENGTH_SHORT).show();
}
};
@Override
public void onDestroy() {
Context c = this.getApplicationContext();
Toast.makeText(c, "Exits service", Toast.LENGTH_SHORT).show();
super.onDestroy();
}
}
然后从 MainActivity 启动服务,如下所示:
Intent i = new Intent(MainActivityMyTest.this, TheIntentService.class);
startService(i);
why is everything is fine without a service, and chaos after using it?!!!
因为您创建了自己的 MainActivityMyTest
实例,它看起来是 Activity
。 从不 自己创建 Activity
、Service
或 ContentProvider
的实例。 Android 的框架创造了这些,而不是你。据推测,MainActivityMyTest
在其生命周期的某处创建了 httpclient
(例如,onCreate()
),而这并没有发生。
请将与 writeToTable()
关联的代码移至 IntentService
本身。
我正在尝试将文件中的一些数据保存到数据库中。不使用 intentService
一切都很好。但是,当我使用 IntentService
时,我的应用程序崩溃了,并且我的 asyncTask 出现错误:
java.lang.RuntimeException: An error occured while executing doInBackground()
Caused by: java.lang.NullPointerException
at com.example.carl.myTest.AsyncTask.doInBackground(AsyncTask.java:44)
第 44 行是:HttpResponse response = httpClient.execute(httpPost);
我的问题是为什么没有服务一切正常,使用后就乱了?!!!出了什么问题?-非常感谢任何帮助。我显示我的 intentService class:
public class TheIntentService extends IntentService {
MainActivityMyTest t = new MainActivityMyTest ();
private Handler handler = new Handler();
public MyIntentService() {
super("TheIntentService ");
}
@Override
protected void onHandleIntent(Intent intent) {
t.writeToTable();
handler.post(showResult);
}
private Runnable showResult = new Runnable() {
public void run() {
Context c = TheIntentService .this.getApplicationContext();
Toast.makeText(c, "Mission accomplished", Toast.LENGTH_SHORT).show();
}
};
@Override
public void onDestroy() {
Context c = this.getApplicationContext();
Toast.makeText(c, "Exits service", Toast.LENGTH_SHORT).show();
super.onDestroy();
}
}
然后从 MainActivity 启动服务,如下所示:
Intent i = new Intent(MainActivityMyTest.this, TheIntentService.class);
startService(i);
why is everything is fine without a service, and chaos after using it?!!!
因为您创建了自己的 MainActivityMyTest
实例,它看起来是 Activity
。 从不 自己创建 Activity
、Service
或 ContentProvider
的实例。 Android 的框架创造了这些,而不是你。据推测,MainActivityMyTest
在其生命周期的某处创建了 httpclient
(例如,onCreate()
),而这并没有发生。
请将与 writeToTable()
关联的代码移至 IntentService
本身。