查询手机联系人并展示

来源:互联网 发布:mastercam编程培训 编辑:程序博客网 时间:2024/05/07 22:28
public class MyActivity extends Activity {

    private ListView listView;
    private List<User> list2 = new ArrayList<User>();
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.myactivity);
        listView = (ListView) findViewById(R.id.LV);
        list2 = butchaxun();
        
        MyBase base = new MyBase(this, list2);
        listView.setAdapter(base);
    
    }
 
    class MyBase extends BaseAdapter{

        Context context;
        List<User> list;
        
        public MyBase(Context context, List<User> list) {
            super();
            this.context = context;
            this.list = list;
        }

        @Override
        public int getCount() {
            // TODO Auto-generated method stub
            return list!=null?list.size():0;
        }

        @Override
        public Object getItem(int position) {
            // TODO Auto-generated method stub
            return list.get(position);
        }

        @Override
        public long getItemId(int position) {
            // TODO Auto-generated method stub
            return position;
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            // TODO Auto-generated method stub
            if (convertView==null) {
                convertView = convertView.inflate(MyActivity.this, android.R.layout.simple_expandable_list_item_1,null );
            }
            TextView text1 = (TextView) convertView.findViewById(android.R.id.text1);
            text1.setText("名字:"+list.get(position).getName()+"\n电话:"+list.get(position).getPhone());
            
            return convertView;
        }
        
        
    }
     List<User> list1 = new ArrayList<User>();
        public List<User> butchaxun(){
            ContentResolver contentResolver = getContentResolver();
            Uri rawUri = Uri.parse("content://com.android.contacts/raw_contacts");
            Uri dataUri = Uri.parse("content://com.android.contacts/data");
            
            Cursor rawCursor = contentResolver.query(rawUri, null, null, null, null);
            StringBuffer sb = new StringBuffer();
            while (rawCursor.moveToNext()) {
            
            int id = rawCursor.getInt(rawCursor.getColumnIndex("contact_id"));
            
            User user = new User();
            
            Cursor dataCursor = contentResolver.query(dataUri, null, "raw_contact_id = ?", new String[]{String.valueOf(id)}, null);
            
            while (dataCursor.moveToNext()) {
                String data1 = dataCursor.getString(dataCursor.getColumnIndex("data1"));
                String mimetype = dataCursor.getString(dataCursor.getColumnIndex("mimetype"));
                
                if ("vnd.android.cursor.item/name".equals(mimetype)) {
                    user.setName(data1);
                }else if ("vnd.android.cursor.item/phone_v2".equals(mimetype)) {
                    user.setPhone(data1);
                }
                list1.add(user);                                         
                
            }
        }
        return list1;
            
        }
原创粉丝点击