반응형
출처 : http://www.kandroid.org/board/board.php?board=sourcecode&command=body&no=18
안녕하세요. 왕초보 신입생 사로자바입니다.
마소 잡지를 토대로 공부하고 있는데 SDK 1.0 에서 바뀐 부분이 좀 있어서...
내공이 부족한 저로서는 잘 나가다가 진도가 꽉 막힌답니다.
전화번호부 목록 불러오는 코드입니다.
마소 잡지랑 바뀐부분 비교해보면서 보셔도 좋을것 같네요.
제가 이해한대로 주석을 달아봤어요... 제대로 달았는지 의심이;;
참고로 AndroidManifest.xml 파일에는 전화번호부를 읽을 수 있는 권한을 줘야 하네요...
그럼 모두들 열공합시다~
안녕하세요. 왕초보 신입생 사로자바입니다.
마소 잡지를 토대로 공부하고 있는데 SDK 1.0 에서 바뀐 부분이 좀 있어서...
내공이 부족한 저로서는 잘 나가다가 진도가 꽉 막힌답니다.
전화번호부 목록 불러오는 코드입니다.
마소 잡지랑 바뀐부분 비교해보면서 보셔도 좋을것 같네요.
제가 이해한대로 주석을 달아봤어요... 제대로 달았는지 의심이;;
public class HelloAndroid extends Activity {
private static final String TAG = "HelloAndroid";
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 레이아웃 설정
LinearLayout layout = new LinearLayout(this);
layout.setOrientation(LinearLayout.VERTICAL);
// 주소록 URI
Uri people = Contacts.People.CONTENT_URI;
// 검색할 컬럼 정하기
String[] projection = new String[] {
Contacts.People._ID,
Contacts.People.NAME,
Contacts.People.NUMBER
};
// 쿼리 날려서 커서 얻기
Cursor cursor = managedQuery(people, projection, null, null, null);
if(cursor.moveToFirst()) {
// 컬럼명으로 컬럼 인덱스 찾기
int idIndex = cursor.getColumnIndex("_id");
int nameIndex = cursor.getColumnIndex(Contacts.PeopleColumns.NAME);
int numberIndex = cursor.getColumnIndex("number");
do {
// 요소값 얻기
int id = cursor.getInt(idIndex);
String name = cursor.getString(nameIndex);
String number = cursor.getString(numberIndex);
// 레이블에 기록
TextView tv = new TextView(this);
tv.setText("id=" + id + ", name=" + name + ", number=" + number);
layout.addView(tv);
// LogCat에 로그 남기기
Log.i(TAG, "id=" + id + ", name=" + name + ", number=" + number);
} while(cursor.moveToNext());
}
// 컨텐트에 뷰 등록
setContentView(layout);
}
} |
참고로 AndroidManifest.xml 파일에는 전화번호부를 읽을 수 있는 권한을 줘야 하네요...
| <uses-permission android:name="android.permission.READ_CONTACTS" /> |
그럼 모두들 열공합시다~