본문 바로가기

전체 글

(519)
Widget 에서 onReceive 과 onUpdate 메소드의 차이. 옆에 김대리가 구현하는 도중에 onReceive 과 onUpdate 두군데 모두 Service 를 호출하는 로직을 넣어서 프로그램이 로딩되면서 Service 가 두 번 호출되는 문제가 있다고 도움을 요청한다. 그래서 그럼 둘중에서 한군데는 빼면 되지 않냐고 물어보니 그렇게 하면 바탕화면의 위젯에서 터치를 해도 동작하지 않는 오류가 있다고.. 소스를 보니 바탕화면의 위젯에서 버튼을 터치하면 중앙부분의 숫자가 바뀌는 로직이 Service 에 들어가 있다. 그리고 그 Service 를 manifest 에 정의해 놓았다. 위젯은 태생적으로 Service 를 기본으로 하고 있지만 현재 개발하고 있는 위젯 프로그램은 Service 기능을 사용하지 않는다. 있다면 하루에 한번 기본 그림을 랜덤으로 바꿔주는 정도. A..
개인정보 수집의 한계. 2010년 7월 27일부터 네이트(SK커뮤니케이션즈)에서 사용자 PC의 맥어드레스를 수집하도록 약관을 개정한다는 공고가 있었다. 이름, 주소, 핸드폰번호, 주민등록번호까지 입력받고 실명확인을 받았으면 됐지 도대체 뭐가 모자라서 맥어드레스까지 수집한다고 저럴까. 도대체 누구 머리에서 나온 아이디어일까 궁금했다. 가입자가 인터넷에서 뭐하고 돌아다니는지 그렇게도 궁금했나. 다행히 구글토크를 더 많이 사용하기도 하거니와 스팸메일 전혀 관리 안돼는 네이트 미련없이 탈퇴 하려는 참에 다시 개정이 취소된다는 공고가 떴다. 메신저 피싱을 막기 위한 조치였다는데 빈대 잡자고 초가삼간 태우는 꼴이며 피싱하려고 마음먹었으면 가상 맥어드레스 만들어서 들어오겠지 설마 아무 생각없이 집에서 자기 PC 로 할까. 어이가 없다. 또..
Champary Thursday practics 연습 주행.
Downhill Basics with Greg Minnaar. Greg Minnaar. 역시 최고의 선수중 한명.
Android Activity Life Cycle. 안드로이드 개발에 있어서 액티비티의 라이프사이클을 이해하는 것이 아주 중요하다. 모든 액티비티들은 LIFO 의 구조를 가지는 액티비티 스택에서 움직인다. 새로운 액티비티가 시작되면 현재의 화면이 이 스택의 맨 위로 올라온다. 사용자가 뒤로가기 버튼을 터치하거나 현재의 화면이 종료될 경우 바로 밑에 있는 액티비티가 위로 올라와서 활성 상태가 된다. 액티비티들은 아래의 상태에 따라서 스택에 들어갔다가 나간다. 활성(Activity) : 액티빈티가 맨 위에 있으며 화면에 보이고 포커스를 가지며 사용자의 입력을 받는다. 일시중지(Paused) : 화면에 보일수는 있지만 포커스를 가지지 않는다. 사용자의 입력 이벤트를 받지 않는다. 중지(Stopped) : 액티비티가 화면에 보이지 않을 경우 '중지' 된다. 모든..
리스트 출력하고 그 중에서 원하는 하나의 정보를 가져오기. 뉴스 기사 목록을 출력하고 그 중에서 원하는 하나를 터치해서 상세 내용을 읽는 기능을 구현한다고 가정하면.. 리스트에서 cursor(where 구문 포함.)를 생성해서 데이터를 가져온 다음 화면에 출력한다. 이때 position 은 자동으로 생성된다. (이때 리스트를 출력한 class 는 ListActivity 를 extends 해야 한다.) 리스트에서 하나를 터치해서 상세내용을 보고 싶다면 position 값을 intent 로 넘겨 준다. 상세 내용을 출력할 view class 에서 position 값을 받아서 위와 똑같은 cursor 를 생성한 뒤 값을 찾아 온다. position 값은 고유하기 때문에 position 값만 알수 있다면 테이블에서 해당 데이터를 가져올 수 있다. 예를 들어 기사가 10..
Android 에서 Thread 생성하고 사용하기. 안드로이드 디바이스에서 시간이 많이 걸리는 작업을 할때 일반적으로 thread 로 실행한다. 그런데 thread 를 하나만 만들어 놓고 실행한다면 그 thread 가 끝날때까지는 아무런 작업도 하지 못하고 기다려야 한다. 만약 빨리 끝나지 않는 작업이라면 그동안 전화기를 사용할 수 없다. 이렇게 UI 자원을 여러 thread 가 접근해서 사용하기 위한 몇가지 방법이 있는데 그중에서 handler 를 살펴 보자면. 1. thread 를 정의한 뒤 2. handler 를 선언해 놓고 3. 그 handler 에 thread 를 등록하고 4. 필요한 곳에서 sendMessage 로 호출하는 방법이다. ............. public static final int THREAD_NEWS_VIEW = 198; ..
인능산 길을 잘못 들다. 지지난주에 인능산에 다녀온 뒤 다시 한번 가야지 하다가, 일요일 비가 그친 틈을 타서 다시 한번 다녀 왔다. 점점 덜 힘들어 진다. 끌바하면서 미친듯이 숨가쁜건 마찬가지지만 회복속도가 훨씬 빨라졌다. GPS 수신기로 측정해보니 끌마 초입부터 283m 정상까지 직선거리는 약 1km. 오르는데 대략 35~40분정도가 소요된다. 지도에서 보면 등고선이 촘촘히 붙어 있는 것을 확인할 수 있다. 타고 오를 지형은 아니다. 정상에 올라서니 바람이 엄청 불어온다. 덕분에 더위 다 식히고 다운 시작. 비가 와서 엄청 미끄럽다. 지난번에 신나게 다운했던 길이 아니다. 일단 나무뿌리와 바위 위에 바퀴가 올라가면 사정없이 미끌어진다. 내려오기까지 한 4~5번 정도 넘어졌다. 그중 한번은 정말 대차게 붕~ 날아서 잭나이프했다..