Я пытаюсь отправить некоторые данные на свой сервер, который общедоступен в Интернете. Приложение запускается как служба после завершения загрузки (добавляется разрешение), как только приложение выходит из строя. Я сузил код вниз. Кажется, что он сбой, когда он пытается отправить данные на сервер.Сбой приложений Android при отправке данных на сервер
Ниже приведен мой код. Я очень ценю, если вы, ребята, можете мне помочь в этом.
package com.example.bootstart;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import android.os.AsyncTask;
import android.util.Log;
class SendData extends AsyncTask<Void, Void, Boolean> {
public void sendinfo(){
// Creating HTTP client
HttpClient httpClient = new DefaultHttpClient();
// Creating HTTP Post
HttpPost httpPost = new HttpPost(
"http://www.mydomain.com/controller_name/funtion_name");
// Building post parameters
// key and value pair
List<NameValuePair> nameValuePair = new ArrayList<NameValuePair>(4);
nameValuePair.add(new BasicNameValuePair("imei", "12345"));
nameValuePair.add(new BasicNameValuePair("welawa", "12315646545"));
nameValuePair.add(new BasicNameValuePair("lat", "123.25"));
nameValuePair.add(new BasicNameValuePair("long", "52.22323"));
// Url Encoding the POST parameters
try {
httpPost.setEntity(new UrlEncodedFormEntity(nameValuePair));
} catch (UnsupportedEncodingException e) {
// writing error to Log
e.printStackTrace();
}
// Making HTTP Request
try {
HttpResponse response = httpClient.execute(httpPost);
// writing response to log
Log.d("Http Response:", response.toString());
} catch (ClientProtocolException e) {
// writing exception to log
e.printStackTrace();
} catch (IOException e) {
// writing exception to log
e.printStackTrace();
}
}
@Override
protected Boolean doInBackground(Void... params) {
// TODO Auto-generated method stub
return null;
}
}
Я разработчик php, пытаясь написать простое приложение, которое регистрирует GPS-сердечники.
Я не могу проверить консоль, потому что какая-то вещь заставила работать эмулятор. Я всегда получаю эмулятор-arm.exe, который перестает работать bla bla bla. Поэтому я использую свой телефон и перезапускаю его каждый раз, когда я тестирую. К сожалению, у меня нет доступа к журналу.
Любая помощь очень ценится.
Где 'sendinfo() 'вызван? – Apoorv
, где вы проверяете подключение к Интернету, прежде чем вызывать метод' sendinfo() ' –
Если у вас нет g затем генерирует сообщение «Toast» с сообщением об исключении. – Krrishnaaaa