반응형
출처 : 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" /> |
그럼 모두들 열공합시다~