【contentprovider系列2】查询联系人的信息
来源:互联网 发布:dijkstra算法原理 编辑:程序博客网 时间:2024/06/06 02:17
布局文件
<?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/listview" android:layout_width="match_parent" android:layout_height="wrap_content" ></ListView></LinearLayout>
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/t1" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:id="@+id/t2" android:layout_width="wrap_content" android:layout_height="wrap_content" /></LinearLayout>
自定义适配器
package com.ht.contentprovider150505;import android.content.Context;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.TextView;import java.util.List;import java.util.Map;/** * Created by IntelliJ IDEA * Project: com.ht.mynote.adapters * Author: 安诺爱成长 * Email: 1399487511@qq.com * Date: 2015/5/2 */public class MyAdapter extends BaseAdapter { private Context context; private List<Map<String, String>> list; public MyAdapter(Context context, List<Map<String, String>> list) { this.context = context; this.list = list; } @Override public int getCount() { return list.size(); } @Override public Object getItem(int i) { return list.get(i); } @Override public long getItemId(int i) { return i; } @Override public View getView(int i, View view, ViewGroup viewGroup) { ViewHolder viewHolder = null; if (view == null) { view = LayoutInflater.from(context).inflate(R.layout.item_contacts, null); viewHolder = new ViewHolder(); viewHolder.t1 = (TextView) view.findViewById(R.id.t1); viewHolder.t2 = (TextView) view.findViewById(R.id.t2); view.setTag(viewHolder); } else viewHolder = (ViewHolder) view.getTag(); viewHolder.t1.setText(list.get(i).get("name")); viewHolder.t2.setText(list.get(i).get("phone")); return view; } private class ViewHolder { private TextView t1; private TextView t2; }}
mainactivity
package com.ht.contentprovider150505;import android.app.Activity;import android.content.ContentResolver;import android.database.Cursor;import android.os.Bundle;import android.provider.ContactsContract;import android.widget.*;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;public class MainActivity extends Activity { private ListView listView; private ListAdapter adapter; /** * Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ContentResolver cr = getContentResolver(); //得到的是所有的联系人信息 Cursor cursor = cr.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null); List<Map<String, String>> mapList = new ArrayList<>(); while (cursor.moveToNext()) { Map map = new HashMap<>(); // 取得联系人名字 int nameFieldColumnIndex = cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME); String name = cursor.getString(nameFieldColumnIndex); map.put("name", name); // 取得联系人ID String contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID)); //这里的URI是一个字段 Cursor phone = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = " + contactId, null, null); List<String> list = new ArrayList<>(); // 取得电话号码(可能存在多个号码) while (phone.moveToNext()) { String strPhoneNumber = phone.getString(phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); list.add(strPhoneNumber); } phone.close(); map.put("phone", list.toString()); mapList.add(map); } cursor.close(); ListView listView = (ListView) findViewById(R.id.listview); MyAdapter myAdapter = new MyAdapter(this, mapList); listView.setAdapter(myAdapter); }}
1 0
- 【contentprovider系列2】查询联系人的信息
- 【contentprovider系列1】android联系人信息的存储结构
- 【contentprovider系列3】增加联系人信息
- 【contentprovider系列4】删除联系人信息
- 【contentprovider系列5】修改联系人信息
- 使用ContentProvider获取联系人的所有信息
- contentprovider管理联系人信息
- ContentProvider获取联系人信息
- 查询手机联系人的信息
- android-ContentProvider获取联系人信息
- 利用ContentProvider查询手机联系人
- 利用ContentProvider获取手机中联系人的信息
- 使用系统自带的ContentProvider查询联系人
- 本地联系人的ContentProvider
- Android 查询本地通讯录联系人的信息
- 获取ContentProvider来获取手机所有的联系人及联系人信息
- 查询联系人信息
- 使用系统ContentProvider获取联系人信息
- 第三章:UVa1588 解题报告
- 网页制作的几个小技巧
- 安全域的划分
- 自定义Seekbar样式
- 实现ARM-linux自动登录
- 【contentprovider系列2】查询联系人的信息
- MySQL锁表解决方法(转)
- XenServer网卡Bonding
- 面向对象之值传递和引用传递
- hdu4882
- 在Ubuntu中安装Docker
- vim 配置、插件和使用技巧
- Android SDK镜像的介绍使用
- Mysql常用函数