我有一个具有切换功能的网络设备。当我点击设备自己的网页时,某个输出是更改状态。 我想创建一个可以在网络上管理此设备的Android应用程序。我会点击我的应用程序按钮,此事件在设备上运行,单击设备网页上的按钮。 这是设备网页上的代码:
<td width="130px"><input type="button"style="width:90px;"onclick="newAJAXCommand('leds.cgi?led=2');"value="Relé 1"/></td>
我对Android应用有一个想法,但我不知道如何运行此查询(或创建点击事件)?
设备:http://91.137.148.13:8000/switch.htm
请帮助。
此致 久洛
答案 0 :(得分:1)
当您点击网页上的按钮时,浏览器会向指定的网址(http://91.137.148.13:8000/leds.cgi?led=0
)发送请求。因此,当用户点击Android应用中的按钮时,您可以向此网址发送请求。
private class exampleHttpTask extends AsyncTask<Integer, Integer, String> {
public String convertStreamToString(InputStream is, String charset) throws IOException {
if (is != null) {
Writer writer = new StringWriter();
char[] buffer = new char[1024];
try {
Reader reader = new BufferedReader(new InputStreamReader(is, charset));
int n;
while ((n = reader.read(buffer)) != -1) {
writer.write(buffer, 0, n);
}
} finally {
is.close();
}
return writer.toString();
} else {
return "";
}
}
protected String doInBackground(Integer... params) {
String r = "";
try {
HttpClient hc = new DefaultHttpClient();
HttpGet get = new HttpGet("http://91.137.148.13:8000/leds.cgi?led=0");
HttpResponse hr = hc.execute(get);
if(hr.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
InputStream is = hr.getEntity().getContent();
r = convertStreamToString(is, "UTF-8");
} else {
r = "Error";
}
} catch(Exception e){
e.printStackTrace();
}
return null;
}
protected void onPostExecute(String result) {
Log.d("WEB", result);
}
protected void onPreExecute() {
}
}
(代码来自here) 当触发onClick事件时,运行
new exampleHttpTask().exec()