Creating a Content Provider 英文原文:http://developer.android.com/guide/topics/providers/content-provider-creating.html 采集日期:2015-01-23 在本文中 设计数据存储形式 Content URI 设计 实现 ContentProvider 类 必需实现的方法 实现 query() 方法 实现 insert() 方法 实现 delete() 方法 实现 update() 方法 实…
天气说变就变,马上又变冷了,还好空气不错,阳光也不错,早起上班的车上的人也不多,公司来的同事和昨天一样一样的,可能明天会多一些吧,那就再来学习android吧.学了两个android的组件,这里学习下第三个android的组件,Content Provider内容提供器. Content Provider向我们提供了在不同应用程序之间的数据共享,比如微信啊,支付宝啊,想要获取手机联系人的信息,而手机联系人是另一个应用程序,那么这时候就需要用到Content Provider了.Content P…
目录 创建数据库和使用SQLite 使用Content Provider.Cusor和Content Value来存储.共享和使用应用程序数据 使用Cursor Loader异步查询Content Provider 在应用程序中添加搜索功能 使用原生的Media Store.Contact和Calander Content Provider 创建数据库和使用SQLite Android 通过结合使用SQLite数据库和ContentProvider,提供了结构化数据的持久化功能. SQLite数…
SQLite提供了强大的SQL数据库的库文件,从而使应用程序拥有一个具备完全控制权的健壮的持久化层. Content Provider实现在应用程序内和应用程序之间存储.共享和使用结构化数据.通过将数据存储层和应用层分离,Content Provider为各种数据源提供了一个通用的接口(用来发布数据). Android通过结合使用SQLite数据库和Content Provider,提供了结构化数据的持久化功能.每个应用程序都可以创建自己的数据库,并对真个数据库拥有完全的控制权.创建了底层数据存…
问题聚焦: 思想:应用程序数据的共享 对数据库的访问仅限于创建它的应用程序,但是事情不是绝对的 Content Provider提供了一个标准的接口,可供其他应用程序访问和使用其他程序的数据 下面我们由下向上来分析ContentProvider的处理流程: 1 数据库--SQLite 使用者:ContentProvider 映射:Content Value映射为数据库中的表的一行: 查询:Cursor,底层数据中的结果集的指针: 使用:SQLiteOpenHelper,抽象类,用于实现创建.打开…
一.Content Provider概述 Content Provider用于保存和获取数据,并使其对所有应用程序可见,这是不同应用程序之间共享数据的唯一方式,因为在Android中没有提供所有应用可以共同访问的公共存储区域 1.  Content Provider内部的数据如何保存是由其设计者决定的,而所有的的Content Provider都实现一组通用的方法,用来提供数据的增删改查操作 2.  客户端如果要使用这些操作方法,可以通过ContentProvider对象实现对 Content…
内容提供器(Content Provider)主要用于在不同的应用程序之间实现数据共享的功能,它提供了一套完整的机制,允许一个程序访问另一个程序中的数据,同时还能保证被访问数据的安全性.目前,使用内容提供器是 Android 实现跨程序共享数据的标准方式. 不同于文件存储和 SharePreferences 存储中的两种全局可读写操作模式,内容提供器可以选择只对哪一部分数据进行共享,从而保证我们程序中的隐私数据不会有泄露的风险. 访问其他程序中的数据: 对于每一个应用程序来说,如果想要访问内容提…
android中的应用开发很难避免不去使用数据库,这次就和大家聊聊android中的数据库操作. 一.android内的数据库的基础知识介绍 1.用了什么数据库 android中采用的数据库是SQLite这个轻量级的嵌入式开源数据库,它是用c语言构建的.相关简介可以从链接查看. 2.数据库基本知识观花 对于一些和我一样还没有真正系统学习数据库技术的同学来说,把SQL92标准中的一些基本概念.基本语句快速的了解一下,是很有必要的,这样待会用Android的database相关方法去执行一些数据库语…
Content Provider 版本 修改内容 日期 修改人 V1.0 原始版本 2013/2/25 skywang 1 URI 通用资源标志符(Universal Resource Identifier, 简称"URI"). URI由许多部分所组成,示例及解说如下: 2 Content URIs Content URIs就是Android遵照URI的标准,定义的一种专用的URI.Android提供了ContentUris.UriMatcher类来操作Content URIs. 2.…
目录截图: 1.activity_main.xml 主界面效果: <?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:scrollbars="vertical" android:layout_width="match_…
package com.example.db; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase.CursorFactory; import android.database.sqlite.SQLiteOpenHelper; public class PersonSQLiteOpenHelper e…
一.SQLite简介 Google为Andriod的较大的数据处理提供了SQLite,他在数据存储.管理.维护等各方面都相当出色,功能也非常的强大.SQLite具备下列特点: 1.轻量级 使用 SQLite 只需要带一个动态库,就可以享受它的全部功能,而且那个动态库的尺寸想当小. 2.独立性 SQLite 数据库的核心引擎不需要依赖第三方软件,也不需要所谓的"安装". 3.隔离性 SQLite 数据库中所有的信息(比如表.视图.触发器等)都包含在一个文件夹内,方便管理和维护. 4.跨平…
注意: 1.public Cursor rawQuery(String sql, String[] selectionArgs) Cursor游标是查询后返回的结果集合,游标的意思是指向集合中的某行. 该函数返回的cursor游标的初始位置是在-1,即在第一组数据之前,此时不可获取数据,否则会报错:CursorIndexOutOfBoundsException: Index -1 requested.在调用Cursor.moveToFirst()后,游标位置为0,此时可以取数据. 如果返回结果包…
replacements=[Ljava.lang.String;@4192fea8HARDWARE=hw7d501lmatchers=[Ljava.lang.String;@4192fe28RADIO=unknownHOST=screen2HIDE_PRODUCT_INFO=falseTAGS=release-keysID=HuaweiMediaPadMIN_VERSION_LENGTH=8MANUFACTURER=HUAWEITYPE=userTAG=BuildTIME=14238031100…
Android Content Provider Guides Content Providers管理对结构化数据集的访问.它们包装数据,并且提供一种定义数据安全的机制. Content providers是不同进程间数据连接的标准接口. 要获取content provider中的数据,需要运用你的应用中的 Context中的ContentResolver对象作为一个client来和provider交互. 这个provider对象是一个实现了ContentProvider接口的类的对象.Prov…
Contacts Provider 今年加入了某字幕组,加之杂事颇多,许久未添新文了,惭愧之极. 在听闻 Google 即将重返中国后,近日忽又发现官方网站正在放出 API 中文版,比如本文.当然不是大家所译,但至少句子结构较通顺,窃以为比 MSDN 中文版好些.虽有些生硬(比如将 Provider 译为“提供者”,有趣得紧),但好在前无古人,也许 Google 自此便统一了自己的中文术语也未可知.能让更多的国人精确领悟 Android 的精髓,肯定是好事,希望 Google 继续坚持. 这事应…
YS android手机APP对外开放多余的content provider,可任意增.删.改和查images数据库表格,导致隐私泄露 问题描述: YS android手机APP使用SQLITE数据库做数据存储,在android系统上可以通过content provider实现对SQLITE数据库的操作,通过drozer查看发现YS APP对外开放了content provider(经确认是不需要开放的),通过测试发现该provider对应images数据表,里面存放了用户名和用户保存在本地的图…
        在Android下,查询联系人.通话记录等,需要用到content provider.但是,调用content provider时,Android框架内部是如何做的呢?这一系列文章就是解决这个问题的,所采用的开发环境及源码都是基于Android 1.6版本. 概述 总的来说此问题分为两个步骤: 初始化content provider.这一阶段主要是参照AndroidManifest.xml,初始化content provider.注意这里只有当包含content provider…
Android Content Provider基础 Content Providers Content providers管理对一个结构化的数据集合的访问.它们封装了数据,并且提供了保护数据安全性的机制. Content providers是连接跨进程数据的标准接口. 当你需要访问一个content provider中的数据时: 你在应用的Context中,使用ContentResolver对象作为一个客户端(client),来和provider通信. 而provider是实现了Content…
Content Provider 在数据处理中,Android通常使用Content Provider的方式.Content Provider使用Uri实例作为句柄的数据封装的,很方便地访问地进行数据的增.删.改.查的操作.Android并不提供所有应用共享的数据存储,采用content Provider,提供简单便捷的接口来保持和获取数据,也可以实现跨应用的数据访问.简单地说,Android通过content Provider从数据的封装中获取信息. Content provider使用Uri…
如果你的应用中使用了Content Provider来与其他应用进行数据交互,你需要对Content Provider进行测试来确保正常工作. 创建Content Provider整合测试 在Android中,app将Content Provider视为数据API.一个Content Provider可能会有public 常量. Content Provider允许你访问真实的用户数据,所以必须在一个隔离的测试环境中来测试你的Content Provider.这就意味着你的测试不会更改真实的用户…
数据存储在开发中是使用最频繁的,根据不同的情况选择不同的存储数据方式对于提高开发效率很有帮助.下面笔者在主要介绍Android平台中实现数据存储的5种方式. 1.使用SharedPreferences存储数据 SharedPreferences是Android平台上一个轻量级的存储类,主要是保存一些常用的配置比如窗口状态,一般在Activity中 重载窗口状态onSaveInstance State保存一般使用SharedPreferences完成,它提供了Android平台常规的Long长 整…
每一个应用程序都有自己独立的运行沙盒(授予应用程序代码的访问权) Android操作系统是一个多用户的Linux系统,其中的每一个应用程序都是一个独立的用户. 系统会为每一个应用程序分配一个唯一的Linux用户ID,系统为一个应用程序的所有文件 设置了权限,所以,只有分配给这个应用程序的用户ID可以访问它们. 每一个进程有它主机的虚拟机 (VM), 所以一个应用程序的代码会独立与其它的应用程序运行. 每一个应用程序在它自己的Linux进程中运行.当没有任何组件被调用或者系统需要为其它应用程序回收…
<path-permission> 英文原文:http://developer.android.com/guide/topics/manifest/path-permission-element.html 采集(更新)日期:2014-7-1 搬迁自原博客:http://blog.sina.com.cn/s/blog_48d491300100zmut.html 语法: <path-permission android:path="string" android:path…
Content Provider Basics 英文原文:http://developer.android.com/guide/topics/providers/content-provider-basics.html 采集日期:2015-01-07 在本文中 概述 访问 Provider Content URI 从 Content Provider 读取数据 申请读取权限 建立查询请求 显示查询结果 从查询结果中获取数据 Content Provider 相关权限 插入.修改.删除数据 插入数…
Content Providers 英文原文:http://developer.android.com/guide/topics/providers/content-providers.html 采集日期:2015-01-07 文章目录 Content Provider 基础 创建 Content Provider Calendar Provider Contact Provider 相关示例 Contact Manager 应用 “游标(联系人)” “游标(电话)” Sync Adapter…
android平台提供了Content Provider,将一个应用程序的指定数据集提供给其它应用程序.这些数据可以存储在文件系统.SQLite数据库中,或以任何其它合理的方式存储.其他应用可以通过ContentResolver类从该内容提供者中获取或存入数据. Content Provider通过URI(统一资源定位符)来访问数据,URI可以理解为访问数据的唯一地址. 限制app对敏感Content Provider的访问 Content Provider类提供了一种机制用来管理以及与其它应用…
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6950440 文简要介绍了Android应用程序组件Content Provider在应用程序间共享数据的原理,但是没有进一步研究它的实现.本文将实现两个应用程序,其中一个以Content Provider的形式来提供数据访问入口,另一个通过这个Content Provider来访问这些数据.本文的例子不仅可以为下文分析Content Provi…
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6946067 在Android系统中,Content Provider作为应用程序四大组件之一,它起到在应用程序之间共享数据的作用,同时,它还是标准的数据访问接口.前面的一系列文章已经分析过 Android应用程序的其它三大组件(Activity.Service和Broadcast Receiver)了,本文将简要介绍Content Provid…
SQLite是一种转为嵌入式设备设计的轻型数据库,其只有五种数据类型,分别是: NULL: 空值 INTEGER: 整数 REAL: 浮点数 TEXT: 字符串 BLOB: 大数据 在SQLite中,并没有专门设计BOOLEAN和DATE类型,因为BOOLEAN型可以用INTEGER的0和1代替true和false,而DATE类型则可以拥有特定格式的TEXT.REAL和INTEGER的值来代替显示,为了能方便的操作DATE类型,SQLite提供了一组函数,详见:http://www.sqlite…