Я делаю приложение, которое необходимо отправить данные из android в базу данных. Я делаю это с помощью JSONParser. Но когда я запускаю приложение, у меня возникают проблемы, он не отправляет данные на сервер. Я получил и ошибку на «String name = inputName.getText(). ToString();». Вот он:Метод getText должен вызываться из потока ui
protected String doInBackground(String... args) {
String name = inputName.getText().toString();
String date = inputDate.getText().toString();
String time = inputTime.getText().toString();
String latitude = inputLatitude.getText().toString();
String longitude = inputLongitude.getText().toString();
String contacts = inputContacts.getText().toString();
// Building Parameters
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("name", name));
params.add(new BasicNameValuePair("date", date));
params.add(new BasicNameValuePair("time", time));
params.add(new BasicNameValuePair("latitude", latitude));
params.add(new BasicNameValuePair("longitude", longitude));
params.add(new BasicNameValuePair("contacts", contacts));
// getting JSON Object
// Note that create product url accepts POST method
JSONObject json = jsonParser.makeHttpRequest(url_create_product,
"POST", params);
// check log cat fro response
Log.d("Create Response", json.toString());
// check for success tag
try {
int success = json.getInt(TAG_SUCCESS);
if (success == 1) {
// successfully created product
Intent i = new Intent(getApplicationContext(), MainActivity.class);
startActivity(i);
// closing this screen
finish();
} else {
// failed to create product
}
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
/**
* After completing background task Dismiss the progress dialog
* **/
protected void onPostExecute(String file_url) {
// dismiss the dialog once done
pDialog.dismiss();
}
}
Или используйте 'Handler', который был создан в основном потоке, и из фонового потока вызывается метод' sendMessage' обработчика. – t0mm13b
@ t0mm13b: Не изнутри 'doInBackground()' из 'AsyncTask'. Остальная часть 'doInBackground()' нуждается в данных перед продолжением. – CommonsWare
У меня есть решение проблемы. Это ссылка [lhttp: //stackoverflow.com/questions/32011996 ....] (http://stackoverflow.com/questions/32011996/method-gettext-must-be-called-from-the-ui- токарно-андроид-студия? RQ = 1). Но он по-прежнему не отправляет данные на сервер. Независимо от того, связана ли ошибка с этим или какие-либо проблемы с несоответствием на сервере? –