'프로그래밍 공부/android'에 해당되는 글 2건

  1. 2010.09.17 PreferenceActivity에서 EditTextPreference에 조건을 검사하게 하기
  2. 2010.09.16 안드로이드 버전별 주소록 불러오기 (1)

안드로이드에서 프로그램을 만들 때 PreferenceActivity를 사용하면 그 프로그램의 설정을 쉽게 저장해 놓을 수 있습니다. 하지만 쉽게 사용할 수 있는 만큼 수정하기는 좀 어렵게 되어있죠. 그런데 EditTextPreference에서 조건을 검사할 수 있었으면 할 때가 있습니다. 그래서 우선은 다음과 같이 listener를 넣어보려했습니다.

그런데 위의 코드를 그대로 onCreate()함수에서 적용시켰더니 NullPointerException이 발생했습니다. 다이얼로그가 생성되지 않았기 때문이죠. 이 문제를 해결하기 위해 다이얼로그가 생성되는 시점인 preference가 클릭된 시점에서 위의 코드를 적용시켜봤습니다. 그래서 결과적으로 제대로 동작하는 코드는 다음과 같습니다.

안드로이드 2.1기준에서 컴파일할 수 있는 코드도 첨부합니다.
Posted by anrocud

우선 안드로이드 2.1에서 주소록을 불러오는 방법입니다.


그렇지만 이 코드는 안드로이드 1.6에서는 동작하지 않습니다. URI와 그 DB에서 쓰이는 열이름이 다르기 때문이죠. 그래서 1.6버전에서 주소록을 불러오려면 URI와 DB에서 쓰이는 열이름을 다른 클래스로 바꾸어야 합니다. 다음과 같이 말이죠.

자 이렇게 하고 나서 마지막으로 잊으면 안되는 것이 AndroidManifest.xml 파일에 권한을 지정하는 것이죠. permissions탭에 가서 "android.permission.READ_CONTACTS"을 추가해줍니다.

이렇게 하고 ListView에 넣으면 다음과 같이 나옵니다.

위 그림처럼 주소록을 보여주는 application도 올려봅니다. 버전 별로 있습니다.

안드로이드 2.1용:

안드로이드 1.6용:
Posted by anrocud