android-对 ContentResolver 的学习
来源:互联网 发布:非线性最优化方法 编辑:程序博客网 时间:2024/06/05 23:08
ContentProvider(内容提供者):
内容提供者的用法一般有两种,一种是使用现有的内容提供者来读取和操作相应程序中的数据,另一种是创建自己的内容提供者给我们程序的数据提供外部访问接口。
代码如下:
public void getContacts(final View view){ // 查询联系人的电话号码 final Cursor cursor=mCr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, null, null); BaseAdapter adapter = new BaseAdapter(){ @Override public int getCount() { // TODO Auto-generated method stub return cursor.getCount(); } @Override public Object getItem(int position) { // TODO Auto-generated method stub return 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 cursor.moveToPosition(position); TextView rb = new TextView(MainActivity.this); String number = cursor .getString(cursor.getColumnIndex( ContactsContract.CommonDataKinds .Phone.NUMBER)) .replace("-", "") .replace(" ", "").trim();// rb.setText(number); String name = cursor .getString(cursor.getColumnIndex( ContactsContract.CommonDataKinds .Phone.DISPLAY_NAME)).trim(); rb.setText("姓名:"+name+"号码:"+number); return rb; }}; final ListView listView = (ListView)findViewById(R.id.lv_main_values); listView.setAdapter(adapter); }
这里我重写了getcount ,getitem,getItemId,getView,四个方法
在getView方法里获取联系人信息,这里我写的跟别人的差不多,可问题就是查找到的信息只有一个,而我本地信息不止一个。求大神指教下!
再在配置里面添加联系人的权限如下
<!-- 添加联系人的权限 --> <uses-permission android:name="android.permission.READ_CONTACTS"></uses-permission> <uses-permission android:name="android.permission.WRITE_CONTACTS"></uses-permission>
下面是点击按钮直接弹出联系人列表:
public void getIdContacts(View view){ //调用联系人界面 Intent intent = new Intent(); intent.setAction(Intent.ACTION_PICK); intent.setType("vnd.android.cursor.dir/phone"); startActivityForResult(intent,0x100); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { // TODO Auto-generated method stub super.onActivityResult(requestCode, resultCode, data); Uri uri=data.getData(); Cursor cursor=getContentResolver().query(uri, null, null, null, null); while(cursor.moveToNext()){ String name=cursor.getString(cursor.getColumnIndex(Contacts.Phones.NAME)); String number=cursor.getString(cursor.getColumnIndex(Contacts.Phones.NUMBER)) .replace("-", "").replace(" ", "").trim(); mTv_main_values.setText("电话号码:"+number+"姓名:"+name); } }
2 1
- android-对 ContentResolver 的学习
- ContentProvider和ContentResolver的学习
- 实现ContentResolver对ContentProvider内容的修改
- Android:ContentProvider的基本方法以及ContentResolver的对Provider的简单增删改查
- android的与ContentResolver(内容访问者)对ContentProvider(内容提供者)的增删查改
- Android中通过ContentProvider和ContentResolver对通讯录的读取与操作
- Android ContentProvider(内容提供者{模拟底层})和Contentresolver(内容接受者{实现对ContentProvider数据的修改})
- Android学习篇章37-ContentProvider-ContentResolver
- android 学习笔记 内容提供器ContentResolver
- ContentResolver学习
- android-ContentResolver
- android ContentResolver
- Android ContentResolver
- Android ContentResolver
- 关于ContentProvider,ContentResolver的学习笔记
- android - ContentResolver类的几个重点方法.
- Android ContentProvider、ContentResolver和ContentObserver的使用
- Android应用:ContentResolver内容观察者的使用
- Rails默认更新用户密码策略的修改
- linux之openssl简单介绍
- python 乱序数组,list等有序结构的方法
- SQL Server 基础(一)
- Orientation - 3
- android-对 ContentResolver 的学习
- Unable to locate Spring NamespaceHandler for XML schema namespace [http://www.springframework.org/sc
- 网海茫茫,有你最暖
- 分享几个android软件的源码和网站
- Android 音乐播放器获取数据
- 收藏的一些网站
- 关于薪水保险金的那些事
- Android的五种数据储存
- android 设置控件焦点