#php #android
#php #Android
Вопрос:
Я отправил запрос HttpPost в Android на страницу php (на странице php я использовал php-код для вставки данных в таблицу.) В Android приложение работает нормально, но на странице php нет активности.
Вот полный код
private class MyAsyncTask extends AsyncTask<String, Integer, Double>{
@Override
protected Double doInBackground(String... params) {
// TODO Auto-generated method stub
postData(params[0]);
return null;
}
protected void onPostExecute(Double result){
pb.setVisibility(View.GONE);
Toast.makeText(getApplicationContext(), "command sent", Toast.LENGTH_LONG).show();
}
protected void onProgressUpdate(Integer... progress){
pb.setProgress(progress[0]);
}
public void postData(String valueIWantToSend) {
// Create a new HttpClient and Post Header
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://127.0.0.1/android_connect/create_product.php");
try {
// Add your data
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("myHttpData", valueIWantToSend));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
// Execute HTTP Post Request
HttpResponse response = httpclient.execute(httppost);
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
} catch (IOException e) {
// TODO Auto-generated catch block
}
}
Ответ №1:
127.0.0.1
не работает на эмуляторах. Для доступа к localhost используйте 10.0.2.2
вместо 127.0.0.1
.
При использовании устройства Android подключите ваш компьютер и устройство к одной сети и используйте IP-адрес компьютера для доступа к вашему серверу.
Ответ №2:
Используйте свой ip-адрес в HttpPost
httppost= new HttpPost("http://ipaddress/android_connect/create_product.php");
Я думаю, это поможет вам
Комментарии:
1. страница php запущена по этой ссылке 127.0.0.1/android_connect/create_product.php есть какие-либо проблемы с этим?
2. смотрите это руководство androidhive.info/2012/05/how-to-connect-android-with-php-mysql
3. Используйте свой ip-адрес, как сказал шивам Верма, не используйте 127.0.0.1
4. Да, я использовал httppost= new HttpPost (» 192.168.1.5/android_connect/create_product.php » );