안드로이드 개발 질문/답변
(글 수 45,052)
cursor.getString(cursor.getColumnIndexOrThrow(People.NAME)),cursor.getString(cursor.getColumnIndexOrThrow(Contacts.People.NUMBER)))
다음과 같이 데이터를 불러오는데요 (cursor는 셋팅된 커서의 인스턴스 입니다)
이름하고 다른 값들을 테스트 해보면 잘 나오는데
전화번호는 나오질 않네요 >.<
null로만 나옵니다 ㅠㅠ
혹시 왜그런지 아시는분 계신가요??
그리고 디플리케이티드 되있던데 혹시 대체 할만한 예제가 있을지요 ㅠㅠ
새해복 많이 받으세요!
다음과 같이 데이터를 불러오는데요 (cursor는 셋팅된 커서의 인스턴스 입니다)
이름하고 다른 값들을 테스트 해보면 잘 나오는데
전화번호는 나오질 않네요 >.<
null로만 나옵니다 ㅠㅠ
혹시 왜그런지 아시는분 계신가요??
그리고 디플리케이티드 되있던데 혹시 대체 할만한 예제가 있을지요 ㅠㅠ
새해복 많이 받으세요!
2010.02.13 15:24:59
저도 같은 경우가 생겼던 적이 있었는데 원인은 이랬습니다.
Cursor를 따올때 쿼리문을 날려주잖아요. 그때 따올 column을 정해줘야 하는데 이 부분에서 실수를 했었습니다...따올 컬럼 세팅해주는 부분도 한번 확인해 보심이..
Cursor를 따올때 쿼리문을 날려주잖아요. 그때 따올 column을 정해줘야 하는데 이 부분에서 실수를 했었습니다...따올 컬럼 세팅해주는 부분도 한번 확인해 보심이..
2010.02.13 15:28:52
private final String []searchType = {Contacts.People._ID,Contacts.People.NAME,Contacts.Phones.NUMBER};
Uri contact =Contacts.People.CONTENT_URI;
Cursor cursor = managedQuery(contact, searchType, null, null, null);
while (cursor.moveToNext()) {
lad.add(new AddressData(cursor.getString(cursor.getColumnIndexOrThrow(People.NAME)),cursor.getString(cursor.getColumnIndexOrThrow(Contacts.Phones.NUMBER))));
}
셋팅은 이와같이 정확히 넘버로 맞췃는데요 >.<
경험해보신분이라고 하니까 자꾸 앵기고싶네요 >.< ㅠㅠ
ㅠㅠ
Uri contact =Contacts.People.CONTENT_URI;
Cursor cursor = managedQuery(contact, searchType, null, null, null);
while (cursor.moveToNext()) {
lad.add(new AddressData(cursor.getString(cursor.getColumnIndexOrThrow(People.NAME)),cursor.getString(cursor.getColumnIndexOrThrow(Contacts.Phones.NUMBER))));
}
셋팅은 이와같이 정확히 넘버로 맞췃는데요 >.<
경험해보신분이라고 하니까 자꾸 앵기고싶네요 >.< ㅠㅠ
ㅠㅠ
2010.02.13 15:36:07
음...컨텐트 프로바이더를 실제로 써보지는 않고 이론적으로만 알고 있어서...ㅜ 혹시 전화번호부에 넘버는 저장이 안되있는 것이 아닐까요 확인해 보셨나요?
2010.02.15 10:31:27
일단... 요놈은 2.0부터는 Deprecated 된 부분입니다.
하위호환성 때문이 아니라면 2.0부터 새로바뀐 API로 구현하시는걸 추천합니다.
그리고 확실하게 확인해보려면 sqlite3 명령을 이용해서 직접 contacts db 내용을 확인하는게 가장 빠르고 확실하지 않을까 생각이 드네요.
2010.02.16 16:33:30
위에서 말씀하신 " 혹시나해서 int로 형태 바꾸고 셋팅해서 해봤는데 0으로 나왔습니다 >..< "
이부분으로 봐선 쿼리는 정상적으로 동작하지만 Number 값이 DB 없는게 맞구요.
근데..
Contacts.People.CONTENT_URI 를 쓰셨으면..
Contacts.People.Phones.NUMBER, 이거 아닌가요?
Contacts.Phones.CONTENT_URI 를 쓰면 위와 같구요 ;;
지금 People URI 로.. Phones 의 DB 내용을 읽으시려 하시는 것 같아요.. ^^;
이부분으로 봐선 쿼리는 정상적으로 동작하지만 Number 값이 DB 없는게 맞구요.
근데..
Contacts.People.CONTENT_URI 를 쓰셨으면..
Contacts.People.Phones.NUMBER, 이거 아닌가요?
Contacts.Phones.CONTENT_URI 를 쓰면 위와 같구요 ;;
지금 People URI 로.. Phones 의 DB 내용을 읽으시려 하시는 것 같아요.. ^^;