通过应用发送HTTP请求-AndroidStudio

时间:2018-10-18 11:32:52

标签: java android http

我想在按下ESP8266的按钮时从我的android应用程序发送HTTP请求,该命令正在等待访问任何网页,但是,如果我的android应用程序实际上并未打开网页,而是“发送HTTP请求”

现在我正在使用;

startActivity(new Intent(Intent.ACTION_QUICK_VIEW, Uri.parse("http://192.168.1.201/onled")));

它正在工作,但显然正在打开网页...

任何人都对如何解决我的问题有很好的建议?我是Java新手。

3 个答案:

答案 0 :(得分:1)

var trickyString = "sd sewq wee r r ttttt $300 rrtrt utu iwiwi \\$500 kjgf ihj \\$215 ghi"; 

//document.getElementById("div0").innerHTML = trickyString;

function splitString() {
    //Why is splitting by \$ not giving 3 elements but is instead giving 4 elements?
    var array1 = trickyString.split(/\\\$/g);
    document.getElementById("div1").innerHTML = "<b>Length = " + array1.length + "</b>";
    for (var i = 0; i < array1.length; i++) {
        document.getElementById("div1").innerHTML += "<br>" + array1[i];
    }

    var array2 = trickyString.split("$");
    document.getElementById("div2").innerHTML = "<b>Length = " + array2.length + "</b>";
    for (var j = 0; j < array1.length; j++) {
        document.getElementById("div2").innerHTML += "<br>" + array2[j];
    }
}

答案 1 :(得分:0)

您应该创建HTTP连接和HTTP请求。

您可以通过以下几种方式进行操作:

请记住,发送HTTP请求是非确定性操作,您应该在单独的非UI线程中执行它,以保持UI畅通无阻。您可以通过最简单的解决方案AsyncTask进行操作,但也可以将RxJavaRxAndroid或其他方法结合使用。

答案 2 :(得分:0)

有许多方法可以从应用程序发送HTTP请求。例如,将HttpURLConnectionGET方法一起使用,您可以进行如下操作:

 StringBuilder content = new StringBuilder();
        try {
            URL u1 = new URL(url);
            HttpURLConnection uc1 = (HttpURLConnection) u1.openConnection();
            if (uc1.getResponseCode()==HttpURLConnection.HTTP_OK) {

                InputStream is = uc1.getInputStream();
                BufferedReader br = new BufferedReader(new InputStreamReader(is, Charset.forName("UTF-8")));
                String line;
                while ((line = br.readLine()) != null) {

                    content.append(line).append("\n");

                }

            }//other codes

您可以找到使用Google最复杂的方法的简化方法:

Find the reference here