Я разрабатываю код Android для передачи и приема между приложениями android и PHP. Полученная часть, основанная на JSON, работает правильно. Я проверил с помощью переменной set вручную в PHP-коде. Однако, когда я разместил переменную от android до php, она не сможет ее получить. Кто-нибудь может сказать мне проблему?Невозможно опубликовать переменную от клиента android к серверу php
ответ
@Override
protected String doInBackground(Void... params) {
ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("username", <Your username here>));
try {
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(<Your URL to php file>);
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs, "UTF-8"));
HttpResponse response = httpclient.execute(httppost); // Execute Post to URL
String st = EntityUtils.toString(response.getEntity()); // This is the result from php web
Log.d(TK_Configuration.TAG, "In the try Loop" + st); // Still executing
finalResult = st; // You should register a variable for finalResult;
} catch (Exception e) {
Log.d(TK_Configuration.TAG, "Connection error : " + e.toString());
}
return "OK";
}
protected void onPostExecute(String result) {
super.onPostExecute(result);
// After that, you will have final result and process to do with it here
// Below is my simple code, please change it
if(finalResult.equals("1")){
Toast.makeText(context, context.getResources().getString(R.string.upload_bike_success), Toast.LENGTH_SHORT).show();
}
else{
Toast.makeText(context, context.getResources().getString(R.string.upload_bike_fail), Toast.LENGTH_SHORT).show();
}
// End
}
Пожалуйста, попробуйте это, и еще один момент, вы должны использовать библиотеку Gson для декодирования JSON быстро Java объект после того, как вы получили JSON строку с сервера.
Примечание: Замените TK_Configuration.TAG < < вашей TAG.
вы прокомментировали эту линию, это означает, что вы не передавая значения из Android
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
удалить комментарий от этой линии.
Еще одна вещь, вы проходите username
, но из php вы пытаетесь получить значение как $user = $_POST['name'];
, оба имени должны быть одинаковыми.
Я изменил $ user = $ _POST ['username']; и uncomment httppost.setEntity (новый UrlEncodedFormEntity (nameValuePairs)); Однако он не работает –
попробуйте распечатать 'username' в php-коде и проверить, получаете ли вы его или нет. –
Должен ли я эхо $ user в моем php-файле? где я должен видеть это в андроиде или в браузере? –
Что такое тег TK_Configuration? –
Ошибка: (243, 2) ошибка: достигнутый конец файла при разборе –
Привет, я видел, что у вас неправильный файл запроса http://www.oobac.com/app/insert-db.php << этот файл используется для вставки данные в базу данных? Правильно? Если вы хотите получить данные из базы данных, вы используете amir.php << Right? –