oracle row 00033,00033-ContentProvider实现数据共享[总结]

ContentProvider实现数据共享[总结]

OK,ContextProvider测试完成,总结下。

这个东西出现的意义是为了一个系统中,多应用间共享数据?

那不有文件,xml形式吗?嗯,当然,这也是种方式。

思路:

1.provider部署建立

a).继承ContextProvider这个抽象基类

b).ContextProvider这玩意是个抽象类,CURD函数都是空实现,等你来实现的。

c).实现ContextProvider CURD函数,根据uri.

d).这中有个很重要的uri匹配对象,UriMatcher

e).Manifest清单中配置好provider,在系统中,为此应用添加自定义访问权限(安全起见)

2.resolver调用

a).获取ContentResolver对象,调用CURD api即可。

1.provider部署建立

源码示例

[

package="com.android.buluo.contenproviderDemo"

android:versionCode="1"

android:versionName="1.0" >

android:minSdkVersion="8"

android:targetSdkVersion="18" />

android:name="android.test.InstrumentationTestRunner"

android:targetPackage="com.android.buluo.contenproviderDemo" >

android:allowBackup="true"

android:icon="@drawable/ic_launcher"

android:label="@string/app_name"

android:theme="@style/AppTheme" >

android:name="com.android.buluo.contenproviderDemo.BlackActivity"

android:label="@string/app_name" >

android:name="com.android.buluo.contenproviderDemo.MainActivity2"

android:label="@string/app_name" >

android:name="com.android.buluo.providers.DictContentProvider"

android:authorities="com.android.buluo.providers.DictContentProvider"

android:exported="true"

android:readPermission="contenproviderDemo.read"

android:writePermission="contenproviderDemo.write" >

]

[

public class DictContentProvider extendsContentProvider{

// uriMatcher

private static finalUriMatcheruriMatcher = new UriMatcher(

UriMatcher.NO_MATCH);

// AUTHORITY

private static final String AUTHORITY = "com.android.buluo.providers.DictContentProvider";

private static final String DICT_QUERY_ALL = "dict/query_all";

private static final String DICT_QUERY_ITEM = "dict/query_item";

private static final String DICT_DELETE = "dict/delete_all";

private static final String DICT_DELETE_ITEM = "dict/delete_item";

// 相应标识码

private static final int DICT_QUERY_ALL_CODE = 0;

private static final int DICT_QUERY_ITEM_CODE = 1;

private static final int DICT_DELETE_CODE = 2;

private static final int DICT_DELETE_ITEM_CODE = 3;

static {

// 注入uri

uriMatcher.addURI(AUTHORITY, DICT_QUERY_ALL, DICT_QUERY_ALL_CODE);

uriMatcher.addURI(AUTHORITY, DICT_QUERY_ITEM, DICT_QUERY_ITEM_CODE);

uriMatcher.addURI(AUTHORITY, DICT_DELETE, DICT_DELETE_CODE);

uriMatcher.addURI(AUTHORITY, DICT_DELETE_ITEM, DICT_DELETE_ITEM_CODE);

}

@Override

public boolean onCreate()

{

return false;

}

@Override

public Cursor query(Uri uri, String[] projection, String selection,

String[] selectionArgs, String sortOrder)

{

switch (uriMatcher.match(uri)) {

case DICT_QUERY_ALL_CODE:

return null;

case DICT_QUERY_ITEM_CODE:

return null;

default:

break;

}

return null;

}

@Override

public String getType(Uri uri)

{

return null;

}

@Override

public Uri insert(Uri uri, ContentValues values)

{

return null;

}

@Override

public int delete(Uri uri, String selection, String[] selectionArgs)

{

switch (uriMatcher.match(uri)) {

case DICT_DELETE_CODE:

return uriMatcher.match(uri);

default:

throw new IllegalArgumentException("url不匹配:" + uri);

}

}

@Override

public int update(Uri uri, ContentValues values, String selection,

String[] selectionArgs)

{

return 0;

}

}

]

2.resolver调用

源码示例

[

public class TestCase extendsAndroidTestCase{

private static final String TAG = "TestCase";

public void test_query()

{

Uri uri = Uri.parse("content://com.android.buluo.providers.DictContentProvider/dict/query_all");

ContentResolver resolver = this.getContext().getContentResolver();

Cursor cursor = resolver.query(uri, null, null, null, null);

Log.i(TAG, "test_query返回的应该是null:" + cursor);

}

public void test_delete()

{

Uri uri = Uri.parse("content://com.android.buluo.providers.DictContentProvider/dict/delete_all");

ContentResolver resolver = this.getContext().getContentResolver();

int delete_code = resolver.delete(uri, null, null);

Log.i(TAG, "test_delete返回的code应该是2>:" + delete_code);

}

}

]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毕业设计,基于SpringBoot+Vue+MySQL开发的海滨体育馆管理系统,源码+数据库+毕业论文+视频演示 本基于Spring Boot的海滨体育馆管理系统设计目标是实现海滨体育馆的信息化管理,提高管理效率,使得海滨体育馆管理工作规范化、高效化。 本文重点阐述了海滨体育馆管理系统的开发过程,以实际运用为开发背景,基于Spring Boot框架,运用了Java技术和MySQL作为系统数据库进行开发,充分保证系统的安全性和稳定性。本系统界面良好,操作简单方便,通过系统概述、系统分析、系统设计、数据库设计、系统测试这几个部分,详细的说明了系统的开发过程,最后并对整个开发过程进行了总结实现了海滨体育馆相关信息管理的重要功能。 本系统的使用使管理人员从繁重的工作中解脱出来,实现无纸化办公,能够有效的提高海滨体育馆管理效率。 关键词:海滨体育馆管理,Java技术,MySQL数据库,Spring Boot框架 本基于Spring Boot的海滨体育馆管理系统主要实现了管理员功能模块和学生功能模块两大部分,这两大功能模块分别实现的功能如下: (1)管理员功能模块 管理员登录后可对系统进行全面管理操作,包括个人中心、学生管理、器材管理、器材借出管理、器材归还管理、器材分类管理、校队签到管理、进入登记管理、离开登记管理、活动预约管理、灯光保修管理、体育论坛以及系统管理。 (2)学生功能模块 学生在系统前台可查看系统信息,包括首页、器材、体育论坛以及体育资讯等,没有账号的学生可进行注册操作,注册登录后主要功能模块包括个人中心、器材管理、器材借出管理、器材归还管理、校队签到管理、进入登记管理、离开登记管理、活动预约管理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值