首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

android学习笔记----内容提供者

内容提供者内容提供器(Content Provider)主要用于在不同的应用程序之间实现数据共享的功能,它提供了一套完整的机制,允许一个程序访问另一个程序中的数据,同时还能保证被访问数据的安全性。...目前,使用内容提供器是android实现跨程序共享数据的标准方式。 内容提供者可以把私有的数据库暴露出来。 内容提供者把数据进行封装然后提供出来,其他应用都是通过内容解析者来访问。...实现内容提供者的步骤: 1.定义一个类继承ContentProvider 2.在清单文件里配置内容提供器 3.写一个静态代码块添加匹配规则 4.暴露自己想暴露的方法(增删改查) 5.其他应用就可以通过内容提供者去操作数据库...: android系统自带短信数据库,利用内容提供者向外暴露接口,查看源码: 查看android系统源码,找到我们想要查询的Uri,因为这个Uri并不是我们定义的 根目录: /ackages/providers...写短信的代码如下(愚人节给别人手机写短信95555发送银行卡余额没了): public void click(View view) { // 由于短信数据库已经通过内容提供者暴露出来了

41520

android100 自定义内容提供者

#ContentProvider,就是来操作数据的,增删改查, * 四大组件之一 * 应用的数据库是不允许其他应用访问的 * 内容提供者的作用就是让别的应用访问到你的数据库 * 内容提供者的作用:把私有数据暴露给其他应用...mmssms是短信数据库, *短信数据库有短信数据库的内容提供者,联系人数据库有联系人数据库的内容提供者。拿到对应数据库的内容提供者就能够访问对应的数据库数据。...setContentView(R.layout.activity_main); } public void insert(View v){ //通过内容提供者把数据插入...people数据库 //拿到contentResolver来访问内容提供者 ContentResolver cr = getContentResolver();..." android:exported="true"> authorities="com.itheima.people"是一个地址,是内容提供者的地址,通过这个地址就可以访问到这个内容提供者

32640
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    内容提供者实现

    [android] 内容提供者实现 上一节的主机名类似网络上的域名,协议是content://,可以定义一下规则 content://主机名/insert 添加操作 content://主机名/delete...这个就是添加一组匹配规则 实现的主要方法 1.onCreate()方法 当内容提供者这个类开启的时候回调此方法,初始化数据库帮助对象如PersonSQLiteHelper 2.query(uri,projection...ContentProvider,明白这个原理之后,就要进入重点了,当我们要取出联系人的数据,短信的数据,浏览器书签的数据等的时候,我们就需要使用到它了,通过阅读源代码搞明白他们的Uri和需要传入的参数,更好的使用它 内容提供者...: package com.tsh.database; import android.content.ContentProvider; import android.content.ContentValues...; import android.content.UriMatcher; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase

    43420

    Android 进阶11:进程通信之 ContentProvider 内容提供者

    这个 ContentProvider 可以监听 URI 想要操作的内容Android 中为我们提供了 UriMatcher 来解析 URI。 权限 由于内容提供者要被不同应用访问,因此权限必不可少。...我们可以给内容提供者设置 “读/写”权限。 设置自定义权限分三步: 向系统声明一个权限 给要设置权限的组件设置需要这个权限 在想要使用上述组件的应用中注册这个权限 先定义权限 <permission android:name="top.shixinzhang.permission.READ_CONTENT" //指定权限的名称...URI 以及列名称 对应前面设计的数据库表名和字段名 如果想让内容提供者应用处理 Intent,则还要定义 Intent 操作、Extra 数据以及标志 还要定义想要访问该数据的应用必须具备的权限...--读内容提供者的权限--> <permission android:name="top.shixinzhang.permission.READ_CONTENT" android:label

    2.6K100

    安卓四大组件之ContentProvider-内容提供者

    在安卓中如果想将自己应用的数据(一般为自己数据库中的数据)提供给第三方的应用,那么我们只能通过内容提供者来实现。...:exported="true" android:name="com.itheima.contenProvider.provider.PersonContentPro vider"android:authorities...4、说说ContentProvider、ContentResolver、ContentObserver之间的关系 a.ContentProvider内容提供者,用于对外提供数据 b.ContentResolver.notifyChange...(uri)发出信息 c.ContentResolver内存解析者,用于获取内容提供者提供的数据 d.ContentObserver内容观察者,可以监听数据的改变状态 e.ContentResolver.registerContentObserver...()监听消息 对于使用内容提供者,可能因为没有具体的代码实例,会感到陌生,其实没关系的,如果要用的时候,我们随随便便网上看一眼就知道了,不要慌,哈哈

    62130

    安卓基础干货(九):安卓内容提供者的学习

    使用ContentProvider(内容提供者)共享数据 ContentProvider 在android中的作用是对外共享数据,也就是说你可以通过ContentProvider把应用中的数据共享给其他应用访问...android.content.ContentUris; import android.content.ContentValues; import android.content.UriMatcher...Uri主要包含了两部分信息: 1、需要操作的ContentProvider , 2、对ContentProvider中的什么数据进行操作,一个Uri由以下几部分组成: ContentProvider(内容提供者.../raw_contacts"); // 拿到内容提供者的解析器 ContentResolver resolver = context.getContentResolver...dataCursor.getString(0); // 获取mimetype_id String data = dataCursor.getString(1); // 获取data1 列的内容

    1.7K10

    Android 13 SDK更新内容

    从剪贴板中隐藏敏感内容:如果您的应用允许用户将敏感内容(例如密码或信用卡信息)复制到剪贴板,则必须在调用 ClipboardManager#setPrimaryClip() 之前向 ClipData 的...添加此标志可阻止敏感内容出现在内容预览中。(堵死通过剪贴板预览功能获取敏感信息的漏洞。)...在 Android 13 中,应用可以调用新的文本转换 API,以便用户更快、更轻松地找到所需内容。 Unicode库更新:针对多语种的开发者,需要了解的。国内开发,需要关注的不太多。...AGSL 与 GLSL 共用大部分语法,但可用于 Android 渲染引擎中以自定义 Android 画布中的绘制行为以及过滤 View 内容。可以用着色器来实现涟漪效果,模糊,以及拉伸滚动。...复制和粘贴方面的改进:向剪贴板中添加内容时,系统会显示标准视觉确认界面,以便用户预览和修改复制的内容。 新的系统级无障碍功能偏好设置:允许用户跨所有应用启用音频说明。

    2.1K10

    Android App常规测试内容

    以下是一些基本安卓 APP要测试的内容,根据不同时期测试内容不一样~ 测试内容测试类型目标冒烟测试Monkey 1.编写adb.exe 的Monkey 命令 2.通过logcat定位问题,保证软件的健壮性模糊测试...支持多种分辨率显示不同版本系统1.支持多种系统运行不同厂家定制系统1.支持多种系统运行不同尺寸1.支持多种尺寸显示不同屏幕1.支持多种屏幕显示不同网络1.支持多种网络运行联机调试测试eclipse +android...是否会影响程序正常流程病毒扫描测试 PC和手机工具检测安全测试腾讯金刚网测试 apk反编译 签名校验 完整性(MD5)校验 敏感信息泄漏 软键盘劫持 账号安全 服务端接口安全 数据通信安全 文件夹权限 xss注入 Android...操作修改系统时间对相关时间显示得功能或者时间判断的接口会出现异常按home键数据刷新或者加载,按home键,在进入,页面异常或者闪退数据跨年15年查找之前14年APP存储数据,数据显示异常或者闪退数据互通(Android...但对于测试过程要注意的内容,我觉得可以慢慢丰富起来,本章内容如有遗漏,可以评论,留言补充~

    1K10

    服务提供者框架示例

    服务提供者框架是指这样一个系统:多个服务提供者实现一个服务,系统为服务提供者的客户端提供多个实现,并把他们从多个实现中解耦出来。 组件 服务提供者框架中有三个重要的组件: 1....服务接口(Service Interface),这是提供者实现的; 2....服务访问API一般允许但是不要求客户端指定某种选择提供者的条件。如果没有这样的规定,API就会返回默认实现的一个实例。服务访问API是“灵活的静态工厂”,它构成了服务提供者框架的基础。...服务提供者框架的第四个组件是可选的:服务提供者接口(Service Provider Interface),这些提供者负责创建其服务实现的实例。...,Driver就是服务提供者接口。

    78830

    LSP(分层服务提供者

    运行原理: 套接字创建函数会在winsock目录中寻找合适的协议   调用此协议,的提供者导出的函数 完成各种功能。 编写目的: 让用户调用自定义的服务提供者,有自定义的服务提供者调用下层提供者。...服务提供者本身是DLL,导出一些与winsock API相对应的SPI函数。winsock库加载服务提供者时,便依靠这些函数来实现winsockAPI。...安装LSP: 实现LSP之前,要先将分层提供者安装到winsock目录,安装包括一个WSAPPROTOCOL_INFOW结构,定义了分层提供者的特性和LSP填写链的方式。...(也叫做协议入口) 协议链:   协议链描述了 分层提供者 加入winsock的目录的顺序。...LSP的WSAPROTOCOL_INFOW结构通常从它要分层的下层提供者拷贝 1 szProtocol域要修改,以包含新提供者的名称 2 如果包含XP1_IFS_HANDLES标识,要从dwServiceFlags1

    1.8K50

    Laravel 服务提供者指南

    Laravel 服务提供者指南 如果你使用过 Laravel 框架的话,那么,你不可能没听说过服务容器和服务提供者。...在学习服务提供者之前,简单介绍一下服务容器,服务容器会在服务提供者中被经常使用。...在服务提供者内部,这个工作被称之为服务容器绑定,绑定处理由服务提供者完成。 服务提供者实现了服务绑定,绑定处理则由 register 方法完成。...让我们先来看一个内容提供的服务提供者服务来理解它的运行原理。...注册自定义服务提供者 前面我们创建了一个自定义的服务提供者。接下来需要让 Laravel 知道如何让这个服务提供者同其它服务提供者一样在应用启动时被加载到 Laravel 中。

    1.8K00

    Android基础总结(6)——内容提供器

    目前,Android系统推荐使用一种更加安全可靠的内容提供器技术。...1、内容提供器的用法   内容提供器的用法一般有两种: 使用现有的内容提供器来读取和操作相应程序中的数据 创建自己的内容提供器给我们的程序的数据提供外部的接口 2、访问其他程序中的数据   当一个应用程序通过内容提供器对其数据提供了外部访问接口...ContentResolver中的CRUD方法都是不接受表名参数,而是使用一个Uri参数代替,这个参数被称为内容URI(给内容提供器中的数据提供了唯一的标识符,它主要由两部分组成:权限+路径。...如果内容 URI 以路径结尾,则后接 android.cursor.dir/,如果内容 URI 以 id 结尾,则后接 android.cursor.item/。 最后接上 vnd....示例如下,两种不同类型的内容URI的返回的类型如下: content://com.example.app.provider/table1 ==>vnd.android.cursor.dir/vnd.com.example.app.provider.table1

    1.2K90
    领券