android 知识点 之Provider
来源:互联网 发布:数据采集与处理投稿 编辑:程序博客网 时间:2024/05/20 11:32
实现contentProvider 的基本过程;
1、定义一个 CONTENT_URI 常量。
2、定义一个类 继承ContentProvider 。
3、实现 query,update,insert,delete,getType 和onCreate放法。
4、在AndroidManifest.xml 中声明
在application 标签中加入:
<provider android:name="com.sslinm.FirstContentProvider"
1、定义一个 CONTENT_URI 常量。
2、定义一个类 继承ContentProvider 。
3、实现 query,update,insert,delete,getType 和onCreate放法。
4、在AndroidManifest.xml 中声明
在application 标签中加入:
<provider android:name="com.sslinm.FirstContentProvider"
android:authorities="com.sslinm.FirstContentProvider"/>
为了数据的通用性
在provicer当中,根据uri 来判断,这个uri请求应该进行怎样的处理:(以query 方法为例)
@Override public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) { System.out.println(" in the query method "); SQLiteQueryBuilder sqlB = new SQLiteQueryBuilder(); // 条件过滤判断,符合那个uri条件进入那个分支 int match = uriMatcher.match(uri); System.out.println(match+" is match"); switch(match){ case INCOMING_USER_COLLECTION : sqlB.setTables(UserTableMetaData.TABLE_NAME); sqlB.setProjectionMap(userProjectMap); break; case INCOMING_USER_SINGLE : sqlB.setTables(UserTableMetaData.TABLE_NAME); sqlB.setProjectionMap(userProjectMap); // 单个查询的条件 sqlB.appendWhere(UserTableMetaData._ID+"="+uri.getPathSegments().get(1)); break; default:throw new RuntimeException(" no match uri !!"); } // 判断orderBy字句 String orderBy; if(TextUtils.isEmpty(sortOrder)){ orderBy = UserTableMetaData.DEFAULT_SORT_ORDER; }else{ orderBy = sortOrder; } SQLiteDatabase db = dbHelper.getReadableDatabase(); Cursor cursor = sqlB.query(db, projection, selection, selectionArgs, null, null, orderBy); // 通知监听 cursor.setNotificationUri(getContext().getContentResolver(), FirstProviderMetaData.UserTableMetaData.CONTENT_URI); return cursor; }
在activity 里面通过getContentResolver() 就可以得到一个 包含provider 调用的对象,然后调用provider中对应的方法 像什么insert,query等等
- android 知识点 之Provider
- Android之Content provider
- android之Content Provider
- android组件之Content Provider
- Android之Content Provider学习
- Android基础之Content Provider
- Android温故之-Content Provider
- Android系列之Content Provider
- Android组件之Content Provider
- Android API之android.provider.ContactsContract.Contacts
- Android API之android.provider.ContactsContract.Contacts
- Android API之android.provider.ContactsContract
- Android API之android.provider.ContactsContract.Data
- Android API之android.provider.ContactsContract.RawContacts
- android Content Provider基础之 SQL
- android Content Provider基础之 SQL
- Android Content Provider 之Contacts数据库操作
- android应用开发之content provider详解
- C语言内存分配:malloc、calloc、realloc
- 开启mysql远程连接设置
- 自定义 Dialog
- 电子游戏的秘密:雅达利和它的 PONG
- C++ CLR 读取Worksheet名称
- android 知识点 之Provider
- Python-字符串操作方法(转)
- IText实现多个pdf转成一个pdf
- 让我恍然大悟的Mysql高效率分页方法
- 排序之直接插入排序
- Python中re(正则表达式)模块学习
- [转载]炒股其实是一种博弈
- 今天打到sxm一段,有点井漏,从上午10点半到现在一直在堵漏
- vmware accelerated amd pcnet adapter显示黄色感叹号