访问内容提供器(ContentProvider)提供的数据
来源:互联网 发布:数据库更新数据语句 编辑:程序博客网 时间:2024/05/01 06:41
一:访问内容提供器已经提供的数据
内容URI:
1:协议声明//包名.权限/路径 eg: content:// com.example.test.provider/tablename
2:协议声明//包名.权限/路径/id eg: content:// com.example.test.provider/tablename/1 访问tablename表下ID为1的记录
将内容URI变为URI对象: Uri uri=Uri.parse("content:// com.example.test.provider/tablename");
Cursor cursor=getContentResolver().query(uri,projection,selection,selectionArgs,sortOrder);
第二个参数,projection,这个参数告诉Provider要返回的列的内容(列Column)
第三个参数,selection,设置条件,相当于SQL语句中的where。
第四个参数,selectionArgs,这个参数是要配合第三个参数使用的,如果你在第三个参数里面有?,那么你在selectionArgs写的数据就会替换掉?
第五个参数,sortOrder,按照什么进行排序,相当于SQL语句中的Order by columnName DESE/ASC;
eg:
cursor=getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,null, null, android.provider.ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME+" ASC");//ASC DESC 记得加空格直接上个读取手机联系人的例子吧:
package com.example.contactstest;import java.util.ArrayList;import java.util.List;import android.app.Activity;import android.database.Cursor;import android.os.Bundle;import android.provider.ContactsContract;import android.util.Log;import android.view.Window;import android.widget.ArrayAdapter;import android.widget.ListView;public class MainActivity extends Activity {ListView contactsListView;List<String> contacts=new ArrayList<String>();ArrayAdapter<String> adapter;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);requestWindowFeature(Window.FEATURE_NO_TITLE);setContentView(R.layout.activity_main);contactsListView=(ListView) findViewById(R.id.contacts_view);adapter=new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,contacts);contactsListView.setAdapter(adapter);readContacts();}private void readContacts(){Cursor cursor=null;try{cursor=getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,null, null, android.provider.ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME+" ASC");//ASC DESC 记得加空格while(cursor.moveToNext()){//String displayName=cursor.getColumnName(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));String displayName=cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));String number=cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));String contactsNumber=displayName+"\n"+number;Log.d("AAA", contactsNumber);contacts.add(contactsNumber);}}catch(Exception e){e.printStackTrace();}finally{if(cursor!=null){cursor.close();}}}}
0 0
- 访问内容提供器(ContentProvider)提供的数据
- ContentProvider ---内容提供器
- ContentProvider内容提供器
- ContentProvider(内容提供器)
- ContentProvider 内容提供器
- 创建自己的内容提供器ContentProvider
- Android 内容提供器 ContentProvider
- ContentProvider--------详解内容提供器
- Android 内容提供器---创建内容提供器(实现ContentProvider的MIME类型)
- Android 内容提供器---创建内容提供器(实现ContentProvider的MIME类型)
- Android 内容提供器---内容提供器基础(提供器访问方式的替代形式)
- Android 内容提供器---内容提供器基础(提供器访问方式的替代形式)
- Android之内容提供器ContentProvider的简单表示
- Android之ContentProvider(一):内容提供器的用法
- 跨程序内容提供器ContentProvider
- ContentProvider内容提供器学习笔记
- Android 组件ContentProvider(一)内容提供器
- [Android四大组件] ContentProvider 内容提供器
- Error:(2) Error: "app_name" is not translated in "en" (English) [MissingTranslation]
- 线性表的链式存储结构(链表)
- Snowflake Snow Snowflakes----查找
- El capitan上编译安装bochs 2.6.8
- Java中从前往后和从后往前遍历ArrayList
- 访问内容提供器(ContentProvider)提供的数据
- 数据结构实验之查找一:二叉排序树
- Record Video Simply
- 其实你也懂指针计算
- mysql函数+存储过程
- 1
- mysql 查询语句
- ※ Leetcode - Array - 380. Insert Delete GetRandom O(1)(vector+map实现set)
- C++中的new、operator new与placement new