无法从android向mysql服务器发送数据

时间:2014-05-22 22:58:38

标签: java php android mysql android-asynctask

首先,在写这篇文章之前,我试图找到一个解决方案,我自己在任何地方搜索信息,但我发现什么都没有帮助我。

好吧,我正在开发一个Android应用程序,它从服务器接收数据并将数据发送到该服务器。接收数据没关系,但是当我尝试发送时可能会发生:

  • 第一次发送数据确定,但第二次在httpResponse中冻结。
  • 自从我启动应用以来,它无法发送任何内容。点击"发送"。
  • 时会冻结

我是debbug,但我找不到任何东西。现在它显示"致命信号6(SIGABRT)在..."有时还会显示" Skipped xxx frames"。我发布了一个AsyncTask。

我试图暂停,它完成但没有在服务器上进行更改。我把mysqli_close()或entity.consume(),但没有任何改变。

我会感激任何帮助。谢谢。

这是我的代码(我总结一下):

php class

$con = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_DATABASE);

if (mysqli_connect_errno())  
 {  
      echo "Imposible conectarse a la base de datos: " . mysqli_connect_error();  
 }
 else{
    $response = array();

    // Recogemos los detalles del usuario
    $xxxx = $con->real_escape_string($_POST['xxxx']);
    $xxxx = $con->real_escape_string($_POST['xxxx']);

    // Insertamos la fila
    $result = $con->query("INSERT INTO tareas(xxxx, xxxx) VALUES(xxxx, xxxx)");

    if ($result) {
        ...

Android课程

在我的主类中,我调用了AsyncTask类

public void crearInforme(){

        CrearNuevoInforme cni = new CrearNuevoInforme(informe);
        cni.execute();
...

AsyncTask类

...
    List<NameValuePair> params = new ArrayList<NameValuePair>();
    params.add(new BasicNameValuePair("xxxx", xxxx));
    params.add(new BasicNameValuePair("xxxx", xxxx));

    JSONObject json = jsonParser.makeHttpRequest(URL_Connect, "POST", params);
...

然后是jsonParser

public JSONObject makeHttpRequest(String url, String method,
            List<NameValuePair> params) {

        // Making HTTP request
        try {

            // check for request method
            if(method.equals("POST")){
                // request method is POST
                // defaultHttpClient
                DefaultHttpClient httpClient = new DefaultHttpClient();

                HttpPost httpPost = new HttpPost(url);
                HttpEntity entity = new UrlEncodedFormEntity(params, "utf-8");
                httpPost.setEntity(entity);

                HttpResponse httpResponse = httpClient.execute(httpPost); <---Here's
                HttpEntity httpEntity = httpResponse.getEntity();
                is = httpEntity.getContent();

0 个答案:

没有答案