http post запрос не работает в Android

#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 » );