336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
package com.tistory.tansanc.Test130805;
import java.util.ArrayList;
import android.app.Activity;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class MainActivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.c09_listview);
// * 데이터 원본 준비
ArrayList arContactList = new ArrayList();
arContactList = getContactList();
ArrayList arGeneral = new ArrayList();
for( int i = 0 ; i < arContactList.size() ; i++ )
{
arGeneral.add( arContactList.get(i).name );
}
// */
/*
* 배열로 준비 String[] arGeneral = {"김유신", "이순신", "강감찬", "을지문덕"}; //
*/
// 어댑터 준비
ArrayAdapter Adapter;
Adapter = new ArrayAdapter(this,
android.R.layout.simple_list_item_1, arGeneral);
// 어댑터 연결
ListView list = (ListView) findViewById(R.id.list);
list.setAdapter(Adapter);
}
private ArrayList getContactList() {
Uri uri = ContactsContract.CommonDataKinds.Phone.CONTENT_URI;
String[] projection = new String[] {
ContactsContract.CommonDataKinds.Phone.CONTACT_ID, // 연락처 ID -> 사진 정보
// 가져오는데 사용
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);
ArrayList contactlist = new ArrayList();
if (contactCursor.moveToFirst()) {
do {
String phonenumber = contactCursor.getString(1).replaceAll("-",
"");
if (phonenumber.length() == 10) {
phonenumber = phonenumber.substring(0, 3) + "-"
+ phonenumber.substring(3, 6) + "-"
+ phonenumber.substring(6);
} else if (phonenumber.length() > 8) {
phonenumber = phonenumber.substring(0, 3) + "-"
+ phonenumber.substring(3, 7) + "-"
+ phonenumber.substring(7);
}
Contact acontact = new Contact();
acontact.setPhotoid(contactCursor.getLong(0));
acontact.setPhonenum(phonenumber);
acontact.setName(contactCursor.getString(2));
contactlist.add(acontact);
} while (contactCursor.moveToNext());
}
return contactlist;
}
public class Contact {
long photoid;
String phonenum;
String name;
public long getPhotoid() {
return photoid;
}
public void setPhotoid(long photoid) {
this.photoid = photoid;
}
public String getPhonenum() {
return phonenum;
}
public void setPhonenum(String phonenum) {
this.phonenum = phonenum;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
}
Layout XML
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<ListView
android:id="@+id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
</LinearLayout>
Manifest 추가
<uses-permission android:name="android.permission.READ_CONTACTS" />
'Programming > Android' 카테고리의 다른 글
| Android 라디오 mms 주소로 듣기 (1) | 2013.08.16 |
|---|---|
| Android Intro 로딩 Activity (0) | 2013.08.12 |
| 안드로이드 타자 연습 예제 (0) | 2013.08.08 |
| Android 다양한 Layout 사용법 (0) | 2013.08.07 |
| Could not find .apk (0) | 2013.05.24 |

