개발/Android

android 주소록의 전화번호를 가져와 봅시다

xwing 2011. 4. 22. 14:49
android 주소록의 전화번호를 가져와 봅시다.

[소스]

public class PersonList extends Activity {
    
	ListView listPerson;
	
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        listPerson = (ListView)findViewById(R.id.listPerson);
        
        getList();
    }
    
    public void getList(){
    	    	
    	Uri uri = ContactsContract.CommonDataKinds.Phone.CONTENT_URI;
    	
    	String[] projection = new String[] {   			
    			ContactsContract.CommonDataKinds.Phone.NUMBER,
    			ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME
    	};
    	
    	String[] selectionArgs = null;

    	//정렬
    	String sortOrder = ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME + " COLLATE LOCALIZED ASC";
    	//조회해서 가져온다
    	Cursor contactCursor = managedQuery(uri, projection, null, selectionArgs, sortOrder);
    	
        //정보를 담을 array 설정
    	ArrayList persons = new ArrayList();

    	if(contactCursor.moveToFirst()){    	
	    	do{
	    		persons.add(contactCursor.getString(1) + "/" + contactCursor.getString(0));    		
	    	}while(contactCursor.moveToNext());
    	}
    	
        //리스트에 연결할 adapter 설정   	
    	ArrayAdapter adp = new ArrayAdapter(this, android.R.layout.simple_list_item_1, persons);
    	
        //리스트뷰에 표시
    	listPerson.setAdapter(adp);
    	
    }
}
봄비가 오네^^