현재는 소니 CCTV를 사용하고
http://ipaddr:port/command/ptzf.cgi?Move=left,1
http://ipaddr:port/command/ptzf.cgi?Move=stop,motor
이런식으로 PC에서 주소창에 적고 실행하면
카메라가 움직이거나 멈추는등 ptzf를 실행할 수 있습니다.
어플에서 버튼에 연동해서 ptzf를 할수 있게 하고싶은데
public void rightMove(View v) {
/**
* HTTP로 요청을 보낸다. Thread 작업이 필요하다.
* */
/*new Thread(new Runnable() {
@Override
public void run() {
*//**
* 작업 시작
* */
String url = "http://ipaddr:port/command/ptzf.cgi?Move=right,1";
HttpURLConnection conn = null;
try {
/**
* 요청을 보낼 URL 정보
* */
URL httpURL = new URL(url);
// 요청을 보내기 위한 준비를 한다.
conn = (HttpURLConnection) httpURL.openConnection();
conn.setDoInput(true);
// conn.setDoOutput(true);
/**
* 최대 요청 지연 시간 * 요청이 5초 이상 걸릴경우 요청을 끊는다.
* */
conn.setConnectTimeout(5000);
/**
* GET 요청을 한다.
* POST 요청을 원할 경우 "POST"라고 작성한다.
* */
conn.setRequestMethod("GET");
/**
* 요청을 보내고
* 동시에 응답을 받는다.
* */
// int responseCode = conn.getResponseCode();
conn.connect();
/**
* 요청과 응답이 제대로 이루어졌는지 검사한다.
* HttpURLConnection.HTTP_OK : 응답이 200 OK 라는 의미
* */
/*if (responseCode == HttpURLConnection.HTTP_OK) {
conn.disconnect();
}*/
} catch (Exception e) {
Log.w("Camera error", "" + e.getMessage());
if (conn != null) {
conn.disconnect();
}
}
/* }
}).start();*/
}
인터넷에서 안드로이드 HTTP 관련 소스를 보고 작성한것이고
실행이 되지않아서 여기저기 주석처리도 해보면서 현재 상태입니다.
conn.connect();
에서 예외가 발생해서
catch에 잡히는거 같은데
e.getMessage()
는 null로 뜹니다.
저 API를 HTTP로 해서 사용하는건 맞는건가요?
현재 webview를 이용해서 INVISIBLE WEBVIEW로 실행하는 방법도 생각중인데
둘다 가능한건지, 위에것에서 소스 오류가 있는건지 알수 있을까요?