Android开发 应用通信 ContentProvider ContentResolver

1.应用通信

 

ContentProvider是一个Android组件,它提供了一个标准接口来在不同的应用程序之间共享数据。它充当应用程序和数据源之间的中介,数据源可以是SQLite数据库、文件,甚至是远程服务器。ContentProvider提供了一组方法来管理对数据的访问,例如查询、插入、更新和删除数据。它还支持内容URI,这些URI是表示一段数据的唯一标识符。


另一方面,ContentResolver是应用程序用来访问ContentProviders数据的另一个Android组件。ContentResolver负责查找并与保存请求数据的相应ContentProvider通信。它提供了一组方法来查询ContentProviders、插入、更新和删除数据,以及注册ContentObserver以侦听数据中的更改。

简单来说ContentProvider封装应用的数据,另一个应用想要访问该应用的数据,可以使用ContentResolver来调用ContentProvider中的增删查改方法。

2.代码

ContentProvider:

package com.example.ch07_server;

import android.content.ContentProvider;
import android.content.ContentValues;
import android.content.UriMatcher;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.net.Uri;
import android.util.Log;

import com.example.ch07_server.database.DBHelper;

public class ServerContentProvider extends ContentProvider {
    private DBHelper dbHelper;
    private static final String authority = "com.example.ch07_server.ServerContentProvider";
    private static final UriMatcher URI_MATCHER = new UriMatcher(UriMatcher.NO_MATCH);

    private static final int USERS = 1;
    private static final int USER = 2;

    static {
        URI_MATCHER.addURI(auth
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值