6.6_数据共享第6章Android数据共享数据共享的定义数据共享又叫作ContentProviders,它是所有应用程序之间数据存储和检索的一个桥梁,当数据需要在应用程序之间共享;在Android中,ConentProviders是一种特殊的存储数据的类型,它提供了一套标准的接口来获取、操作数据。。我们上面说到了在android中使用ContentProvider来将应用程序自己的数据共享给其他应用程序,那么究竟是如何实现数据的共享的呢?Android提供了ContentProvider,一个程序可以通过实现一个Contentprovider的抽象接口将自己的数据完全暴露出去,而且Contentproviders是以类似数据库中表的方式将数据暴露。但是在学习ContentReslover之前,我们需要重新了解下URI的相关知识。URI与URL在Android中广泛应用URI,而不是URL。URL标识资源的物理位置,相当于文件的路径;而URI则是标识资源的逻辑位置,并不提供资源的具体位置。我们先看下面这个例子:A:标准前缀,用来说明一个ContentProvider控制这些数据B:URI的标识,它定义了是哪个ContentProvider提供这些数据C:路径,ContentProvider使用这些路径来确定当前需要生什么类型的数据D:如果URI中包含,表示需要获取的记录的ID;如果没有ID,就表示返回全部ContentResolver是通过URI来查询ContentProvider中提供的数据。应用程序通过一个唯一的ContentReslover接口来使用具体的某个ContentProviders。ContentReslover主要接口Insert()方法用来插入数据,最后返回新插入数据的URI。Delete()和update()方法用于数据的删除和修改操作,返回所影响数据的数目。Query()方法是对数据进行查询的方法,最终将查询的结果包装入一个Cursor对象并返回。。我们使用一个公共的静态常量my_URI来代表URI地址,需要注意这个地址必须是唯一的。如下代码段所示:PublicstaticfinalUrimy_URI=(“content://”)部分代码如下:lassCH6_5extendsActivity{publicvoidonCreate(BundlesavedInstanceState){(savedInstanceState);setContentView();ContentValuesvalues=newContentValues();(,"TITLE1");(,"Notenote1");getContentResolver().insert(,values);();(,"title2");(,"NoteNote2");getContentResolver().insert(,values);运行截图如下:!
6.6 数据共享 来自淘豆网m.daumloan.com转载请标明出处.