ContentProvider(一)】的更多相关文章

一.ContentProvider保存数据介绍 一个程序可以通过实现一个ContentProvider的抽象接口将自己的数据完全暴露出去,而且ContentProvider是以类似数据库中表的方式将数据暴露的.那么外界获取其提供的数据,也就应该与从数据库中获取数据的操作基本一样,只不过是采用URL来表示外界需要访问的"数据库". ContentProvider提供了一种多应用间数据共享的方式. ContentProvider是个实现了一组用于提供其他应用程序存取数据的标准方法的类.应用…
一.前言 掌握了如何使用SQLiteOpenHelper之后,我们就可以进行下一步的学习.本章我们将会学习如何使用ContentProvider来将数据库方面的操作封装起来,同时它还可以供其他应用访问并操作数据库. 二.概念 首先我们不会急于写代码,而是要搞懂如何利用ContentProvider对数据库进行操作,因为我们不会直接操作数据库对象,而是通过URI来操作数据库.这就好比你要获取User表的全部内容,那么这个URI就是content://base/user其中base是自己命名的,最好…
开发项目域名想怎么换就怎么换,就是这么任性! 这是一个很有意思的小工具! 这是一个方便开发人员和测试人员的小工具!! 吐槽: 一直在做Android开发,一直总有一个问题存在:做自己公司的apk开发时,线上包和测试包不可兼得~总是在 卸载.安装.卸载.安装...的循环操作.很是麻烦,而且另外一个不得不正视的问题就是:只要跟服务端人员进行联调时,就得修改项目中的测试域名,重新打包,也是够麻烦的.最近报名了公司的一个服务,就不得不使用线上包了,被逼无奈想起了这个小设计. 原理: 使用ContentP…
* 应用的数据库是不允许其他应用访问的* 内容提供者的作用就是让别的应用访问到你的数据库.把私有数据暴露给其他应用,通常,是把私有数据库的数据暴露给其他应用. Uri:包含一个具有一定格式的字符串的对应资源的类* 自定义内容提供者,获取私有数据库,暴露数据.继承ContentProvider类,重写增删改查方法,在方法中写增删改查数据库的代码,举例增方法        @Override        public Uri insert(Uri uri, ContentValues values…
一.SQLite 1.基本操作: (1)创建数据库:在SQLiteOpenHelper的子类构造器中创建. (2)创建表:在SQLiteOpenHelper的子类onCreate方法中,调用execSQL方法实现. (3)增.删.改.查:分别调用SQLiteDatabase的insert.delete.update.query方法,又或者在execSQL方法中使用SQL语句来实现相应功能. 2.利用事务对数据库进行操作 (1)先开启事务db.beginTransaction(),接着执行操作 (…
Android官方文档介绍的数据存储方式共有五种,sqlite,SharedPreferences,网络存储,外储存储,文件存储,但是这些数据都无法进行共享,那么我们就引入了今天的主角:ContentProvider ContentProvider:为我们的应用程序之间提供了共享数据的一种机制,比如获取手机里面的通话记录,通讯录,多媒体,图片等; ContentProvider为数据的存储和获取数据提供了统一的数据接口,它对数据进行了封装,我们不用关心数据存储的细节; 使用ContentProv…
Android 应用程序通过ContentProvider实现方式统一的数据共享功能. 外界的程序通过ContentResolver接口可以访问ContentProvider提供的数据,在Activity当中通过getContentResolver()可以得到当前应用的 ContentResolver实例. 参考文章 Android ContentProvider和getContentResolver…
package com.example.android.provider; import java.util.ArrayList; import java.util.HashMap; import java.util.Map; import android.app.Activity; import android.content.ContentValues; import android.database.Cursor; import android.net.Uri; import androi…
前言: 总结这篇文章之前我们先来回顾一下Android Sqlite数据库,参考文章:http://www.cnblogs.com/whoislcj/p/5506294.html,Android程序内部数据存储如果使用Sqlite数据库,那么Android 如何实现程序间数据共享?Android 提供了一种机制可以实现程序间的数据共享,它就是Android 四大组件之一ContentProvider,Android为存储和获取数据提供统一的接口,用于实现程序间数据共享,不要将其理解为数据库. 为…
前言 ContentProvider作为Android的四大组件之一,是属于需要掌握的基础知识,可能在我们的应用中,对于Activity和Service这两个组件用的很常见,了解的也很多,但是对ContentProvider所知却甚少,所以有必要去整理归纳下其中的内容,讲讲为什么要用ContentProvider这个组件.ContentProvider是什么.ContentProvider用法如何,让大家对ContentProvider有个整体上的理解,方便以后在开发过程中如果忘记了可以及时回顾…
Provider的不常见访问方式 Batch access:访问ContentProvider的一中模式,使用该模式可以同时对provider进行多个操作,且支持同时操作多个表.使用时首先构建一个ContentProviderOperation序列,然后使用ContentResolver.applyBatch方法把这些操作分发到provdier中,调用applyBatch参数时需要传入provider的authority而不是某个表的Uri,这样就可以使得不同的operation查询不同的表.…
一.相关ContentProvider概念解析: 1.ContentProvider简介在Android官方指出的Android的数据存储方式总共有五种,分别是:Shared Preferences.网络存储.文件存储.外储存储.SQLite.但是我们知道一般这些存储都只是在单独的一个应用程序之中达到一个数据的共享,有时候我们需要操作其他应用程序的一些数据,例如我们需要操作系统里的媒体库.通讯录等,这时我们就可能通过ContentProvider来满足我们的需求了. 2.为什么要选择Conten…
实验内容 学习ContextProvider用法 编码实现简单ContextProvider功能 实验要求 通过简单代码了解ContextProvider功能和用法 实验步骤 ContextProvider概述 主要用于对外共享数据,也就是通过ContentProvider把应用中的数据共享给其他应用访问,其他应用可以通过ContentProvider对指定应用中的数据进行操作.ContentProvider分为系统的和自定义的,系统的也就是例如联系人,图片等数据. ContextProvide…
转自:http://cthhqu.blog.51cto.com/7598297/1281217 1. ContentProvider的概述 ContentProvider: (Official Definition)Content providers manage access to a structured set of data. They encapsulate the data, and provide mechanisms for defining data security. Con…
借用ContentResolver类访问ContentProvider中共享的数据.通过getContentResolver()方法获得该类的实例. ContentResolver中的方法:insert().updata().delete().query() ContentResolver中增删改查方法传入的是Uri(权限.路径):content://com.examlple.app.provider/table1 获得Uri字符串之后,需要将其解析成Uri对象才能作为参数传入,调用Uri.pa…
ContentProvider调用关系: ContentProvider(数据提供者)是应用程序之间共享数据的一种接口机制,是一种更为高级的数据共享方法. ContentProvider可以指定需要共享的数据,而其他应用程序则可以在不知道数据来源.路径的情况下,对共享数据进行增删改查等操作. 在Android系统中,许多Android系统内置的数据也是通过ContentProvider提供给用户使用,例如通讯录.音视频文件和图像文件等. 相关概念介绍 1)ContentProvider简介   …
1.什么情况下需要使用ContentProvider 跨进程提供数据访问的接口,如果在同一个App下,没有必要使用此种方式 2.自定义ContentProvider public class MyContentProvider extends ContentProvider { private MyDbHelper helper; //Sqlite帮助类 private SQLiteDatabase db; private static UriMatcher matcher; private s…
一.什么是ContentProvider? ContentProvider直译过来就是内容提供者,主要作用就是A应用提供接口给B应用调用数据,和之前介绍的sharedPreference和直接开放文件访问类似,都是共享应用程序数据,不同的是之前的两种文件格式可能完全不同,如可能为xml,txt,sql等等,这里ContentProvider返回的数据格式是统一的,因此应用的更为广泛一点. 二.实例 这里使用的是A应用通过ContentProvider共享数据给B应用.这里A应用用的是前文中的an…
在Android中数据的存储一共有五种形式,分别是:Shared Preferences.网络存储.文件存储,外储存储.SQLite.但是我们知道一般这些存储都只是在单独的一个应用程序之中达到一个数据的共享.而使用ContentProvider共享数据的好处是统一了数据访问方式.ContentProvide对数据进行封装,不用关心数据存储的细节.下面我们通过代码来介绍这个ContentProvider的使用过程. public class ItemContentProvier { /*Autho…
ContentProvider要点复习 ContentProvider作为四大组件之一,发挥着举足轻重的作用.与之相关联的另外两个类分别是ContentResolver和ContentObserver. ContentProvider 内容提供者,暴露数据和操作数据的方法给外界,如联系人.短信.多媒体等数据库中的数据,是一种数据共享的方法. 使用ContentProvider需要继承该类并注册在清单文件,并且指明其authorities属性以指定外界的访问"路径",exported属性…
1.介绍android的数据存储方式 File存储 sharedPrefrence存储方式 conmtentprovider sqlitedatabase 网络存储   2.请介绍下ContentProvider是如何实现数据共享的 安卓中如果想将自己应用程序的数据暴露给其他的应用程序的时候就需要创建内容提供者.第三方可以通过contentResolver来访问该provider   3.为什么要使用ContentProvider?它和sql的实现上有什么差别? ContentProvider屏…
个人记录 public class DataBaseContentProvider extends ContentProvider { private SQLiteOpenHelper mSQLiteOpenHelper; private SQLiteDatabase db; /** * URI */ private static final UriMatcher URIMATCHER = new UriMatcher( UriMatcher.NO_MATCH); private static…
ContentProvider:即内容提供者,用来管理数据,并对外暴露一个uri,外部可以通过uri和数据建立联系并获取或操作数据: 服务端:1.首先创建一个数据库类,并创建一个表:2.创建一个ContentProvider,用来操作这个数据库和表,实现增删改查和获取所有表里的数据信息:然后注册uri(对外暴露),其他客户端可以通过ContentResolver和对外暴露的uri使用ContentProvider来操作数据库并获取数据 客户端:1.创建一个工具类,通过ContentResolve…
ContentProvider数据访问详解 Android官方指出的数据存储方式总共有五种:Shared Preferences.网络存储.文件存储.外储存储.SQLite,这些存储方式一般都只是在一个单独的应用程序中实现数据的共享,而对于需要操作其他应用程序中的数据时(如媒体库.通讯录等),可能就需要借助ContentProvider了. 1.ContentProvider ContentProvider为存储和获取数据提供了统一的接口,使用表的形式来对数据进行封装,使得开发者在后续的开发过程…
因为短信的内容已经通过ContentProvider暴露出来,所以我们可以直接用内容解析者获取短信内容. 想要获取短信内容,你需要知道的一些东西: 1.Uri uri = Uri.parse("content://sms/"); 2.Cursor cursor = getContentResolver().query(uri,new String[]{"address","date","body"},null,null,nul…
作用:把一个App中的数据库通过Url的形式共享出来,供其他App使用. 首先在App1中创建一个数据库,用SQLiteOpenHelper public class MyOpenHelper extends SQLiteOpenHelper { public MyOpenHelper(Context context){ super(context,"Account.db",null,1); } @Override public void onCreate(SQLiteDatabase…
什么是ContentProvider: ContentProvider用来管理数据的访问规则.它允许你的应用程序向外界暴露需要被访问的数据. 是Android的四大组件之一. ContentProviders支持四种基本的操作,即我们平时所见到的CRUD操作(增删改查).Android系统 本身已经提供了一些内容提供者,它们允许我们查询联系人,媒体库,和短息消息等. 基于Content Uri的查询: 没有Uri,ContentProvider 类基本无法工作,就像我们上网没有网址.当我们要上网…
1.listview入门,自定义的数据适配器 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent&…
1.获取音乐 1-1:获取手机中的音乐(用ContentProvider内容提供者来完成): package com.firefly.util; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import android.content.Context; import android.database.Cursor; import an…
一.使用ContentProvider(内容提供者)共享数据 ContentProvider在android中的作用是对外共享数据,也就是说你可以通过ContentProvider把应用中的数据共享给其他应用访问,其他应用可以通过ContentProvider对你应用中的数据进行添删改查.关于数据共享,以前我们学习过文件操作模式,知道通过指定文件的操作模式为Context.MODE_WORLD_READABLE或Context.MODE_WORLD_WRITEABLE同样也可以对外共享数据.那么…