본문 바로가기

전체 글

[안드로이드] ListView 클릭이 안될때 잘되던 ListView가 버튼을 추가하니 클릭이 되질 않았다. 이유는 ListVIew의 item에 Button이 들어가면 Layout상에만 넣어두더라도 ListView는 통채로 클릭이 안된다. 이때는 Button을 code상에서 정의해주고 ListView는 mainActivity에서, Button은 각각의 ItemView상에서 둘 다 view.setFocusable(false); 를 해주면 정상적으로 클릭된다. ListView말고도 Button에도 해주어야 하는 사실을 잊지말자. 출처: http://devbible.tistory.com/9 [devbible] 더보기
[안드로이드] Thread Handler 사용하기 안드로이드에서는 백그라운드에서 돌아야 하는 기능을 만드는 방식을 두가지로 나눠 볼 수 있다. 1. 서비스 : 백그라운드 작업은 서비스로 실행하고, 사용자에게는 알림 서비스를 이용해 알려줍니다. 만약 메인 액티비티로 결과값을 전달하고 이를 이용해 다른 작업을 수행하고자 한다면 브로드캐스팅을 이용해 결과값을 전달 할 수 2. 스레드 : 스레드는 동일 프로세스 상에 있기 때문에 작업 수행 결과를 바로 처리할 수 있습니다. 그러나 UI 객체는 직접 접근 할 수 없으므로 핸들러 객체를 사용합니다. 그렇다면, 스레드의 핸들러는 무엇인가? 우리가 만든 어플을 실행 시키게 되면, 어플을 위한 프로세스가 생성됩니다. 그리고 프로세스가 생성되면 메인스레드는 새로 만들어지는 윈도우를 위한( 액티비티, 브로드캐스트 수신자 등.. 더보기
Java Thread API 오늘은 자바의 Thread API 의 메소드들과 그 사용법에 대해 간단히 정리하고자 한다. 1. 쓰레드의 상태제어 (간단한 메소드는 생략했습니다.) 1) interrupt() : "일시정지 상태의" 쓰레드에서 InterruptException 예외를 발생시켜 예외처리 코드에서 실행 대기 상태로 가거나 종료 상태로 갈 수 있도록 한다. - 스레드의 종료를 위해서는 몇가지 방법이 있다, 그 중 하나는 stop() 메소드를 호출하는 것 인데, stop() 메소드는 스레드가 처리하던 작업의 뒷처리를 해주지 않고 종료되어 버리므로 불안정하다. 그 기능을 도와주는 메소드가 바로 interrupt() 이다. 스레드를 종료시키기 위해 해당쓰레드.interrupt() 하면 해당 쓰레드가 "일시정지 상태에 있을 때" In.. 더보기