将数据从Android应用程序发送到MySQL数据库

时间:2015-06-11 03:19:13

标签: java php android mysql

我是一名新手,尝试通过xampp将数据从Android应用程序发送到在本地主机服务器上设置的MySQL数据库。此方法应该将名称,用户名,密码,电话号码和年龄放入NameValuePair类型的arraylist中。

DiGraph

当我运行应用程序时,我收到以下异常:

@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;
    }

我的研究让我相信网址字符串存在问题,但我并不清楚具体问题是什么。

提前致谢。

(P.S。我也知道在数据库中以纯文本形式存储密码的可怕安全隐患。只是想学习如何在应用程序和数据库之间进行交互.Tx)

2 个答案:

答案 0 :(得分:2)

如果localhost替换不适合您,请尝试使用此代码发布数据。

Cursor

答案 1 :(得分:0)

我的问题只是我使用了错误的IP地址。由于某种原因,localhost不起作用。我想出了我的系统的ipv4地址(不是10.0.2.2)并使用了它并且它有效。