Android冰激凌SandWhat与姜饼HTTP Post
对安卓系统来说相当陌生,并使用安卓2.3.5(姜饼)创建/测试了我的应用程序。我有多个数据库连接,我使用了HTTPPOST(但没有使用AsyncTask),一切都很好。然后我在Android 4.0.3(冰激凌SandWhat)上测试了它,但我无法连接到数据库,因此我的应用程序无法运行 不知道我需要考虑什么才能让这个工作程序在冰淇淋沙盘上运行?我确实将数据库连接移出了UI线程(但不是AsyncTask),但它仍然没有连接 这是我在UI线程之外创建的类: 公共类InputsRecapGetTask{Android冰激凌SandWhat与姜饼HTTP Post,android,android-asynctask,http-post,Android,Android Asynctask,Http Post,对安卓系统来说相当陌生,并使用安卓2.3.5(姜饼)创建/测试了我的应用程序。我有多个数据库连接,我使用了HTTPPOST(但没有使用AsyncTask),一切都很好。然后我在Android 4.0.3(冰激凌SandWhat)上测试了它,但我无法连接到数据库,因此我的应用程序无法运行 不知道我需要考虑什么才能让这个工作程序在冰淇淋沙盘上运行?我确实将数据库连接移出了UI线程(但不是AsyncTask),但它仍然没有连接 这是我在UI线程之外创建的类: 公共类InputsRecapGetTask
public InputsRecapGetTask(InputsRecap activity,
ProgressDialog progressDialog) {
this.activity = activity;
this.progressDialog = progressDialog;
getDatabase();
}
public void getDatabase() {
// TODO Auto-generated method stub
progressDialog.show();
// create new default httpClient
HttpClient httpclient = new DefaultHttpClient();
// create new http post with url to php file as pararmenter
HttpPost httppost = new HttpPost(
"http://test.com/returnBBD.php");
// assign input text to strings
user = Login.userStatic;
你检查日志了吗?IIRC,Android 4要求http请求不是从主线程完成的。必须有一条消息告诉你这一点 另一方面,请记住
根据MVC,数据检索必须由模型完成,而不是由控制器(活动)完成它的生命周期就是视图的生命周期。使用asynctask。asynctask应该可以工作,这是大多数人的建议。我在自己的类中尝试了asynctask,但仍然出现崩溃。数据库检索是在UI中使用的,因此根据logcat,我相信这就是问题的根源。我尝试将asynctask移动到或者设置ContentView,但这也不能解决问题。更新:我使用了AsyncTask并将任务移动到屏幕上,以确保在新UI之前将其上载。这修复了冰淇淋三明治中的崩溃问题。谢谢!