我是一个新手,试图通过xampp从Android应用程序发送数据到本地主机服务器上设置的MySQL数据库。该方法应该将名称,用户名,密码,电话号码和年龄放入NameValuePair类型的数组列表中。从Android应用程序发送数据到MySQL数据库
@Override
protected Void doInBackground(Void... params) {
ArrayList<NameValuePair> dataToSend = new ArrayList<>();
dataToSend.add(new BasicNameValuePair("name", user.name));
dataToSend.add(new BasicNameValuePair("age", user.age + ""));
dataToSend.add(new BasicNameValuePair("username", user.username));
dataToSend.add(new BasicNameValuePair("password", user.password));
dataToSend.add(new BasicNameValuePair("phoneNumber", user.phoneNumber));
HttpParams httpRequestParams = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpRequestParams, CONNECTION_TIMEOUT);
HttpConnectionParams.setSoTimeout(httpRequestParams, CONNECTION_TIMEOUT);
HttpClient client = new DefaultHttpClient(httpRequestParams);
HttpPost post = new HttpPost("localhost/Register.php");
try{
post.setEntity(new UrlEncodedFormEntity(dataToSend));
client.execute(post);
}catch(Exception e){
e.printStackTrace();
}
return null;
}
当我运行应用程序时,我收到以下异常:
Target host must not be null, or set in parameters. scheme=null, host=null, path=localhost/Register.php
我的研究使我相信,有一个与URL字符串有问题,但我不具体是什么知道问题是。
在此先感谢。
(PS我也知道一个数据库采用明文存储密码的可怕的安全隐患的。只是想学习如何应用程序和数据库之间的交互。THX)
尝试设置10.0.2.2这个IP而不是本地主机 –
@SarvagnaMehta这到底是什么? – Johnny
它将您连接到本地主机,因为在某些模拟器中localhost不直接工作。 –