发布android简单的应用程序

时间:2016-07-24 08:57:42

标签: android post

我需要一个简单的androd应用程序,它将一个单词发送到服务器并从服务器接收答案。我创建了一个表单,它有两行和一个按钮。在第一行用户编写单词并单击按钮。在这个时候,应用程序将此单词发送到服务器。当服务器发回响应时,我们会在其他行显示此响应。

我正确的一些代码,但是这个代码不适用于android 23.我也尝试通过改造来做到这一点,但是我有修改这个问题的varios问题。

我知道只需要使用POST,但不知道如何。

我可以将我的android的ip地址发送到服务器吗?

2 个答案:

答案 0 :(得分:0)

试试这段代码: 它还会将该页面的响应作为String

返回
\0

并通过以下方式调用:

public static String postRequest(String post_url, String data) {
        try {
            URL url = new URL(post_url);
            HttpURLConnection connection = (HttpURLConnection)url.openConnection();
            BufferedReader br;
            StringBuilder sb = new StringBuilder();
            String line;

            connection.setDoOutput(true);
            connection.setRequestMethod("POST");
            connection.setReadTimeout(10000);
            Writer writer = new OutputStreamWriter(connection.getOutputStream());
            writer.write(data);
            writer.flush();
            writer.close();

            if (200 <= connection.getResponseCode() && connection.getResponseCode() <= 299) {
                br = new BufferedReader(new InputStreamReader((connection.getInputStream())));
            } else {
                br = new BufferedReader(new InputStreamReader((connection.getErrorStream())));
            }

            while ((line = br.readLine()) != null) {
                sb.append(line);
            }

            return sb.toString();

        } catch (Exception e) {
            e.printStackTrace();
        }

        return null;
    }

答案 1 :(得分:0)

我认为凌空将满足您的需求,它是一个非常简单的库,可以处理异步请求:

https://developer.android.com/training/volley/index.html

“我可以将我的android的ip地址发送到服务器吗?”

当然,假设你正在使用PHP,要让你的android ip在服务器端使用这样的代码:

<?
    $ip = $_SERVER["REMOTE_ADDR"]; 
    echo "<br />Your IP is : $ip"; 
?>

编辑:NodsJS示例

app.post('/getip', function (req, res) {
    var ip = req.headers['x-forwarded-for'] || 
         req.connection.remoteAddress || 
         req.socket.remoteAddress ||
         req.connection.socket.remoteAddress;
})