首先,在写这篇文章之前,我试图找到一个解决方案,我自己在任何地方搜索信息,但我发现什么都没有帮助我。
好吧,我正在开发一个Android应用程序,它从服务器接收数据并将数据发送到该服务器。接收数据没关系,但是当我尝试发送时可能会发生:
我是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();