안드로이드 개발 질문/답변
(글 수 45,052)
현재 하나의 앱을 거의 완성 시키고 여러 기종의 핸드폰에서 테스트를 해보고 있는상황입니다.
제가 테스트를 항상 갤럭시a 로 하고 있는상태여서 뜻 밖의 상황을 맞았는데요
갤럭시s 에서는 전화번호부를 읽어오지 못하고 어플이 죽어버리는 겁니다.
다른식으로 접근해야할 지 조언 부탁드립니다.
현재 갤럭시a 와 에뮬레이터, 모토로이 에서 잘 뽑아져 나오는 전화번호부 관련 소스입니다.
클래스 사용이 예전꺼 이지만 안드로이드 버젼 2.2 2.1 에서 모두 사용가능한 것 확인했습니다.
부탁드리겠습니다..
String[] projection = new String[] { People.NAME, People.NUMBER };
Cursor c = this.getContentResolver().query(Contacts.Phones.CONTENT_URI,
projection, null, null, People.NAME + " ASC");
c.moveToFirst();
int nameCol = c.getColumnIndex(People.NAME);
int numCol = c.getColumnIndex(People.NUMBER);
do {
// Do something
String friendName = c.getString(nameCol);
String numberString = c.getString(numCol);
adapter.notifyDataSetChanged();
setListAdapter(adapter);
list.add(friendName + "-" + numberString);
// Toast.makeText(this, name+":"+phoneNumber,
// Toast.LENGTH_SHORT).show();
} while (c.moveToNext());
2010.10.04 11:40:33
어플이 죽는다면 Exception 이 어디서 나는지, 왜 나는지 우선 Log 를 봐야죠.
단순히 소스만 가지고 어떤 부분이 문제인지는 알기가 힘들구요.
2010.10.04 12:30:02
java.lang.RuntimeException; Unable to start activity ComponentInfo{com.com.AndChap10/com.com.AndChap10.searchlist}:
android.database.CursorIndexOutOfBoundsException: Index 0 requested, with a size of 0
런타임 익셉션이뜨네요...



