我是一個新手,試圖通過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不直接工作。 –