Я использую класс для использования HTTP POST и получения данных из базы данных через php / json и преобразования их в строку.
Проблема в том, что я получаю "Error in http connection android.os.NetworkOnMainThreadException"
в LogCat.Я тестирую это на эмуляторе и использую правильный адрес порта.Я знаю это, потому что порт отлично работает в других частях приложения (загрузка HTML из Localhost).Если я запускаю файл php в настольном браузере, он работает нормально.Я также знаю, что в mySQL правильно установлены разрешения для 10.0.2.2 и пользователь задан в файле входа в систему php.
Итак, мой вопрос: кто-нибудь сталкивался с такой же проблемой, и если да, выяснили ли выВыясните, в чем заключалась проблема или какие-либо идеи о том, что еще мне следует искать?
Спасибо за вашу помощь!
public void loadQuery(String p) {
String qO = getIntent().getStringExtra("QUERY_ORDER");
ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
// http post
try {
HttpClient httpclient = new DefaultHttpClient();
// HttpPost httppost = new HttpPost("http://10.0.2.2/Andaero/php/" +
// p + qO + ".php");
//Hard coded the php link to make sure -->
HttpPost httppost = new HttpPost(
"http://10.0.2.2/Andaero/php/regulatory_list_ASC.php");
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
is = entity.getContent();
} catch (Exception e) {
Log.e("log_tag", "Error in http connection " + e.toString());
}
// convert response to string
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(
is, "iso-8859-1"), 8);
sb = new StringBuilder();
sb.append(reader.readLine() + "\n");
String line = "0";
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
result = sb.toString();
} catch (Exception e) {
Log.e("log_tag", "Error converting result " + e.toString());
}
setListAdapter(new QueryAdapter(this, result));
}