기본이면서 중요한 Handler 다른 쓰레드에서 메인 UI를 건드려야할 때 주로 사용한다. 그 이유는 Main쓰레드가 아닌 다른 쓰레드에서 UI를 건드리면 CalledFromWrongThreadException 에러를 뿜어낸다. 이럴 때 핸들러를 사용하는데 그 방법은 아래와 같다. Handler handle = new Handler() { public void handleMessage(Message msg) { // 코드 처리 } }; 이렇게 일반 메서드와 같이 선언해놓고 호출방법은 handle .sendMessage() 로 호출한다. 간단하고 쉬운 핸들러 사용법
안드로이드 앱을 만들어 본 프로그래머라면 물론 알고 있겠지만, 앱에서 특정 하드웨어를 사용하려면 AndroidManifest.xml 파일 내에 그 내용을 미리 선언해야 한다. AndroidManifest.xml에 관련된 가이드를 꼼꼼히 읽어본 사람이라면 실제 앱을 배포하면서도 별로 헷갈릴 일이 없겠지만, 케냘의 경우에는 슥 훑어보고 uses-permission 태그만 사용하면 되는 줄 알았다가 낭패를 겪었다. 좌우지간 가이드는 꼼꼼히 읽어볼 일이다. 카메라 기능을 기준으로 예를 하나 들어보도록 하겠다. 케냘은 어제 BITNA를 새로 배포하면서 AndroidManifest.xml 파일에 다음과 같은 내용을 추가하였다: ... ... 카메라의 플래시라이트를 사용하는 기능이 추가되었기 때문에 위와 같은 내용을..
private double distance(double lat1, double lon1, double lat2, double lon2) {double theta = lon1 - lon2;double dist = Math.sin(deg2rad(lat1)) * Math.sin(deg2rad(lat2))+ Math.cos(deg2rad(lat1)) * Math.cos(deg2rad(lat2))* Math.cos(deg2rad(theta));dist = Math.acos(dist);dist = rad2deg(dist);dist = dist * 60 * 1.1515;dist = dist * 1.609344;return (dist);} private double rad2deg(double rad) {return (..
Unable to execute dex: java.nio.BufferOverflowException. Check the Eclipse log for stack trace. Conversion to Dalvik format failed: Unable to execute dex: java.nio.BufferOverflowException. Check the Eclipse log for stack trace.에러 해결방법 If you have recently added any Android library project or upgraded to a newer version of Android SDK build tools and you have got an unable to execute error then t..