gpt4 book ai didi

java - 在发布到 phpmyadmin 时询问 asynctask

转载 作者:行者123 更新时间:2023-11-30 00:42:05 25 4
gpt4 key购买 nike

这是我的将数据发布到远程数据库的android代码,它没有按照我的意愿工作,好吧,它根本不起作用。没有错误,没有任何操作。帮助大家。我真的不知道发生了什么事。欢迎任何建议。

    final String suma = Float.valueOf(zam.getSuma()).toString();`

ib_wyslij.setOnClickListener(new OnClickListener() {`
@Override
public void onClick(View v) {
// TODO Auto-generated method stub

new MyAsyncTask().execute(suma);
}
});

private class MyAsyncTask extends AsyncTask<String, Void, Void> {

@Override
protected Void doInBackground(String... params) {
// TODO Auto-generated method stub
postData(params[0]);
return null;
}

protected void onPostExecute(Double result) {

Toast.makeText(getApplicationContext(), "command sent",
Toast.LENGTH_LONG).show();
}



public void postData(String valueIWantToSend) {
// Create a new HttpClient and Post Header
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://www.msinzynierka.cba.pl/executeConn.php");

try {
// Add your data

List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("Zam_suma",
valueIWantToSend));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

// Execute HTTP Post Request
HttpResponse response = httpclient.execute(httppost);

} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}

这是我的执行php脚本

[记录和连接]。。。.

$Zam_suma = $_POST['Zam_suma'];
mysql_query("INSERT INTO Zamowienie(Zam_suma) VALUES($Zam_suma)");

最佳答案

您需要阅读 AsyncTask它的设置方式不正确。我不知道这是否是您的问题,但您应该了解params

private class MyAsyncTask extends AsyncTask<String, Void, Void> {

第一个是在执行期间传递给 doInBackground() 的内容...这看起来不错。

第二个是 onProgressUpdate() 所采用的...这看起来也很好,因为您没有实现该方法。

第三个是从 doInBackground() 中的 return 传递给 onPostExecute() 的内容...这看起来不太好。您告诉 onPostExecute()doInBackground() 中不期待任何内容并且不返回任何内容,这是正确的,但您的 onPostExecute()` 应该看起来像

protected void onPostExecute(Void result) {

由于您的方法签名不正确,您实际上并没有重写 AsyncTask 方法,但它认为这是您自己的方法,并且在 doInBackground() 时不会运行> 已完成。这就是 @Override 注释派上用场的地方。

关于java - 在发布到 phpmyadmin 时询问 asynctask,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21686563/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com