1

我只是想将数据发送到数据库作为概念证明。我目前有一个 ASP 页面,它将为我发送数据。我有一个非常基本的 Android 应用程序设置将信息发布到数据库,但没有任何数据发布在那里。我没有收到任何错误或强制关闭,并且该 url 是使用该特定 ASP 文件发送到数据库的正确 url 和格式。

这是我的代码

HttpClient client = new DefaultHttpClient();

            //set url
            String url = "**removed for security reasons**";
            url += "var1=" + editVar1.getText().toString() + "&var2=" + editVar2.getText().toString() + "&var3=" + editVar3.getText().toString();

            //display url in toast
            Toast toast = Toast.makeText(getApplicationContext(), url, Toast.LENGTH_LONG);
            toast.show();

            //prepare connection
            HttpGet request = new HttpGet(url);

            //send HttpGet
            try
            {
                client.execute(request);
            }
            catch (Exception e){}
4

1 回答 1

1

首先只是为了通知您,网络操作应该在后台执行(作为 asynctask 或 intentService)。其次,您不应该使用 GET 在数据库中写入内容。您应该使用 POST 而不是 GET:

        HttpClient httpclient = new DefaultHttpClient();
        HttpPost httppost = new HttpPost(url);

        try {
            List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(3);
            nameValuePairs.add(new BasicNameValuePair("var1", editVar1.getText().toString()));
            nameValuePairs.add(new BasicNameValuePair("var2",editVar2.getText().toString()));
            nameValuePairs.add(new BasicNameValuePair("var3",editVar3.getText().toString()));
            httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

            HttpResponse response = httpclient.execute(httppost);
于 2012-12-12T09:42:55.317 回答