public class MainActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
String[] projection = new String[]{
ContactsContract.Contacts.DISPLAY_NAME,
ContactsContract.PhoneLookup.NUMBER
};
Cursor c = this.getContentResolver().query(Contacts.Phones.CONTENT_URI, projection, null, null, ContactsContract.Contacts.DISPLAY_NAME + " ASC");
c.moveToFirst();
int nameColumn = c.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME);
int phoneColumn = c.getColumnIndex( ContactsContract.PhoneLookup.NUMBER);
if( c.getCount() > 0 ) {
do{
String name = c.getString(nameColumn);
String phoneNumber = c.getString(phoneColumn);
Toast.makeText(this, name+":"+phoneNumber, Toast.LENGTH_SHORT).show();
} while(c.moveToNext());
}
}
}
에서 Contacts.Phones.CONTENT_URI는 구버전의 api이기 때문에 다른 것으로 바꾸려고 합니다.
그래서 ContactsContract.Contacts.CONTENT_URI로 바꾸었는데
로그캣을 통해 다음과 같이 에러가 뜹니다.
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.mycompany.chap16_1/com.mycompany.chap16_1.MainActivity}: java.lang.IllegalArgumentException: Invalid column number
어떤게 잘못되었을까요 ㅠㅠ