отправлять данные на localhost в приложении для Android

Я новичок в android и пытаюсь отправить данные на localhost из моего приложения для Android. Хотя он не показывает никаких ошибок и всегда говорит, что команда отправлена, она не записывает файл или, возможно, не публикует никаких данных. Может ли кто-нибудь обнаружить проблему или сказать мне, как я могу ее исправить?

MainActivity.java

package com.example.register; import java.io.IOException; import java.util.ArrayList; import java.util.List; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.HttpClient; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.message.BasicNameValuePair; import android.app.Activity; import android.opengl.Visibility; import android.os.AsyncTask; import android.os.Bundle; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.ProgressBar; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends Activity implements OnClickListener{ private EditText value; private Button btn; private ProgressBar pb; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); value=(EditText)findViewById(R.id.editText1); btn=(Button)findViewById(R.id.button1); pb=(ProgressBar)findViewById(R.id.progressBar1); pb.setVisibility(View.GONE); btn.setOnClickListener(this); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); return true; } public void onClick(View v) { // TODO Auto-generated method stub if(value.getText().toString().length()<1){ // out of range Toast.makeText(this, "please enter something", Toast.LENGTH_LONG).show(); }else{ pb.setVisibility(View.VISIBLE); new MyAsyncTask().execute(value.getText().toString()); } } 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://localhost/text.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 } } } } 

activity_main.xml

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="20dp" android:text="Enter Something Below:" android:textAppearance="?android:attr/textAppearanceLarge" /> <EditText android:id="@+id/editText1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/textView1" android:layout_centerHorizontal="true" android:layout_marginTop="30dp" android:ems="10" android:hint="" > <requestFocus /> </EditText> <ProgressBar android:id="@+id/progressBar1" style="?android:attr/progressBarStyleLarge" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/editText1" android:layout_centerHorizontal="true" android:layout_marginTop="24dp" /> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/textView1" android:layout_alignRight="@+id/editText1" android:layout_below="@+id/progressBar1" android:layout_marginTop="24dp" android:text="Submit" /> </RelativeLayout> 

Solutions Collecting From Web of "отправлять данные на localhost в приложении для Android"

Вы должны использовать 10.0.2.2 IP-адрес для подключения к локальной системе.

 HttpPost httppost = new HttpPost("http://localhost/text.php"); 

Должно быть

 HttpPost httppost = new HttpPost("http://10.0.2.2/text.php"); 
  1. Используйте IP-адрес вместо localhost. Пример:

     HttpPost httppost = new HttpPost("http://192.168.0.10/mypage.php"); 
  2. Добавить разрешение в Интернете в AndroidManifest.xml Пример: