일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 금리인상
- LG전자
- 안드로이드
- 국제유가
- 영어메일쓰기
- e-mailwriting
- 어학·외국어
- englishwriting
- 주식시황
- Java
- Python
- android
- S&P
- 사드보복완화
- Intent
- 다우
- 파이썬
- 영어메일
- 트럼프
- 토익이메일
- 다우산업
- toeice-mail
- 네마녀의날
- 나스닥
- ruby
- 무역전쟁
- 화승엔터프라이즈
- 셀트리온
- dataframe
- 시황
- Today
- Total
Developer MJ Story
[Android/Contacts] 번호를 입력하면 DB저장된 이름을 Return하는 함수 구현 본문
- Android는 사용자가 저장한 주소록을 DB의 형태로 관리
- DB에 쿼리를 보내 원하는 정보를 얻을 수 있음
- 아래의 Source Code는 번호를 입력으로 받아 이름을 return하는 함수임
- Source Code
public String SearchName(String PhoneNumber){
String name = "unKnown";
Cursor phoneCursor = null;
try{
Uri uContactsUri = ContactsContract.CommonDataKinds.Phone.CONTENT_URI;
String strProjection = ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME;
phoneCursor = getContentResolver().query(uContactsUri, null, null, null, strProjection);
phoneCursor.moveToFirst();
String savedName = "";
String savedNumber = "";
int nameColumn = phoneCursor.getColumnIndex(Phone.DISPLAY_NAME);
int numberColumn = phoneCursor.getColumnIndex(Phone.NUMBER);
while(!phoneCursor.isAfterLast()){
savedName = phoneCursor.getString(nameColumn);
savedNumber = phoneCursor.getString(numberColumn);
if(PhoneNumber.equals(savedNumber)){
return savedName;
}
phoneCursor.moveToNext();
}
}catch(Exception e){
Log.e(TAG,e.toString());
}
return name;
}
- 주소록의 URI인 'uContactsUri' 로 쿼리를 보냄
- 'getContentResolver()'를 통해 주소록의 Cursor 값을 받아옴
- 'getColumnIndex(Phone.DISPLAY_NAME)'로 저장되어 있는 사용자의 이름의 Cursor 값을, 'phoneCursor.getColumnIndex(Phone.NUMBER)'로 저장되어 있는 사용자의 폰 번호의 cursor 값을 받아옴
- while문은 Cursor가 끝을 가리킬 때 까지 loop문을 실행하고, 'getString()'을 통해 해당 Cursor 값에 저장되어 있는 String 값을 각각의 변수에 저장하여 입력으로 받은 번호 값과 일치하는 번호 값을 찾아내어 해당 Cursor 값에 저장되어있는 사용자의 이름을 return
'Software > Android' 카테고리의 다른 글
[Android/AsyncTask] AsyncTask 활용하기 (0) | 2014.06.09 |
---|---|
[Android/ListView] Android ListView에 두 개의 아이템 표시하기(simple_list_item_2) (0) | 2014.06.09 |
[Android/Java] StringTokenizer를 이용한 String 나누기 (0) | 2014.06.09 |
[Android/Intent] Broadcast Receiver(activity와 다른 class)에서 intent로 Activity call하기 (0) | 2014.06.09 |
[Android/SMS] Android에서 code로 SMS 보내고 받기 (0) | 2014.06.09 |