位置: 编程技术 - 正文
推荐整理分享android数据存储读取6:contentProvider的使用(提供自己应用的数据)(android数据存储与访问的方式有),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:android数据存储文件读写实验,android数据存储的方式有哪几种?,android数据存储与访问的方式( ),android数据存储与访问的方式有,android数据存储实验报告,android数据存储的方式有哪几种?,android数据存储与访问的方式有,android数据存储的方式有哪几种?,内容如对您有帮助,希望把文章链接给更多的朋友!
contentprovider 可以提供应用的数据供其它的应用使用。同时也可以利用它访问其它的应用。比如访问手机短信、手机Music、联系人等等。优点在于提供了公共的、统一的数据访问接口。
也就是说 别的应用调用 固定的都有增删改查方法
ContentProvider的使用大致可以分为下面几个部分:
首先我们需要定义一个类继承ContentProvider
public class PersonContentProviderextends ContentProvider
(1)在类中定义一个静态代码块,实现UIR等的初始化设置
static {
uriMatcher =new UriMatcher(UriMatcher.NO_MATCH);
// 添加一些uri(分机号)
uriMatcher.addURI(AUTHORITY,"person/insert",PRESON_INSERT_CODE);
}
"person/insert" 这个person名字一般是数据库的名字,当然用其它名字也可以。后面的insert一般取方法名字。(2)实现insert方法 (首先要通过URI匹配权限是否正确)然欧才能对数据库进行操作
@Override
public Uri insert(Uri uri, ContentValues values) {
switch (uriMatcher.match(uri)) {
casePRESON_INSERT_CODE:
SQLiteDatabase db = mOpenHelper.getWritableDatabase();
if(db.isOpen()) {
long id = db.insert("person",null, values);
db.close();
return ContentUris.withAppendedId(uri, id);
}
break;
default:
throw new IllegalArgumentException("uri不匹配: " uri);
}
returnnull;
}
(3)manifester中注册使用权限<provider
android:name=".providers.PersonContentProvider"
android:authorities="包名.PersonContentProvider"
android:readPermission="aa.bb.cc.read"
android:writePermission="aa.bb.cc.write">
</provider>
第三方应用使用数据的时候:
(1)manifester中权限声明
<uses-permissionandroid:name="aa.bb.cc.read"/>
<uses-permissionandroid:name="aa.bb.cc.write"/>
(2)创建内容提供者对象。调用公共Insert方法,插入对象。根据URI查找对象所在的位置Uri uri = Uri.parse(" 内容提供者访问对象
ContentResolver resolver = getContext().getContentResolver();
ContentValues values = new ContentValues();
values.put("name","fengjie");
values.put("age", );
uri = resolver.insert(uri, values);
音频资料 这是我在网上看到的关于各种音频式最全的一个帖子,特地转载过来,供大家参考。在些对收集者和各位作者表示真诚的感谢。1、WAV文件:采样率(Samp
判断手机网络连接状态 有时做Android开发需要用到网络来连接服务器,如果没有网络则进行提示。代码很简单,代码如下:publicstaticbooleanisNetworkAvailable(Contextcontext){ConnectivityMana
boost全平台编译方法 0.通用规则boost自带一套编译工具bjam,bjam本身是跨平台的,并且也要自行编译出来。在boost目录下有bootstrap.sh和bootstrap.bat两个脚本分别用来编译*nix和wind
上一篇:(转)Android高效加载大图、多图解决方案,有效避免程序OOM(安卓手机加速方法)
下一篇:音频资料(音频资料下载)
友情链接: 武汉网站建设