我想在按下ESP8266的按钮时从我的android应用程序发送HTTP请求,该命令正在等待访问任何网页,但是,如果我的android应用程序实际上并未打开网页,而是“发送HTTP请求”
现在我正在使用;
startActivity(new Intent(Intent.ACTION_QUICK_VIEW, Uri.parse("http://192.168.1.201/onled")));
它正在工作,但显然正在打开网页...
任何人都对如何解决我的问题有很好的建议?我是Java新手。
答案 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请求。
您可以通过以下几种方式进行操作:
HttpURLConnection
-有关详细信息,请参见本教程:https://www.mkyong.com/java/how-to-send-http-request-getpost-in-java/ 请记住,发送HTTP请求是非确定性操作,您应该在单独的非UI线程中执行它,以保持UI畅通无阻。您可以通过最简单的解决方案AsyncTask进行操作,但也可以将RxJava与RxAndroid或其他方法结合使用。
答案 2 :(得分:0)
有许多方法可以从应用程序发送HTTP请求。例如,将HttpURLConnection
与GET
方法一起使用,您可以进行如下操作:
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最复杂的方法的简化方法: