我正在尝试使用下面给定的代码使用端口号 8080 在 wamp 的 apache localhost 上发布数据。
public class postdata extends Activity
{
Button btnpost;
EditText txtname,txtsalary;
TextView lblstatus;
String hostname;
@Override
protected void onCreate(Bundle savedInstanceState)
{
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
this.setContentView(R.layout.main3);
btnpost=(Button)this.findViewById(R.id.btnpost);
txtname=(EditText)this.findViewById(R.id.txtname);
txtsalary=(EditText)this.findViewById(R.id.txtsalary);
final HttpClient client = new DefaultHttpClient();
final HttpPost post = new HttpPost("http://127.0.0.1:8080/andy1/script2.php");
btnpost.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View arg0)
{
try
{
List<NameValuePair> pair = new ArrayList<NameValuePair>(2);
pair.add(new BasicNameValuePair("txtname",txtname.getText().toString()));
pair.add(new BasicNameValuePair("txtsalary",txtsalary.getText().toString()));
post.setEntity(new UrlEncodedFormEntity(pair));
HttpResponse response = client.execute(post);
Toast.makeText(getApplicationContext(), "Record Saved",1000).show();
}
catch (ClientProtocolException e)
{
// TODO Auto-generated catch block
}
catch (IOException e)
{
Toast.makeText(getApplicationContext(), "Error in uploading",1000).show();
}
}
});
}
}
每当我在模拟器上运行上述代码时,都会出现以下错误。
12-03 10:10:51.237: E/AndroidRuntime(281): FATAL EXCEPTION: main
12-03 10:10:51.237: E/AndroidRuntime(281): java.lang.IllegalArgumentException: Host name may not be null
12-03 10:10:51.237: E/AndroidRuntime(281): at org.apache.http.HttpHost.<init>(HttpHost.java:83)
12-03 10:10:51.237: E/AndroidRuntime(281): at org.apache.http.impl.client.AbstractHttpClient.determineTarget(AbstractHttpClient.java:497)
12-03 10:10:51.237: E/AndroidRuntime(281): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
12-03 10:10:51.237: E/AndroidRuntime(281): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
12-03 10:10:51.237: E/AndroidRuntime(281): at demo.network.postdata$1.onClick(postdata.java:65)
12-03 10:10:51.237: E/AndroidRuntime(281): at android.view.View.performClick(View.java:2408)
12-03 10:10:51.237: E/AndroidRuntime(281): at android.view.View$PerformClick.run(View.java:8816)
12-03 10:10:51.237: E/AndroidRuntime(281): at android.os.Handler.handleCallback(Handler.java:587)
12-03 10:10:51.237: E/AndroidRuntime(281): at android.os.Handler.dispatchMessage(Handler.java:92)
12-03 10:10:51.237: E/AndroidRuntime(281): at android.os.Looper.loop(Looper.java:123)
12-03 10:10:51.237: E/AndroidRuntime(281): at android.app.ActivityThread.main(ActivityThread.java:4627)
12-03 10:10:51.237: E/AndroidRuntime(281): at java.lang.reflect.Method.invokeNative(Native Method)
12-03 10:10:51.237: E/AndroidRuntime(281): at java.lang.reflect.Method.invoke(Method.java:521)
12-03 10:10:51.237: E/AndroidRuntime(281): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
12-03 10:10:51.237: E/AndroidRuntime(281): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
12-03 10:10:51.237: E/AndroidRuntime(281): at dalvik.system.NativeStart.main(Native Method)
我也尝试使用 10.0.0.2 作为 IP 地址,因为它是其他帖子中发布的解决方案之一,但根本不起作用。我已经尝试了很多使用 net 来解决这个错误,但没有成功。