KNX 용 calimero 라이브러리를 사용하여 앱을 만들려고합니다. 내 응용 프로그램에서, 나는 빛을 켜거나 끄기 위해 버튼, 스위치, 토글 버튼 등을 사용한다. '버튼'으로 모든 것이 잘 작동합니다. 가볍게 열거 나 열거 나 닫는 커튼을 전환 할 수 있습니다.android studio : java.lang.RuntimeException : doInBackground()를 실행하는 중 오류가 발생했습니다.
private class button9OnClickListener implements View.OnClickListener {
public void onClick(View view){
try {
falseTask dt = new falseTask();
String adr = "5/1/0";
dt.execute(adr);
} catch (Exception e) {
}
}
}
하지만 OnClickListener를 또는 OnCheckedChangeListenser 중 하나와 '스위치'를 사용하면 충돌이 발생합니다.
uncaughtException java.lang.RuntimeException: An error occured while executing doInBackground()
여기 내 doInBackground가
protected String doInBackground(String...strings){
String adr = strings[0];
try {
final InetSocketAddress localEP = new InetSocketAddress(InetAddress.getByName(hostip), 0);
final InetSocketAddress remoteEP = new InetSocketAddress(remoteip, knxServerPort);
knxLink = new KNXNetworkLinkIP(KNXNetworkLinkIP.TUNNEL, localEP, remoteEP, true, TPSettings.TP1);
pc = new ProcessCommunicatorImpl(knxLink);
pc.write(new GroupAddress(adr), true);
knxLink.close();
}
catch (final KNXException e) {
}
catch (final UnknownHostException e) {
}
return null;
}
내가 자바와 안드로이드 프로그래밍에 새로 온 사람이다 :
private class switch1OnCheckedChangeListener implements CompoundButton.OnCheckedChangeListener {
public void onCheckedChanged(CompoundButton compoundButton, boolean isChecked) {
if(compoundButton.isChecked()) {
try {
trueTask dt = new trueTask();
String adr = "5/4/6";
dt.execute(adr);
} catch (Exception e) {
e.printStackTrace();
}
} else {
try {
falseTask dt = new falseTask();
String adr = "5/4/6";
dt.execute(adr);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
문제
는 다음과 같습니다. 이 문제를 해결할 수 있습니까? 왜 '버튼'이 아니라 '전환'이 아닌지 이해할 수 없다. 내가 내 코드를 복사 일식으로하려고 미리UPDATE
에 감사드립니다. 모든 것이 잘 작동합니다. 내가 원하는 빛을 켜고 끌 수 있고 오류가 없다. android studio로 작동하지 않았습니다. 누군가 이유를 알아?
stacktrace를 게시 할 수 있습니까? – Paras
@pArAs uncaughtException java.lang.RuntimeException : doInBackground()를 실행하는 동안 오류가 발생했습니다. stacktrace를 가지고있다 – kai
일반적인 catch 블록을 추가하고 예외를 출력한다. catch (최종 Exception e) {StackTraceElement trace [] = e.getStackTrace(); (StackTraceElement aTrace : trace) { Log.e (LOG_TAG, aTrace.toString()); }} – W0rmH0le